2015-05-14 100 views
1

我工作的一個項目,其中,我有UIWebView,我需要調用網頁上的一些JavaScripts在這個UIWebView和特定JavaScript會打電話給我的Objective-C本地方法。Apple是否允許在App Store中使用JavaScript上下文?

爲了做到這一點,我是從UIWebView獲取contextObjective-C對象設置爲context這個對象,我取的JavaScript和在JavaScript中,對象我打電話這種功能/方法的Objective-c

下面是我在上面使用做的代碼,

JSContext *context = nil; 
    context = [_webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"]; 

// enable error logging 
[context setExceptionHandler:^(JSContext *context, JSValue *value) { 
    NSLog(@"WEB JS: %@", value); 
}]; 

context[@"MyObj"] = self; 

所以我簡單的問題是,這樣做的這種方式是否正常,在蘋果商店的條款。我的意思是,有什麼可以導致我的應用程序被拒絕我的Apple對於應用程序商店

謝謝。

回答

0

目前在App Store指南中沒有任何內容會禁止您打算執行的操作。

即使通過Web視圖中的JavaScript啓動Web服務器功能的能力也是常見行爲。

您的應用程序在沙箱中運行,因此任何安全問題都僅限於您的應用程序。您不會向您的應用添加代碼,這是嚴格禁止的。您只需簡單地包含稍後可能調用的功能。

+0

感謝您的快速回復亞當斯,如果它確定,那麼相信我這對我來說會是如此的寬慰。 – Suryakant

+0

@SuryakantSharma,應用程序提交過程如何?它被批准了嗎? – prijupaul

+1

@prijupaul它是一個iOS'SDK'我在那些日子裏工作,現在很多應用程序都在使用它,到目前爲止沒有任何人抱怨它......所以這很好。 – Suryakant

0

簡短的回答是,它取決於誰審查你的應用程序。

我有一些應用程序可以執行非常相似的操作,而且它們都沒有問題的批准。由於JavaScript被認爲是「可下載的可執行代碼」,因此我拒絕其他應用程序執行相同的操作。

爲了回答你的具體問題,我不相信你在Objective-C代碼中做什麼會導致Apple審查出現問題,但取決於JavaScript的來源,可能會這樣。

底線是蘋果的審查指南仍然被蘋果公司的人解讀,而且這種解釋並不完全一致。

+0

Picciano感謝您的快速回復,我將'JavaScript'作爲API調用響應,它的作用是「簡單地點擊Web頁面中的按鈕並相應地調用'Objective-c'本機函數。 – Suryakant

相關問題