gpt4 book ai didi

ios - 从命令行代码设计 ios 应用程序

转载 作者:行者123 更新时间:2023-12-02 07:06:35 25 4
gpt4 key购买 nike

我正在为我的 ios 开发创建命令行工作流程,但我陷入了最后阶段:协同设计。

我为armv7和armv7s构建了一个应用程序,链接它并创建应用程序包:

$ codesign -d -v path/to/myapp.app
Executable=/path/to/myapp.app/myapp
Identifier=com.mycompany.myapp
Format=bundle with Mach-O universal (armv7 armv7s)
CodeDirectory v=20200 size=2292 flags=0x0(none) hashes=105+5 location=embedded
Signature size=4332
Signed Time=Sep 7, 2014, 2:47:55 AM
Info.plist entries=26
TeamIdentifier=XXXXXX
Sealed Resources version=2 rules=5 files=3
Internal requirements count=1 size=192

我从以下位置获得了协同设计哈希值 XXXXX:

$ security find-identity -pcodesigning -v
1) XXXXX "iPhone Developer: My Name (YYYY)"
1 valid identities found

但是,在我使用以下代码进行协同设计之后:

codesign --force -vvvv --sign XXXXX --resource-rules=path/to/myapp.app/ResourceRules.plist --entitlements path/to/myapp.xcent path/to/myapp.app
path/to/myapp.app: replacing existing signature
path/to/myapp.app: signed bundle with Mach-O universal (armv7 armv7s) [com.mycompany.myapp]

看起来还是不高兴:

$ codesign --verify -vvvv path/to/myapp.app
path/to/myapp.app: invalid Info.plist (plist or signature have been modified)
In architecture: armv7s

作为引用,我使用 xcode 构建了一个(类似的)应用程序(我实际上使用日志中的 codesign 行来签署此应用程序),并且它工作得很好:

$ codesign --verify -vvvv path/to/otherapp.app
path/to/otherapp.app: valid on disk
path/to/otherapp.app: satisfies its Designated Requirement

我确信我有正确的代码签名哈希,因为我已经通过 xcode 签署并部署了应用程序。我只是试图在命令行上重现相同的步骤,但惨败了。显然,如果我更改了 info.plist 或其他内容,我会期望看到此错误,但我不希望在执行协同设计步骤后立即看到它。一些黑魔法在这里起作用。有人可以提供一些线索或提供一些帮助吗?

编辑:

我删除了armv7s并刚刚构建了armv7,现在在协同设计验证阶段似乎很高兴,但是我仍然无法部署应用程序,日志中出现以下错误:

installd[26777]:0x10050c000 verify_signer_identity:/var/tmp/install_staging.Mvi7tR/myapp.app/myapp 的 MISValidateSignatureAndCopyInfo 失败:0xe8008019

我不知道发生了什么:\

另一个编辑:

我的codesign验证又失败了,呵呵。所以,如果我验证 myapp.app,那么它会说一切正常。但是,如果我尝试直接验证 myapp.app/myapp 二进制文件,则会显示验证失败(除了架构 armv7 外,均出现上述错误)

最佳答案

长话短说,如果我共同设计 myapp.app/myapp 而不是 myapp.app,那么我可以将该应用程序部署到我的手机上,不会出现任何问题。我似乎还无法对两者进行协同设计,因为 myapp.app/myapp 或 myapp.app 之一无法进行协同设计 --verify,但现在已经足够好了,因为我可以部署该应用程序。

希望这可以帮助那些正在用头撞墙的人。

我会尝试弄清楚是否可以以某种方式在一行上共同设计两者,但这是一个小问题。

关于ios - 从命令行代码设计 ios 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25714611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com