Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios AppStore被拒绝:使用私有调用引用我自己的方法_Ios - Fatal编程技术网

Ios AppStore被拒绝:使用私有调用引用我自己的方法

Ios AppStore被拒绝:使用私有调用引用我自己的方法,ios,Ios,我收到了以下拒绝消息: 您的应用程序使用或引用以下非公共API: 删除项: 设置选定部分: setIsNew: 选定部分 不允许在应用商店上使用非公共API,因为 如果这些API发生变化,可能会导致糟糕的用户体验 通过查看代码,我在一段由Xcode核心数据代码生成器实现的代码中找到了removitems:(我有一个称为items的子结构) selectedSection和isNew是生成的核心数据代码中的属性 代码通过了上次部署。代码在两三周前通过了beta测试 苹果是否禁止在我的私人代码中

我收到了以下拒绝消息:

您的应用程序使用或引用以下非公共API:

  • 删除项:
  • 设置选定部分:
  • setIsNew:
  • 选定部分
不允许在应用商店上使用非公共API,因为 如果这些API发生变化,可能会导致糟糕的用户体验

通过查看代码,我在一段由Xcode核心数据代码生成器实现的代码中找到了
removitems:
(我有一个称为items的子结构)

selectedSection
isNew
是生成的核心数据代码中的属性

代码通过了上次部署。代码在两三周前通过了beta测试

苹果是否禁止在我的私人代码中使用这些函数名?或者当前是否存在误报的AppStore问题

更新:我从苹果应用程序审查团队收到了以下答案:

谢谢你的回复。对于每个有争议的选择器,我们 发现以下情况:

。。。4方法使用删除的

澄清一下,这些不一定是非公共API的直接使用, 但由于您的应用程序没有静态定义这些,因此它们是名称 与可能的专用选择器发生冲突,因此修订是无效的 合适


最后一节特别有趣:这是否意味着我不能再选择任何方法的名称,而不用担心苹果可能会提出相同的方法名称?或者,将其简化为一个objc问题:“静态定义”是什么<代码>静态C-方法?类方法

被拒绝的原因实际上是我使用了苹果公司决定引入的选择器作为私有选择器

这可以在任何时间发生,任何版本,除了应用程序审查(在撰写本文时)之外,没有测试设施

看来苹果在这里改变了政策,早些时候,他们只是发出警告,现在该应用被拒绝了

解决方案实际上很简单,但可能需要付出巨大的努力

  • 重命名审阅报告中列出的选择器
  • 重命名与报表匹配的属性,以及核心数据中的动态属性。在我的例子中,所有报告的字段都是核心数据属性。这需要重命名数据库字段,因此我必须添加一个新的DB模式版本,并相应地重命名字段,并在启用自动迁移的情况下初始化DB堆栈

从选择器的名称来看,不难想象表/集合vie相关代码中会出现相同的选择器;)也许你可以尝试重新编译你的版本,并向苹果解释这一点,就像你在这里做的一样?有时它会有帮助:)无论如何,这是一个非常有趣的案例!当然,我也给Resolution Center写了同样的东西,但看看我是否陷入了一个常见的陷阱,或者是否真的需要挖掘我的代码,并在所有通话前加上应用程序或公司代码,这总是很有用的。不幸的是,我不得不继续使用该应用程序,不能再等一两天苹果的回复。如果有人感兴趣,我也在开发者论坛上发布了这条消息:你是非常非常愚蠢编程的受害者。我很气愤,我们现在还没有学会,作为一个职业,从普通字符串推断现实世界的意义是荒谬的。这就是为什么婴儿会出现在禁飞名单上!我过去常参加棒球讨论会。比尔·迪基是一位历史上著名的球员。他的名字在黑板上总是显示为“Bill****ey”,因为有些白痴认为任何给定的字符串总是有相同的上下文。@PhillipMills我很乐意理解这个限制。用合理的命名来实现一些东西,并且对你的名字有两到三天的接受期,这一点都不好笑。如果是这种情况,我将开始在代码中的每个f-stars方法上添加前缀。嘿,C名称空间的前缀终于回来了:-(但我还是不敢相信,我还是希望要么我很愚蠢,要么代码中有问题。