From Apple
Performance - 2.5.1
Your app uses or references the following non-public APIs:
: setResult:
The use of non-public APIs is not permitted on the App Store because it can lead to a poor user experience should these APIs change.
我搜索术语setResult
,我认为这属于我正在使用的facebook登录包
xxxx$ grep -Rnis 'setResult:' *
Binary file ios/FBSDKCoreKit.framework/FBSDKCoreKit matches
Binary file node_modules/react-native-facebook-login/FacebookSDK/FBSDKCoreKit.framework/FBSDKCoreKit matches
有谁知道如何解决这个问题?感谢。
答案 0 :(得分:4)
我建议在their Github project上提交问题。他们不应该使用私有API,我肯定会想知道它导致App Store被拒绝。
编辑:OP发布了一个问题,看起来他们并不是唯一一个有这个问题的人。
https://github.com/magus/react-native-facebook-login/issues/155
答案 1 :(得分:1)
我们遇到了同样的问题。由于名为setResult
的方法是FacebookSDK的一部分,Apple拒绝了我们的应用程序。它不是对非公共API的调用,而只是一个巧合的名称相同的方法。
有人在developers.facebook.com上提交了一个错误。这是Facebook的回应:
大家好,
我已经与我们的Mobile SDK团队核实过并自行检查了这一点 个人在我们的SDK源代码
在FBSDKCoreKit中对setResult的调用不是私有API,而是 来自Bolts框架的这种方法:
https://boltsframework.github.io/docs/ios/Classes/BFTaskCompletionSource.html#//api/name/setResult:
此时没有任何计划改变我们对此的使用 方法,它似乎被任何不正确的标记 Apple正在使用检测私有API使用
我们建议您与Apple联系并让他们再次检查您的应用 并验证实际上没有私有API使用
我还问过我们的移动SDK团队是否可以就此问题与Apple联系, 但我不确定这是否是我们可以做的事情
问候,斯蒂芬
错误报告:https://developers.facebook.com/bugs/294032807641661/
我们成功向App App Board提出上诉,解释了为什么它不是私有API的调用。