Ios AppStore被拒绝:使用私有调用引用我自己的方法
我收到了以下拒绝消息: 您的应用程序使用或引用以下非公共API:Ios AppStore被拒绝:使用私有调用引用我自己的方法,ios,Ios,我收到了以下拒绝消息: 您的应用程序使用或引用以下非公共API: 删除项: 设置选定部分: setIsNew: 选定部分 不允许在应用商店上使用非公共API,因为 如果这些API发生变化,可能会导致糟糕的用户体验 通过查看代码,我在一段由Xcode核心数据代码生成器实现的代码中找到了removitems:(我有一个称为items的子结构) selectedSection和isNew是生成的核心数据代码中的属性 代码通过了上次部署。代码在两三周前通过了beta测试 苹果是否禁止在我的私人代码中
- 删除项:
- 设置选定部分:
- setIsNew:
- 选定部分
removitems:
(我有一个称为items的子结构)
selectedSection
和isNew
是生成的核心数据代码中的属性
代码通过了上次部署。代码在两三周前通过了beta测试
苹果是否禁止在我的私人代码中使用这些函数名?或者当前是否存在误报的AppStore问题
更新:我从苹果应用程序审查团队收到了以下答案:
谢谢你的回复。对于每个有争议的选择器,我们
发现以下情况:
。。。4方法使用删除的
澄清一下,这些不一定是非公共API的直接使用,
但由于您的应用程序没有静态定义这些,因此它们是名称
与可能的专用选择器发生冲突,因此修订是无效的
合适
最后一节特别有趣:这是否意味着我不能再选择任何方法的名称,而不用担心苹果可能会提出相同的方法名称?或者,将其简化为一个objc问题:“静态定义”是什么<代码>静态C-方法?类方法 被拒绝的原因实际上是我使用了苹果公司决定引入的选择器作为私有选择器 这可以在任何时间发生,任何版本,除了应用程序审查(在撰写本文时)之外,没有测试设施 看来苹果在这里改变了政策,早些时候,他们只是发出警告,现在该应用被拒绝了 解决方案实际上很简单,但可能需要付出巨大的努力
- 重命名审阅报告中列出的选择器
- 重命名与报表匹配的属性,以及核心数据中的动态属性。在我的例子中,所有报告的字段都是核心数据属性。这需要重命名数据库字段,因此我必须添加一个新的DB模式版本,并相应地重命名字段,并在启用自动迁移的情况下初始化DB堆栈