首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未能生成cordova ios应用程序的发布版本

未能生成cordova ios应用程序的发布版本
EN

Stack Overflow用户
提问于 2013-11-05 07:40:11
回答 3查看 7.7K关注 0票数 5

我正在使用PhoneGapCLI3.1和XCode5。我试图通过Phonegap和Xcrun生成发布模式的构建。我不想使用Phonegap上传移动设备或其他任何过程。我想通过xcrun来完成它,以便为发布版本分配Mobile但书。

1) cordova构建ios --发布

在平台上编译应用程序"ios“通过命令"/Applications/MAMP/htdocs/MyTest/MyTestApp/platforms/ios/cordova/build”-发布平台"ios“编译成功。

"MyTestApp_Dis.mobileprovision" 2) sudo xcrun -sdk iphoneos PackageApplication -v“ios/build/仿真器/MyTestApp.app”-o“-o/mymac/Desktop/Testnew/MyTestApp.ipa”--标记"iPhone分发:名称(TEAM_ID)“-嵌入

打包应用程序:‘ios/build/仿真器/MyTestApp.app’参数: embed=MyTestApp_Dis.mobileprovision verbose=1 verbose=1 sign=iPhone分发: NAME (TEAM_ID)

环境变量:

HOME = /Users/mymac

SUDO_GID = 20

SDKROOT = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk

VERSIONER_PERL_PREFER_32_BIT = no

MAIL = /var/mail/root

SSH_AUTH_SOCK =/tmp/zsBMC8 zsBMC8 8/侦听器

LANG =en_en.US.UTF 8

USER = root

罗纳梅根

__CF_USER_TEXT_ENCODING = 0x0:0:0

用户名=根

PATH = /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin

SUDO_USER = mymac

SHELL = /bin/bash

术语=x项-256色

SUDO_COMMAND = /usr/bin/xcrun -sdk iphoneos PackageApplication -v ios/build/仿真器/MyTestApp.app -o /-o/mymac/Desktop/Testnew/MyTestApp.ipa-标志iPhone分发:名称(TEAM_ID) -嵌入MyTestApp_Dis.mobileprovision

SUDO_UID = 501

VERSIONER_PERL_VERSION = 5.12

输出目录:'/Users/mymac/Desktop/Testnew/MyTestApp.ipa‘

临时目录:'/tmp/W81FhZ9VAH‘(详细设置后退出时不会删除)

  • /bin/cp -Rp ios/build/仿真器/MyTestApp.app/tmp/W81FhZ9VAH/有效载荷

程序/bin/cp返回0:[]

检查原始应用程序

  • /usr/bin/codesign --验证-vvvv ios/build/仿真器/MyTestApp.app 程序/usr/bin/codesign返回1:ios/build/仿真器/MyTestApp.app:代码对象根本没有签名 在架构方面: i386 Codesign检查失败:ios/build/仿真器/MyTestApp.app:代码对象在体系结构中根本没有签名: i386

检查了原来的应用程序

嵌入'MyTestApp_Dis.mobileprovision‘

  • /bin/rm /tmp/W81FhZ9VAH/Payload/MyTestApp.app/embedded.mobileprovision -rf程序/bin/rm返回0:[]
  • /bin/cp -rp MyTestApp_Dis.mobileprovision MyTestApp_Dis.mobileprovision程序/bin/cp返回0:[]
  • /usr/bin/codesign -d --应享权利/tmp/W81FhZ9VAH/ is _rawixGWnKhi /tmp/W81FhZ9VAH/Payload/MyTestApp.app Program /usr/bin/codesign返回1: /tmp/W81FhZ9VAH/Payload/MyTestApp.app:代码对象根本不签名 '/tmp/W81FhZ9VAH/Payload/MyTestApp.app'错误:从读取权限失败
EN

回答 3

Stack Overflow用户

发布于 2013-12-02 09:44:45

嗯,我也有类似的问题。

运行“cordova buld ios --从shell中释放”,然后执行“xcrun.”之后对我有用,好吧。

但是:当在脚本中运行这个序列时,我会收到一个"Codesign检查失败.“错误也是..。

如果我在我的脚本中的cordova和xcrun调用之间插入(比如)一个“等待”循环,它就能工作。

所以-对我来说-似乎,科多瓦回到壳牌,而它还没有完全完成(?)

事实上,如果我把我的脚本写成

代码语言:javascript
复制
#!/bin/bash
cordova build ios --release
sleep 5
sh -c "xcrun ..."

对我来说很管用。问题:是科多瓦/phonegap的一个bug吗?

票数 2
EN

Stack Overflow用户

发布于 2013-12-03 10:14:51

同时,我发现:事实上,当科多瓦退出并返回壳牌时,科多瓦相关的活动还没有完成!

在cordova退出之后,需要一段时间才能显示'platforms/ios/AppName/_CodeSignature/CodeResources‘文件。这个文件显然是由xcrun命令启动的“codesign”成功所必需的。

所以我在我的脚本中这样做(我称之为“buildit.sh”)

代码语言:javascript
复制
#!/bin/bash
[...]
cordova build ios --release
signaturefile="platforms/ios/build/device/$appname/_CodeSignature/CodeResources"
echo DEBUG:signatur file is $signaturefile

while [ ! -f $signaturefile ]
do
  echo waiting
  sleep 1
done
xcrun ...

然后,在一个脚本中完成整个构建/打包过程。

但是:从我的ContinuousIntegration服务器Jenkins运行脚本,我发现这个条件可能是必要的,但还不够。从CI中我仍然得到了一个

/usr/bin/codesign --验证-vvvv .程序/usr/bin/codesign返回1:.代码对象根本没有签名。

错误!?

编辑(05.12.2013): --这是因为Jenkins服务无法访问密钥链。例如,在Jenkins工作中,在运行构建脚本之前对密钥链进行解锁,对其进行排序。(可能不是最优雅的解决方案,但至少它会导致问题不在脚本中:)

票数 2
EN

Stack Overflow用户

发布于 2013-11-15 09:35:03

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

CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO使用-configuration、-target和-sdk参数来定义您的构建设置。

禁用代码签名:

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

做IPA的

在“Project”中,选择产品,右键单击NameOfYourProject.app并选择'Show‘。创建一个文件夹并将其命名为“有效载荷”,将NameOfYourProject.app移动到“有效载荷”。压缩有效载荷并将其重命名为NameOfYourProject.ipa

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19783931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档