无法生成cordova ios应用程序的发布版本

Sha*_*shi 5 xcode xcodebuild ios cordova xcrun

我正在使用phonegap CLI 3.1和XCode5.我试图通过Phonegap CLI和Xcrun生成发布模式的构建.我不想使用Phonegap Build来上传mobileprovision或其中任何进程.我希望xcrun能够将mobileprovison分配给发布版本.

1)cordova build ios --release

通过命令"/ Applications/MAMP/htdocs/MyTest/MyTestApp/platforms/ios/cordova/build"编译平台"ios"上的app - 发布平台"ios"编译成功.

2)sudo xcrun -sdk iphoneos PackageApplication -v"ios/build/emulator/MyTestApp.app"-o"/Users/mymac/Desktop/Testnew/MyTestApp.ipa"--sign"iPhone Distribution:NAME(TEAM_ID)" - -embed"MyTestApp_Dis.mobileprovision"

包装应用: 'IOS /建造/仿真器/ MyTestApp.app'参数:嵌入= MyTestApp_Dis.mobileprovision详细= 1个输出= /用户/ mymac /桌面/ Testnew/MyTestApp.ipa符号= iPhone分布:NAME(TEAM_ID)
环境变量:
HOME = /用户/ mymac
SUDO_GID = 20
SDKROOT = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk
VERSIONER_PERL_PREFER_32_BIT =没有
MAIL =的/ var /邮件/根
SSH_AUTH_SOCK =的/ tmp /发射-zsBMC8 /听众
LANG =的en_US.UTF-8
USER =根
LOGNAME =根
__CF_USER_TEXT_ENCODING =为0x0:0:0
USERNAME =根
PATH =/USR/bin中:/ bin中:/ usr/sbin目录:/ sbin目录:/ usr/local/bin:/ usr/local/git/bin
SUDO_USER = mymac
SHELL =/bin/bash
TERM = xterm-256color
SUDO_COMMAND =/usr/bin/xcrun -sdk iphoneos PackageApplication -v ios/build/emulator/MyTestApp.app -o /Users/mymac/Desktop/Testnew/MyTestApp.ipa -签署iPhone分发:NAME(TEAM_ID)--embed MyTestApp_Dis.mobileprovision
SUDO_UID = 501
VERSIONER_PERL_VERSION = 5.12

输出目录:'
/ Users/mymac/Desktop/Testnew/MyTestApp.ipa' 临时目录:'/ tmp/W81FhZ9VAH'(当详细设置时不会在退出时删除)
+/bin/cp -Rp ios/build/emulator/MyTestApp.app/tmp/W81FhZ9VAH/Payload
Program/bin/cp返回0:[]

检查原始应用

  • 在/ usr/bin中/协同设计--verify -vvvv IOS /建设/仿真器/ MyTestApp.app
    计划在/ usr/bin中/协同设计返回1:IOS /建设/仿真器/ MyTestApp.app:代码对象未签名都
    在建筑:i386
    ] Codeign检查失败:ios/build/emulator/MyTestApp.app:代码对象根本没有签名在体系结构中:i386

完成检查原始应用程序

嵌入'MyTestApp_Dis.mobileprovision'

  • / bin/rm -rf /tmp/W81FhZ9VAH/Payload/MyTestApp.app/embedded.mobileprovision程序/ bin/rm返回0:[]
  • / bin/cp -rp MyTestApp_Dis.mobileprovision /tmp/W81FhZ9VAH/Payload/MyTestApp.app/embedded.mobileprovision程序/ bin/cp返回0:[]
  • / usr/bin/codesign -d --entitlements/tmp/W81FhZ9VAH/entitlements_rawixGWnKhi /tmp/W81FhZ9VAH/Payload/MyTestApp.app程序/ usr/bin/codesign返回1:[/tmp/W81FhZ9VAH/Payload/MyTestApp.app:code对象未完全签名]
    错误:无法从'/tmp/W81FhZ9VAH/Payload/MyTestApp.app'读取权利

Viz*_*llx 1

为了跳过代码签名,您可以从控制台执行手动构建,如下所示:

xcodebuild clean build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO 另外使用 -configuration、-target 和 -sdk 参数来定义构建设置。

禁用代码签名:

*转到/应用程序。右键单击 XCode 并选择“显示包内容”。将 Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/SDKSettings.plist 复制到桌面。(确保实际复制和粘贴。不要拖放)打开它并在 DefaultProperties 下将 CODE_SIGNING_REQUIRED 设置为 NO。将其复制回来并替换原始文件。重新启动 XCode。打开您的项目。在 Project Navigator 中选择您的项目并打开项目的“Build Settings”部分(而不是任何特定目标),在“Code Signing”下找到“Code Signing Identity”,对于“调试”和“发布”模式,将“Any iOS SKD”设置为“不进行代码签名”。现在您应该能够构建您的项目而不会出现任何错误。*

制作 IPA:

在“项目导航器”中选择“产品”,右键单击 [NameOfYourProject].app,然后选择“在 Finder 中显示”。创建一个文件夹并将其命名为 Payload 将 [NameOfYourProject].app 移动到 Payload。压缩 Payload 并将其重命名为 [NameOfYourProject].ipa