Xcode6 UIWebView與JavaScript互動(issue fix),xcode6uiwebview
這篇文章中,有介紹UIWebView與JavaScript互動,在UIWebView截獲JavaScript請求處理,從app的角度,這是JavaScript的Hook請求。
在Xcode6之前的App版本,JavaScript可以這樣將Hook請求發送出來:
HTML:
<li><a href="testapp://function=test&callbackJS=testCallback">test link</a></li>
JavaScript:
<script language="JavaScript" type="text/javascript"> function xcode6(){var url = apptest://function=test&callbackJS=testCallback;location.href = url; }</script><li><a href="Javascript:xcode6();">Xcode6 Javascript</a></li>
在Xcode6的App中,發現通過JavaScript的改變href的方法,不可用了。從app的角度, (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType,並不會被調用。
通過escape URL, 來解決該問題:
<script language="JavaScript" type="text/javascript"> function xcode6(){var url = 'apptest://'+escape('function=test&callbackJS=testCallback');location.href = url; }</script><li><a href="Javascript:xcode6();">Xcode6 Javascript</a></li>
ios UIWebView,javascript怎調用系統服務?
ios下最通用的互動辦法是通過URL Scheme實現webview可以通過shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType處理各種URL Scheme舉個例子:- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
NSLog(@"shouldStartLoadWithRequest called");
NSURL *url = [request URL];
if (![[url scheme] isEqualToString:CUSTOM_PROTOCOL_SCHEME]) {
return YES;}NSString *actionType = [url host];
if ([actionType isEqualToString:@"alert"]) {
NSLog(@"alert called");
NSString *JSONString = [
[[url fragment] stringByReplacingOccurrencesOfString:@"+" withString:@" "]stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[iToast makeText:NSLocalizedString(JSONString, @"")] show];}return NO;}這樣在js端就可以:var url=schema + "://alert" + "#" + encodeURIComponent(msg);
document.location = url;調用object c更新相反方向可以:
UIWebView問題一個,快現身
這是很難做出明確。因為大多數的3000主板必須充電之前可以將它們儲存,一旦電源被關閉時,主板將自動還原一個真正的國家將無法識別您的盜版遊戲。這是正常的。一般銷售機的老闆在你的軟體簽名刷機軟體(簽字真正的系統識別和運行),已耗用時間就可以破解,並能夠識別遊戲。但是,你也說,你和你的兄弟刷,這到底是怎麼刷的刷成什麼樣,說不清楚。說,當你購買機器的老闆上帝,而不是打擾到你的帳號在您的機器上,這樣的訓練和準備,然後你把錢扔到老闆留下嗎?沒有相互溝通一下?