问题
I have previously been able to submit my application without issue. The only part of my workflow that changed was the use of Sourcetree. After pulling updates to the following frameworks, I receive this warning when submitting to the iOS App Store. I also receive an email that contains:
Non-PIE Binary - The executable 'Payload/myapp.app/Frameworks/Alamofire.framework' is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables. For more information, refer to Technical Q&A QA1788 - Building a Position Independent Executable
Non-PIE Binary - The executable 'Alamofire.framework' is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables. For more information, refer to Technical Q&A QA1788 - Building a Position Independent Executable
etc...
The notable frameworks in question are:
- SwiftyJSON
- Charts
- Alamofire
I've read the Apple Technical QA article, manually set all deployment targets of these frameworks and my own project to no avail. Has anyone seen this issue before and was able to resolve it?
Update:
I can confirm that these warning do not affect the submission approval process. I submitted my app for public release and it was approved despite the warnings. Now I'm just curious as to what happened on Apple's end and what this means for framework developers.
回答1:
Looks like it may be a bug on Apple's side, I've had this today too. See here:
https://github.com/CocoaPods/CocoaPods/issues/5453
To summarise the info in the link, recent successfully submitted builds had no PIE flag set and they went through OK. So it seems that either Apple is changing something or it may be a bug.
回答2:
Getting the same thing. Not sure if it’s related but also all the builds have been wiped from the account (is that normal right after a release).
Also, had an issue where I got an email that my build had completed processing while in review but I hadn’t uploaded a new build in over a week.
Apple’s servers were reporting issues this week.
Feels like something’s wrong on Apple’s end with this.
回答3:
Hi I have the same problem, no issue until I try to upload the archive to iTune connect and it gives warning message what you are getting. I also received email from Apple to fix this warning message.
"The executable '******/.framework' is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables. For more information, refer to Technical Q&A QA1788 - Building a Position Independent Executable" .
I followed the steps describe in https://developer.apple.com/library/ios/qa/qa1788/_index.html#/apple_ref/doc/uid/DTS40013354. and perform clean - build. Build was successful. But when I choose "Generic iOS Devices", build failed with error message saying "-no_pie and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together error". To fix this issue i changed option for "Enable Bitcode" to NO in Target.
This fixes the build problem. Now when I try to upload the archive to iTune connect it gave me the error "ERROR ITMS-90635 'Invalid Mach-O Format. ............. Verify that all of the targets for a platform have consistent value for the ENABLE_BITCODE build setting.'" and upload fail .
Now to fix this I un ticked option "include bitcode" in upload dialog and upload worked as expected without any warning or error.
来源:https://stackoverflow.com/questions/37611069/warning-itms-90080-the-executable-payload-myapp-app-frameworks-some-framework