Xcode说我的一些豆荚不是PIE,这样好吗?

时间:2016-06-03 06:54:09

标签: ios xcode itunesconnect cocoapods

今天,在我将存档上传到应用程序商店后,Xcode向我显示了此警告以及其他一些警告(都是类似的)。

以下是其中之一:

  

警告ITMS-90080:“可执行文件'Payload / MyApp.app / Frameworks / EZLoadingActivity.framework'不是位置无关的可执行文件。请确保您的构建设置已配置为创建PIE可执行文件。有关更多信息,请参阅技术Q& A QA1788 - 在iOS开发人员库中构建位置无关的可执行文件。“   警告ITMS-90080:“可执行文件'Payload / MyApp.app / Frameworks / EZLoadingActivity.framework'不是位置无关可执行文件。请确保您的构建设置已配置为创建PIE可执行文件。有关更多信息,请参阅技术问答& A QA1788 - 在iOS开发人员库中构建位置无关的可执行文件。“

显然,这些东西非常重要,需要说两次。

EZLoadingActivity是我用来编写应用程序的cocoapod。由于它是一个库,因此无法单独运行。因此,我认为它不是一个独立的位置可执行文件。但是当警告出现时,我认为肯定会出现问题。

我看到另一个问题,其OP的二进制文件由于此错误而被拒绝。所以我担心我的二进制文件也会被拒绝。

我的二进制文件会被拒绝吗?拥有非PIE的框架是否可以?我有其他使用cocoapods的应用程序,但我上传它们时没有这个警告。这是我第一次遇到这样的警告?这是严重的吗?我该怎么办?

1 个答案:

答案 0 :(得分:19)

这是一个临时的iTunesConnect问题。

我检查过没有警告的旧档案。 然后,我发现所有构建的嵌入式框架都没有PIE标​​志,无论使用什么构建设置。

因此,缺少框架的PIE标志不应成为警告的原因。

我认为Apple改变了服务器端验证并引入了一些错误。