【问题标题】:Cordova build iOS release on the CLI failing codesign checkCordova 在 CLI 未通过代码设计检查时构建 iOS 版本
【发布时间】:2014-11-28 03:55:37
【问题描述】:

我正在尝试使用 xcodebuild 工具从 Cordova 构建的 iOS .app 文件生成发布 .ipa 文件。

我使用的是 OSX v10.9.5、Xcode 6.0.1、Cordova 3.5.0-0.2.7。

当我将目录更改为我的 Cordova 项目时,我运行以下命令:

cordova build ios --release

这会按预期在platforms/ios/build/emulators 文件夹中生成 .app 文件。

然后我运行以下命令对 .app 进行签名:

codesign -s "code sign certificate" path-to/my.app

然后我验证:

codesign -dv path-to/my.app

这会返回类似这样的内容以表明 .app 已签名:

Identifier=com.myapp.name
Format=bundle with Mach-O thin (i386)
CodeDirectory v=20200 size=3942 flags=0x0(none) hashes=190+3 location=embedded
Signature size=4359
Signed Time=3 Oct, 2014 10:55:16 am
Info.plist entries=21
TeamIdentifier=TQY89NPL4X
Sealed Resources=none
Internal requirements count=2 size=1004

这似乎是正确的。

然后我生成一个存档,从中创建一个 .ipa 文件:

xcodebuild clean archive -scheme myApp -target myApp -sdk iphoneos -configuration AdHoc CODE_SIGN_IDENTITY="the code sign identity" PROVISIONING_PROFILE="UDID of provisioning profile"

这工作正常并成功。

使用生成的存档我使用这个命令来尝试生成一个 .ipa 文件:

xcodebuild -project myApp.xcodeproj -exportArchive -exportFormat ipa -archivePath /path-to/myApp.xcarchive  -exportPath $(pwd)/myApp.ipa CODE_SIGN_IDENTITY="code sign identity" -alltargets -configuration Release

这确实会在正确的位置生成 .ipa,但我收到一个令人担忧的通知/错误,表明协同设计验证失败:

Codesign check fails : /myApp.app: resource envelope is obsolete

我担心生成的.ipa在提交时会因为codesign失败而被应用商店拒绝。

在这个过程中有什么我做错了吗?

如何让 .app 通过协同设计验证步骤?

通过协同签名验证真的重要吗?

有没有办法在提交之前测试.ipa文件以保证它不会被拒绝?

【问题讨论】:

    标签: ios xcode cordova xcodebuild ipa


    【解决方案1】:

    尝试使用 xcrun 命令打包应用并生成 ipa xcrun manual page

    示例:

    xcrun -sdk iphoneos PackageApplication -v "${PRODUCTDIR}/${TARGET}.app" -o "${OUTDIR}/${TARGET}.ipa" --sign "${IDENTITY}" --embed "${PROVISONING_PROFILE}"
    

    我用它来创建可以上传到 TestFlight 的 .ipa 文件。

    【讨论】:

    • 当我尝试这个时,我收到一个错误,提示无法将配置文件从现有位置复制到 tmp 文件夹
    • 对于配置文件变量,您是传递绝对路径还是仅传递文件名?
    • 我应该使用绝对路径还是文件名?
    • 所以我为我的配置文件使用绝对路径,并且只是我的代码签名身份的名称。我会尝试以 su/sudo 身份运行,如果错误提示无法复制,也可能存在权限问题。
    • 只是想在这里评论一下,自从 iTunes Connect 使用该服务后,testflightapp.com 已正式下线。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-20
    • 1970-01-01
    • 2021-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多