我以前能够毫无问题地提交我的申请。我工作流程中唯一改变的部分是使用Sourcetree。在将更新提取到以下框架后,我在提交到iOS App Store时收到此警告。我还收到一封包含以下内容的电子邮件:
非PIE二进制 - 可执行文件'Payload / myapp.app / Frameworks / Alamofire.framework'不是位置无关的可执行文件。请确保将构建设置配置为创建PIE可执行文件。有关更多信息,请参阅技术Q& A QA1788 - 构建独立位置的可执行文件
非PIE二进制文件 - 可执行文件“Alamofire.framework”不是位置无关的可执行文件。请确保将构建设置配置为创建PIE可执行文件。有关更多信息,请参阅技术Q& A QA1788 - 构建独立位置的可执行文件
等...
有问题的框架是:
我已阅读Apple Technical QA文章,手动设置这些框架的所有部署目标和我自己的项目无济于事。有没有人见过这个问题并且能够解决它?
更新
我可以确认这些警告不会影响提交审批流程。我提交了我的应用程序以供公开发布,尽管有警告,它仍然获得批准。现在我只是对Apple的结局感到好奇,这对框架开发者意味着什么。
答案 0 :(得分:13)
看起来它可能是苹果方面的一个错误,我今天也有这个。见这里:
https://github.com/CocoaPods/CocoaPods/issues/5453
要总结链接中的信息,最近成功提交的版本没有设置PIE标志,并且它们经历了OK。所以似乎Apple正在改变某些东西,或者它可能是一个错误。
答案 1 :(得分:2)
得到同样的东西。不确定它是否相关,但是所有版本都已从帐户中删除(在发布后正常)。
此外,还有一个问题,我收到了一封电子邮件,表示我的版本在审核期间已完成处理但我在一周内没有上传新版本。
Apple的服务器本周报告了问题。
感觉苹果公司最终会出现问题。
答案 2 :(得分:0)
您好我有同样的问题,在我尝试将存档上传到iTune connect之前没有问题,它会发出警告信息。我还收到Apple的电子邮件以修复此警告消息。
“可执行文件'****** /。framework'不是位置独立可执行文件。请确保您的构建设置已配置为创建PIE可执行文件。有关更多信息,请参阅技术问答&答案QA1788 - 构建位置独立可执行文件“。
我按照https://developer.apple.com/library/ios/qa/qa1788/_index.html#/apple_ref/doc/uid/DTS40013354中描述的步骤进行操作。并执行清洁 - 构建。构建成功。但是当我选择“通用iOS设备”时,构建失败并显示错误消息“-no_pie和-bitcode_bundle(Xcode设置ENABLE_BITCODE = YES)不能一起使用错误”。为了解决这个问题,我在Target中将“启用Bitcode”的选项更改为NO。
这解决了构建问题。现在,当我尝试将存档上传到iTune连接时,它给了我错误 “错误ITMS-90635'无效的Mach-O格式。.............确认平台的所有目标都具有ENABLE_BITCODE构建设置的一致值。'”并且上传失败。 / p>
现在要解决此问题,我在上传对话框中选中了“包含bitcode”选项,并且上传按预期工作,没有任何警告或错误。