-
Bug
-
Resolution: Won't Fix
-
Minor
-
None
-
OS X 10.10.3
Xcode 6.3.2
I'm building an IPA from an Xcode project generated from Unity and using the Xcode plugin to compile the Unity Xcode project into an IPA, which succeeds.
I did however need to work around an issue with changes to app signing by Apple as can be read here: https://developer.apple.com/library/mac/technotes/tn2206/_index.html#//apple_ref/doc/uid/DTS40007919-CH1-TNTAG205
Note that it says the app will be rejected if it does not comply to these new rules, even though the app installs and runs just fine.
At first these changes failed my build, for which I had to add the following to the Custom x-code build arguments:
CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist
In order to fix a failure related to the changes in app signing, as described here:
http://stackoverflow.com/questions/26516442/how-do-we-manually-fix-resourcerules-plist-cannot-read-resources-error-after
While this stopped the build from failing I still find the following in the logs:
(please note I've changed the project name, company name and user name everywhere, some things are confidential)
_"Output directory: '/Users/Shared/Jenkins/Home/jobs/Project X iOS/workspace/Builds/Completed/iOS/IPA/2440 2015.07.01.ipa' Temporary Directory: '/tmp/sd10Ip_V0_' (will NOT be deleted on exit when verbose set) + /bin/cp -Rp /Users/Shared/Jenkins/Home/jobs/Project X iOS/workspace/Builds/Completed/iOS/Project X.app /tmp/sd10Ip_V0_/Payload Program /bin/cp returned 0 : [] ### Checking original app + /usr/bin/codesign --verify -vvvv /Users/Shared/Jenkins/Home/jobs/Project X iOS/workspace/Builds/Completed/iOS/Project X.app Program /usr/bin/codesign returned 1 : [/Users/Shared/Jenkins/Home/jobs/Project X iOS/workspace/Builds/Completed/iOS/Project X.app: resource envelope is obsolete (custom omit rules) ] Codesign check fails : /Users/Shared/Jenkins/Home/jobs/Project X iOS/workspace/Builds/Completed/iOS/Project X.app: resource envelope is obsolete (custom omit rules)"_
and when attempting to be re-signed:
_"### Codesigning '/Users/me/Library/MobileDevice/Provisioning Profiles/GenericInHouseDistributionNoDomain.mobileprovision' with 'iPhone Distribution: Company Name' + /usr/bin/codesign --force --preserve-metadata=identifier,entitlements,resource-rules --sign iPhone Distribution: Company Name. --resource-rules=/tmp/awnWzkayhO/Payload/Project X.app/ResourceRules.plist --entitlements /tmp/awnWzkayhO/entitlements_plist0PcvLRzr /tmp/awnWzkayhO/Payload/Project X.app Program /usr/bin/codesign returned 0 : [Warning: usage of --preserve-metadata with option "resource-rules" (deprecated in Mac OS X >= 10.10)! Warning: --resource-rules has been deprecated in Mac OS X >= 10.10!"_
Also when manually verifying the code signing of the app with the Terminal I get the following response:
"/Users/Shared/Jenkins/Home/jobs/Project X iOS/workspace/Builds/Completed/iOS/Project X.app: resource envelope is obsolete (custom omit rules)"
Some googling has led me to discover that changes were made to code signing by Apple in recent updates to OS X / Xcode, deprecating --resource-rules in the codesign command and requiring some other additions, as can be read here: http://stackoverflow.com/questions/26008449/xcodebuild-codesign-vvvv-saysresource-envelope-is-obsolete
In the log I noticed these obsolete / incorrect arguments were still being used. Perhaps changing those for recent versions of OS X / Xcode will fix the issue.