【问题标题】:Xcode says some of my pods are not PIEs, is this fine?Xcode 说我的一些 pod 不是 PIE,这样可以吗?
【发布时间】:2016-06-03 06:54:09
【问题描述】:

今天,在我将档案上传到应用商店后,Xcode 向我显示了这个警告和其他一些警告(都相似)。

这是其中之一:

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

显然,这件事很重要,需要说两次。

EZLoadingActivity 是我用来编写应用程序的 cocoapod。由于它是一个库,它不能单独运行。因此,我认为它不是与位置无关的可执行文件是可以的。但是当警告出现时,我想一定是出了什么问题。

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

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

【问题讨论】:

  • 希望我现在有一个馅饼

标签: ios xcode app-store-connect cocoapods


【解决方案1】:

这是一个临时的 iTunesConnect 问题。

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

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

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

【讨论】:

  • PIE 中的错误?埃克:x
  • Frameworks can not have the PIE flag 因为它仅适用于主要的可执行文件。所以这绝对是验证方面的一个错误。
  • Xcode 也会为我的所有 pod 发出此警告。但随后 iTunes Connect 对其进行处理并允许发布。发布带有此警告的更新会导致问题吗?
  • 有没有关于这个问题的官方或新信息?
  • 对我来说,iTunes Connect 现在不再抱怨 PIE。
猜你喜欢
  • 2017-11-30
  • 2015-10-04
  • 1970-01-01
  • 2014-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-29
相关资源
最近更新 更多