itunes存储操作失败,应用程序引用了有效负载中的非公共选择器:setResult; taskWithResult

我在使用Xcode上传到app-store时遇到错误:

itunes store operation failed the app references non-public selectors in payload: setResult; taskWithResult 

参考iOS应用程序 – 非公共API使用 – 应用程序引用非公共选择器:cancelButtonClicked,setResult:

我发现:PatienPortal_ios_build_new jenkins $ grep -Rnis’etResult:’*

 Binary file build/Physician Portal.xcarchive/Products/Applications/Physician Portal.app/Physician Portal matches Binary file node_modules/cordova-plugin-facebook/src/ios/Bolts.framework/Bolts matches node_modules/cordova-plugin-facebook/src/ios/Bolts.framework/Headers/BFTaskCompletionSource.h:37:- (void)setResult:(id)result; node_modules/cordova-plugin-facebook/src/ios/Bolts.framework/Headers/BFTaskCompletionSource.h:63:- (BOOL)trySetResult:(id)result; Binary file node_modules/cordova-plugin-facebook/src/ios/FBSDKCoreKit.framework/FBSDKCoreKit matches Binary file platforms/ios/DerivedData/Build/Intermediates.noindex/ArchiveIntermediates/Physician Portal/IntermediateBuildFilesPath/Physician Portal.build/Release-iphoneos/Physician Portal.build/Objects-normal/arm64/Physician Portal matches Binary file platforms/ios/DerivedData/Build/Intermediates.noindex/ArchiveIntermediates/Physician Portal/IntermediateBuildFilesPath/Physician Portal.build/Release-iphoneos/Physician Portal.build/Objects-normal/armv7/Physician Portal matches Binary file platforms/ios/Physician Portal/Plugins/cordova-plugin-facebook/FBSDKCoreKit.framework/FBSDKCoreKit matches Binary file plugins/cordova-plugin-facebook/src/ios/Bolts.framework/Bolts matches plugins/cordova-plugin-facebook/src/ios/Bolts.framework/Headers/BFTaskCompletionSource.h:37:- (void)setResult:(id)result; plugins/cordova-plugin-facebook/src/ios/Bolts.framework/Headers/BFTaskCompletionSource.h:63:- (BOOL)trySetResult:(id)result; Binary file plugins/cordova-plugin-facebook/src/ios/FBSDKCoreKit.framework/FBSDKCoreKit matches 

这意味着问题归因于Facebook插件!

此外,我将我的包ID添加到.plist参考https://developers.facebook.com :

 CFBundleURLTypes   CFBundleURLSchemes  fbxxxxxx    FacebookAppID xxxxx FacebookDisplayName PC360-PatientPortal 

不过,我得到同样的错误! 所以,请帮助我,我被困住了,接下来该怎么办?

注意:我正在使用Xcode 9并使用Jenkins构建Cordova项目。

您必须在解决方案中心联系Apple并告诉他们您没有使用任何私有API,然后解释调用setResult和taskWithResult是对Facebook Bolts SDK的调用,而不是对私有API的调用。

您可以尝试向他们发送在Facebook SDK站点上打开的错误报告的链接。

这通常可行,但如果它不起作用,你将不得不删除插件添加该SDK并尝试使用另一个不使用螺栓的插件。

人们抱怨应用程序被拒绝的另一个问题

得到了Apple团队的以下回复:

你好Ashish,

感谢您花时间与我们联系,了解您在尝试将新版本上传到iTunes Connect时遇到的错误。 我的名字是玛丽亚,我很高兴能指出你正确的方向。

在查看我们的系统之后,您之前构建中的错误似乎是由于未能在Xcode中提供使用说明。 从iOS 10开始,需要使用目的字符串来访问应用程序中的任何受保护数据类,包括应用程序使用的任何第三方库对这些受保护数据类的使用。 如果您收到有关您无法识别的数据类的缺失用途字符串的消息,请咨询您的第三方库供应商,了解他们对该受保护数据类的使用情况。

有关更多详细信息,请参阅以下资源:

适用于iOS的应用程序编程指南:支持用户隐私https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/ExpectedAppBehaviors/ExpectedAppBehaviors.html#//apple_ref/doc/uid/TP40007072-CH3-SW6

信息属性列表主要参考:Cocoa Keys https://developer.apple.com/library/prerelease/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html

WWDC 2016:为您的用户提供工程隐私(使用说明密钥在29:14讨论) https://developer.apple.com/videos/play/wwdc2016/709/?time=1754

如果问题仍然存在,请将您的请求提交给Apple Developer Technical Support:

https://developer.apple.com/support/technical/

供您参考,您的案例编号是100405033091。

最好的祝福,

Maria Apple Inc.