我试图通过iTunes Connect提交应用。 Xcode抛出以下错误:
iTunes Store操作失败。
该应用引用了Payload / Inflation Calculator.app/Inflation中的非公开选择器Calculator: allocBatch:withEntity:count:,allowWithEntity:,
fastIndexForKnownKey:
,indexForKey:
我不知道" non-public selectors
"我会使用,因为我的代码与书非常接近。有人有什么想法吗?
视图控制器的代码(我的应用中只有.swift
):
https://gist.github.com/Calda/aefc2f19bae5f3cf2e54
编辑:作为未来的参考,我向iTunes Connect Support确认这是iTunes Connect的一个问题,而不是我的项目有问题。对于遇到同样问题的人,我最好的建议是等待,稍后再试。
答案 0 :(得分:7)
我遇到了同样的问题。我无法提交我的一些应用程序,因为使用非公共选择器。我也尝试使用Application Loader,但仍然是相同的错误消息
要解决我安装Xcode 6.0.1的问题 - 它仍可在此处下载: https://developer.apple.com/downloads/index.action
在安装之前,我将旧的Xcode移到了垃圾箱。
我现在可以提交任何应用。
答案 1 :(得分:2)
对于同一个应用程序,我今天在XCode 6.1上收到了此错误。 我提交相同的应用程序(小变化)2/3天前使用XCode 6.0.1没有任何错误! 刚刚更新了XCode 6.1并遇到了这个错误。
我切换回XCode 6.0.1,它对提交没有任何问题。没有非公共API使用错误。我只需下载dmg文件并将xcode.app重命名为XCode_6.0.1。所以它与XCode 6.1共存。
答案 2 :(得分:2)
iOS 7和iOS 8之间的API不同。 我通过切换到部署目标" 8.0"来验证我的应用程序。 - 使用XCode 6.1构建。 它可能不是你所有人的解决方案,但你可以尝试一下。
可能发生在我身上,因为我最近开始使用UIAlertController - >似乎是一个iOS-8功能。在iOS 7上,这将是UIAlertView。因此,如果你使用一些漂亮的新功能,它们可能不适用于以前的iOS版本 - 因此是非公共API。
答案 3 :(得分:2)
我删除了xcode项目的所有派生数据 /用户/ {} user_home_folder /资源库/开发/ Xcode中/ DerivedData 并且提交的应用程序没有任何问题
答案 4 :(得分:2)
我通过以下方式解决了这个问题:
编辑:我认为不需要第一步
1)清理构建文件夹(按住Alt,单击产品 - >清除)
2)删除派生数据(管理器 - >项目 - >选择项目 - >删除派生数据
答案 5 :(得分:1)
我遇到了同样的问题,这个问题看起来像Apple的问题。我昨天提交了相同的应用程序(v 1.0.1),然后拒绝了它,然后今天再次提交了一行代码差异。由于上述原因,今天的提交被拒绝了。
通过更改我的应用版本#(例如1.0.1 - > 1.0.2),我能够使用所有版本的最新版本来解决这个问题。认为这是有效的,因为我之前提交了我拒绝的旧版本的队列,YMMV。