如何解决应用程序验证“该应用程序在Payload / MyApp.app / MyApp中引用了非公共选择器:_setAlwaysRunsAtForegroundPriority:”?

时间:2019-01-25 22:30:50

标签: ios xcode ionic3 app-store

就在几天前,我已经成功将Ionic应用程序上传到Apple Store,并且在这一天,我收到验证警告:

  
    

该应用在Payload / something.app / something中引用了非公共选择器:_setAlwaysRunsAtForegroundPriority:

  

无法解决问题时,我却可以将应用上传到App Store。

有人知道它在哪里记录或对如何解决有任何见解?

谢谢。

7 个答案:

答案 0 :(得分:8)

扩展@VégerLóránd答案:

该错误已在4.1.1版本中重新引入。安装最新版本将使您的应用程序被拒绝。 现在的解决方案是:

cordova plugin rm cordova-plugin-ionic-webview
cordova plugin add cordova-plugin-ionic-webview@4.1.0

答案 1 :(得分:5)

我遇到了类似的问题:

  

ITMS-90338:非公共API用法-该应用在MyAppName:_setAlwaysRunsAtForegroundPriority:中引用了非公共选择器。

问题是由以下插件引起的:cordova-plugin-ionic-webview

要解决此问题,请使用以下命令将其更新到最新版本:

cordova plugin rm cordova-plugin-ionic-webview
cordova plugin add cordova-plugin-ionic-webview@latest

您可以在此处了解更多信息:https://github.com/ionic-team/cordova-plugin-ionic-webview/issues/209

答案 2 :(得分:3)

这仅是由Webview引起的安全警告。您可以忽略

答案 3 :(得分:1)

这有效

问题与网络视图有关。

cordova plugin rm cordova-plugin-ionic-webview
cordova plugin add cordova-plugin-ionic-webview@latest

答案 4 :(得分:0)

我觉得这个警告是因为您使用的是私有API,这可能会让您从App Store中被踢出。来自https://developer.apple.com/app-store/review/guidelines/

  

2.5.1应用只能使用公共API,并且必须在当前发布的OS上运行。

恐怕答案是您需要停止使用它,并解决仅使用公共API所使用的问题。

答案 5 :(得分:0)

现在在Appstore上被拒绝。 2019年7月3日。 讯息:

We identified one or more issues with a recent delivery for your app, "appname. Please correct the following issues, then upload again. ITMS-90338: Non-public API usage - The app references non-public selectors in Sonnenbraeu: _setAlwaysRunsAtForegroundPriority:. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above ...

如上所述,我从代码中删除了_setAlwaysRunsAtForegroundPriority:的整行。也是对它的引用。是的,该应用已发布。但是我不完全了解删除将浏览器设置为前台优先模式的属性的后果。我认为这不是一个很好的解决方案,它只是一个临时的解决方法,可以发布。

答案 6 :(得分:0)

ITMS-90338:非公共API用法-该应用在XXXXXX中引用了非公共选择器:_setAlwaysRunsAtForegroundPriority :。如果您的源代码中的方法名称与上面列出的专用Apple API相匹配,则更改您的方法名称将有助于防止该应用在以后的提交中被标记。另外,请注意,上述API中的一个或多个可能位于应用程序随附的静态库中。如果是这样,则必须将其删除。如果您认为此消息是错误发送的,并且您仅按照指南使用了Apple发布的API,请将应用的Apple ID以及有关您为何认为上述API被错误标记的详细信息,发送至appreview @ apple .com。

  

cordova插件rm cordova-plugin-ionic-webview
cordova插件添加   cordova-plugin-ionic-webview @ latest