gpt4 book ai didi

ios - 使用 xcrun 打包时的怪异(使用变量时代码设计失败)

转载 作者:行者123 更新时间:2023-11-29 09:30:23 27 4
gpt4 key购买 nike

遇到此行为时,我尝试参数化我的应用程序构建脚本:该应用程序已经构建(使用“cordova build ios --release”)并且可用。

调用时:

   $ xcrun ... -sign "iPhone Developer: XXX" -embed ...

一切顺利。到目前为止,一切都很好 :)现在我想在调用中使用一个变量,例如:

   $ identity="iPhone Developer: XXX" 
$ xcrun ... -sign $identity -embed ...

我稍后将 $identity 参数传递给我的构建脚本

像上面那样执行“xcrun ...”逻辑上会导致“codesign”命令仅将“iPhone”作为参数并失败(当然:)

因此我试图掩盖 $identity

最接近成功的是使用

   $ xcrun ... -sign \""$identity"\"  -embed ...

这导致 xcrun 调用“代码设计”,例如

   $ xcrun ... -sign \""$identity"\"  -embed ...
[...]
/usr/bin/codesign ... --sign "iPhone Developer: XXX" ...
Program /usr/bin/codesign returned 1 : ["iPhone Developer: XXX": no identity found
]

有趣的是,直接从 shell (/bin/bash) 执行命令可以正常工作!!?

我也尝试定义 $identity 已经有双引号,但在没有引号的情况下会遇到初始行为。到目前为止,在各种组合中使用单引号也无济于事。

知道为什么 xcrun 出错了吗? ... 或者,如何以不同的方式做到这一点?就像说的那样:目标是拥有一个参数化的构建脚本

--------系统参数--------$ uname -aDarwin allianz 13.0.0 Darwin 内核版本 13.0.0:2013 年 9 月 19 日星期四 22:22:27 PDT; root:xnu-2422.1.72~6/RELEASE_X86_64 x86_64

$ xcrun -版本xcrun 版本 22。

最佳答案

好吧,这种怪异似乎是因为我像这样组装了命令行

   xcrun -sdk iphoneos PackageAppliction $package -o $ipafile -sign \"$identity
\" -embed $profile

首先将零件(option1 $variable1 option2 $variable2 ...等)组装成一个字符串,比如

   assembledstring="-sdk iphoneos PackageAppliction $package -o $ipafile -sign \"$identity
\" -embed $profile"

然后才做一个

   sh -c "xcrun $assemledstring"

对问题进行排序。

关于ios - 使用 xcrun 打包时的怪异(使用变量时代码设计失败),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20284237/

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