【问题标题】:Does Apple Allow to use JavaScript context in App Store?Apple 是否允许在 App Store 中使用 JavaScript 上下文?
【发布时间】:2015-07-26 00:03:38
【问题描述】:

我正在做一个项目,其中我有UIWebView,我需要在此UIWebView 的网页上调用一些JavaScripts,而那个特定的JavaScript 将调用我的Objective-C 本机方法。

为此,我从UIWebView 获取context 并将我的Objective-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 Store 而言,这种方式是否可行。我的意思是,是否有什么东西会导致我的应用在 App Store 中被我的 Apple 拒绝?

谢谢。

【问题讨论】:

    标签: ios objective-c uiwebview app-store appstore-approval


    【解决方案1】:

    简短的回答是,这取决于谁评论了您的应用。

    我有一些应用程序做的事情非常相似,并且它们被批准没有问题。我有其他应用因为做同样的事情而被拒绝,因为 JavaScript 被认为是“下载的可执行代码”。

    为了回答您的具体问题,我认为您在 Objective-C 代码中所做的操作不会导致 Apple 的审核出现问题,但根据 JavaScript 的来源,这可能会出现问题。

    最重要的是,Apple 的审核指南仍然由 Apple 的人来解释,而且这种解释并不完全一致。

    【讨论】:

    • Picciano 感谢您的快速回复,我收到 'JavaScript' 作为 API 调用响应,它的作用是“简单点击网页中的按钮并调用 'Objective-c' 本机相应地发挥作用”。
    【解决方案2】:

    App Store 指南中目前没有任何内容禁止您打算做的事情。

    从网络服务器启动功能的能力,即使是通过网络视图中的 JavaScript,也是常见的行为。

    您的应用在沙盒中运行,因此任何安全问题都仅限于您的应用。您没有向您的应用程序添加代码,这是严格禁止的。您只是包含了可能在以后调用的功能。

    【讨论】:

    • 感谢 Adams 的快速回复,如果可以的话,相信我,这对我来说是一个很大的安慰。
    • @SuryakantSharma,应用提交的情况如何?批准了吗?
    • @prijupaul 这是一个 iOS SDK 那些日子我正在工作,现在很多应用程序都在使用它,到目前为止没有人抱怨它......所以很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-06
    • 1970-01-01
    • 2015-11-15
    相关资源
    最近更新 更多