我試圖手動進我的主幹應用到一個UIWebView的JavaScript(爲了從下載1MB JS文件的應用啓動時保存客戶端)。UIWebView中的javascript只發行失敗的建立
下面的代碼工作完全正常的調試版本的應用程序,但只要建立一個特設發佈版本和測試出來,應用程序不能正常加載。我認爲這是一個JS錯誤,但我不知道如何調試在發佈版本中運行的UIWebview(Safari開發工具只能在Debug中工作,據我所知)。
- (void)webViewDidFinishLoad:(UIWebView *)webView {
// Inject the JS
NSLog(@"Injecting JS 1 from disk");
NSString *path = [[NSBundle mainBundle] pathForResource:@"backbone_application" ofType:@"js"];
NSString *code = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
NSString *jsCode = [NSString stringWithFormat:@"var script=document.createElement('script'); script.type='text/javascript'; script.text=\"%@\"; document.head.appendChild(script);", code];
[self.webPortal stringByEvaluatingJavaScriptFromString:jsCode]
}
上爲什麼會在釋放模式沒有任何想法? 任何關於如何在發佈版本中測試UIWebview javascript錯誤的建議?
我想兩兩件事至今:1)設置運行應用程序的構建配置發佈,但我得到一個Xcode錯誤:「無法啓動'MyApp';未能獲得進程4910的任務」; 2)將檔案的構建配置設置爲調試,並通過iTunes在設備上創建和安裝IPA文件。它開始安裝,然後彈出「iTunes Sync:'MyApp'安裝失敗。」所以運行'相反'的構建配置似乎是不可能的。 –
聽到這個很難過。爲了更好地理解可能存在的問題,你說它在DEBUG構建中運行良好。你如何測試它?用模擬器還是直接用設備?然後你正在用RELEASE模式生成一個.IPA,當試圖通過iTunes在同一個設備上安裝它失敗時,應用程序是否運行,但似乎不加載JS,或者根本不工作? – CoderPug
感謝您的快速回復!是的,它在調試版本中運行良好。我的意思是,在應用程序啓動時,我加載主頁(其中不包括任何JS),在負載完成後,我注入JS(包括JS庫+我們自己的函數,等等),然後調用應用程序。 start()啓動骨幹應用程序。這一切都在開發中。當我在釋放模式下生成.IPA並通過iTunes安裝時,我通常運行應用程序,它執行相同的操作(加載頁面,注入JS,並調用App.start()),但沒有任何反應。由於它是一個發佈版本,我無法調試JS。 –