非PIE二进制-可执行文件“项目名称"不是位置无关可执行文件. [英] Non-PIE Binary - The executable 'project name' is not a Position Independent Executable.

查看:108
本文介绍了非PIE二进制-可执行文件“项目名称"不是位置无关可执行文件.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将一个二进制文件上传到iTunes Connect上,该文件经过验证并被接受以发布到App Store.我收到了来自Apple的电子邮件,说我的应用程序是无效的二进制文件:

I uploaded a binary on into iTunes Connect, it was validated and accepted to publish to the App Store. I received an email from Apple, saying that my application is an invalid binary:

亲爱的开发人员,

Dear developer,

我们发现您最近的交货有一个或多个问题 项目名".要处理您的交货,必须注意以下问题 已更正:

We have discovered one or more issues with your recent delivery for "Project name". To process your delivery, the following issues must be corrected:

iPhone 5优化要求-您的二进制文件未针对iPhone 5进行优化.截至5月1日,所有新的iPhone应用程序和应用程序更新 提交的内容必须支持iPhone 5上的4英寸显示屏.所有应用都必须 包括适当大小的启动图像.学习更多关于 通过查看《 iOS人机界面指南》来支持iPhone 5.

iPhone 5 Optimization Requirement - Your binary is not optimized for iPhone 5. As of May 1, all new iPhone apps and app updates submitted must support the 4-inch display on iPhone 5. All apps must include a launch image of the appropriate size. Learn more about iPhone 5 support by reviewing the iOS Human Interface Guidelines.

尽管您不需要解决以下问题,但我们希望 让您知道它们:

Though you are not required to fix the following issues, we wanted to make you aware of them:

非PIE二进制-可执行文件"xyz.app"不是位置独立的可执行文件.请确保您的构建设置是 配置为创建PIE可执行文件.一旦进行了必要的更正 已完成,请转到版本详细信息"页面,然后单击准备 上传二进制文件."继续进行提交过程,直到应用 状态为等待上传".然后,您可以提供更正后的内容 二进制.

Non-PIE Binary - The executable 'xyz.app' is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables. Once the required corrections have been made, go to the Version Details page and click "Ready to Upload Binary." Continue through the submission process until the app status is "Waiting for Upload." You can then deliver the corrected binary.

我已将Target> Build Settings中的Don't Create Position Independent Executables选项更改为YES,但是上面我仍然收到相同的消息.

I have changed the Don't Create Position Independent Executables option in Target > Build Settings to YES, but I still receive the same message above.

推荐答案

Apple现在有一份文档解释了该问题及其解决方法:

There is now a document from Apple explaining the issue and how to solve it: QA1788: Building a Position Independent Executable,

将应用程序构建为PIE的步骤

  1. 在Xcode中,在目标"部分中选择目标,然后单击构建设置"选项卡以查看其设置.

  1. In Xcode, select your target in the "Targets" section, then click the "Build Settings" tab to view its settings.

对于iOS应用,将iOS Deployment Target设置为 iOS 4.3或更高版本.对于Mac应用程序,将OS X Deployment Target设置为 OS X 10.7或更高版本.

For iOS apps, set iOS Deployment Target to iOS 4.3 or later. For Mac apps, set OS X Deployment Target to OS X 10.7 or later.

验证Generate Position-Dependent Code是否设置为 NO .

验证Don't Create Position Independent Executables是否设置为 NO .

这篇关于非PIE二进制-可执行文件“项目名称"不是位置无关可执行文件.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆