简体   繁体   English

从jenkins CI Server创建用于企业分发的IPA文件时出错

[英]Error Creating IPA File for Enterprise Distribution from jenkins CI Server

When i try to generate a iOS app ipa file from jenkins CI Server, i am getting the following error. 当我尝试从jenkins CI Server生成iOS应用程序ipa文件时,出现以下错误。 can you suggest me? 你能建议我吗?

Error Log 错误记录

Output directory: '/Users/Username/.jenkins/workspace/JobName/build/appname.ipa'
Temporary Directory: '/var/folders/74/t1j47pm914jbphlv2htlhx4mwl864h/T/S8Iquejn1A'  (will NOT be 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 its Designated Requirement
]
Done checking the 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 '' with 'iPhone Distribution:Dist cert name' 与'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 with 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 with error 1. Output: 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!
/var/folders/74/t1j47pm914jbphlv2htlhx4mwl864h/T/S8Iquejn1A/Payload/appname.app/ResourceRules.plist: cannot read resources

Failed to build /Users/Username/.jenkins/workspace/JobName/build/appname.ipa
Build step 'Xcode' marked build as failure

To fix this error, I had to edit the PackageApplication perl script provided by Apple. 要解决此错误,我必须编辑Apple提供的PackageApplication perl脚本。 The resource-rules parameter has been deprecated since Mavericks but is still used in the script... It's a bit hacky but the only way I found. 自Mavericks以来,resource-rules参数已被弃用,但仍在脚本中使用...有点hacky,但这是我找到的唯一方法。

So, first backup this script, then edit it : 因此,首先备份此脚本,然后对其进行编辑:

/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 it in codesign arguments, for 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 it in the 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/ 来源: http : //www.jayway.com/2015/05/21/fixing-your-ios-build-scripts/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 XCode 6.0.1企业内部发行版未创建ipa / plist - XCode 6.0.1 Enterprise In House Distribution Is Not Creating ipa/plist 使用Ionic 2,Enterprise帐户创建ipa文件 - Creating ipa file with ionic 2, Enterprise account “保存为企业发行版”为ipa文件,它可以安装在任何设备上吗? - “Save for Enterprise Distribution” as ipa file, does it install in any device? 如何避免由于配置文件过期而在企业分发中重建ipa文件 - How to avoid rebuild ipa file in enterprise distribution due to expired profiles 创建ipa以分发给客户 - creating ipa for distribution to client 在AdHoc分发中下载.ipa文件时出错 - Error in downloading the .ipa file in AdHoc distribution iOS Enterprise发行错误-“无法连接到服务器”? - iOS Enterprise distribution error - “cannot connect to server”? ios 7.1企业分发服务器的证书错误 - ios 7.1 enterprise distribution server's certificates error iOS上的企业分发应用程序,可以将ipa拖放到iTunes中吗? - Enterprise distribution apps on iOS, possible to drag and drop the ipa into iTunes? 为企业分发构建ipa需要什么? (iOs - iPhone - iPad) - What is needed to build an ipa for Enterprise Distribution? (iOs - iPhone - iPad)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM