今天,在我将存档上传到应用程序商店后,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的应用程序,但我上传它们时没有这个警告。这是我第一次遇到这样的警告?这是严重的吗?我该怎么办?
答案 0 :(得分:19)
这是一个临时的iTunesConnect问题。
我检查过没有警告的旧档案。 然后,我发现所有构建的嵌入式框架都没有PIE标志,无论使用什么构建设置。
因此,缺少框架的PIE标志不应成为警告的原因。
我认为Apple改变了服务器端验证并引入了一些错误。