ios - Error Creating IPA File for Enterprise Distribution from jenkins CI Server -


when try generate ios app ipa file jenkins ci server, getting following error. can suggest me?

error log

output directory: '/users/username/.jenkins/workspace/jobname/build/appname.ipa' temporary directory: '/var/folders/74/t1j47pm914jbphlv2htlhx4mwl864h/t/s8iquejn1a'  (will not deleted on exit when verbose set) + /bin/cp -rp /users/username/.jenkins/workspace/jobname/build/appname.app /var/folders/74/t1j47pm914jbphlv2htlhx4mwl864h/t/s8iquejn1a/payload program /bin/cp returned 0 : [] 

checking original app

+ /usr/bin/codesign --verify -vvvv /users/username/.jenkins/workspace/jobname/build/appname.app program /usr/bin/codesign returned 0 : [/users/username/.jenkins/workspace/jobname/build/appname.app: valid on disk /users/username/.jenkins/workspace/jobname/build/appname.app: satisfies designated requirement ] done checking original app + /usr/bin/codesign -d --entitlements /var/folders/74/t1j47pm914jbphlv2htlhx4mwl864h/t/s8iquejn1a/entitlements_rawrb2jgswk /var/folders/74/t1j47pm914jbphlv2htlhx4mwl864h/t/s8iquejn1a/payload/appname.app program /usr/bin/codesign returned 0 : [executable=/private/var/folders/74/t1j47pm914jbphlv2htlhx4mwl864h/t/s8iquejn1a/payload/appname.app/appname ] + /usr/libexec/plistbuddy -c set :get-task-allow no /var/folders/74/t1j47pm914jbphlv2htlhx4mwl864h/t/s8iquejn1a/entitlements_plistsdxxqko6 program /usr/libexec/plistbuddy returned 0 : [] + /usr/bin/plutil -lint /var/folders/74/t1j47pm914jbphlv2htlhx4mwl864h/t/s8iquejn1a/entitlements_plistsdxxqko6 program /usr/bin/plutil returned 0 : [/var/folders/74/t1j47pm914jbphlv2htlhx4mwl864h/t/s8iquejn1a/entitlements_plistsdxxqko6: ok ] 

codesigning '' 'iphone distribution:dist cert name'

+ /usr/bin/codesign --force --preserve-metadata=identifier,entitlements,resource-rules --sign iphone distribution:dist cert name --resource-rules=/var/folders/74/t1j47pm914jbphlv2htlhx4mwl864h/t/s8iquejn1a/payload/appname.app/resourcerules.plist --entitlements /var/folders/74/t1j47pm914jbphlv2htlhx4mwl864h/t/s8iquejn1a/entitlements_plistsdxxqko6 /var/folders/74/t1j47pm914jbphlv2htlhx4mwl864h/t/s8iquejn1a/payload/appname.app program /usr/bin/codesign returned 1 : [warning: usage of --preserve-metadata option "resource-rules" (deprecated in mac os x >= 10.10)! warning: --resource-rules has been deprecated in mac os x >= 10.10! /var/folders/74/t1j47pm914jbphlv2htlhx4mwl864h/t/s8iquejn1a/payload/appname.app/resourcerules.plist: cannot read resources ] error: /usr/bin/codesign --force --preserve-metadata=identifier,entitlements,resource-rules --sign iphone distribution:dist cert name --resource-rules=/var/folders/74/t1j47pm914jbphlv2htlhx4mwl864h/t/s8iquejn1a/payload/appname.app/resourcerules.plist --entitlements /var/folders/74/t1j47pm914jbphlv2htlhx4mwl864h/t/s8iquejn1a/entitlements_plistsdxxqko6 /var/folders/74/t1j47pm914jbphlv2htlhx4mwl864h/t/s8iquejn1a/payload/appname.app failed error 1. output: warning: usage of --preserve-metadata option "resource-rules" (deprecated in mac os x >= 10.10)! warning: --resource-rules has been deprecated in mac os x >= 10.10! /var/folders/74/t1j47pm914jbphlv2htlhx4mwl864h/t/s8iquejn1a/payload/appname.app/resourcerules.plist: cannot read resources  failed build /users/username/.jenkins/workspace/jobname/build/appname.ipa build step 'xcode' marked build failure 

to fix error, had edit packageapplication perl script provided apple. resource-rules parameter has been deprecated since mavericks still used in script... it's bit hacky way found.

so, first backup script, edit :

/applications/xcode.app/contents/developer/platforms/iphoneos.platform/developer/usr/bin/packageapplication 

replace

my @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements,resource-rules",                       "--sign", $opt{sign},                       “--resource-rules=$destapp/resourcerules.plist"); 

with

my @codesign_args; if (-e '$destapp/resourcerules.plist') {  # if resourcerules.plist exists, include in codesign arguments, backwards compatability     @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements,resource-rules",                      "--sign", $opt{sign},                      "--resource-rules=$destapp/resourcerules.plist"); } else { # if resourcerules.plist isn't found, don't include in codesign arguments     @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements",                      "--sign", $opt{sign}); } 

source : http://www.jayway.com/2015/05/21/fixing-your-ios-build-scripts/


Comments