我正在开展一个项目,其中UIWebView
我需要在此JavaScripts
的网页上调用一些UIWebView
,并且JavaScript
}将调用我的Objective-C
原生方法。
为此,我从context
抓取UIWebView
并将我的Objective-C
对象设置为context
此对象我正在抓取JavaScript
和在JavaScript中,对象I使用此函数/方法调用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 Store而言,这样做是否合适。我的意思是,有什么东西会导致我的应用被拒绝 Apple App Store 吗?
感谢。
答案 0 :(得分:0)
App Store指南中目前没有任何内容可以禁止您打算执行此操作。
从Web服务器启动功能的能力,即使是通过Web视图中的JavaScript,也是常见行为。
您的应用是在沙盒中运行的,因此任何安全问题仅限于您的应用。您没有在您的应用中添加代码,这是严格禁止的。您只需包含稍后可能调用的功能。
答案 1 :(得分:0)
简短的回答是,这取决于谁评论您的应用。
我的应用程序执行非常类似的操作,并且它们被批准没有问题。由于JavaScript被认为是“已下载的可执行代码”,因此其他应用程序因执行相同操作而被拒绝。
要回答您的具体问题,我不相信您在Objective-C代码中所做的事情会导致Apple审核时出现问题,但可能会取决于JavaScript的来源。
最重要的是,苹果公司的评论指南仍然由人类解释,而且这种解释并不完全一致。