好吧,我得到了一个运行正常的mac os命令
security import "/Users/xxx/Documents/AppCompiler/temp/CordovaBuildFiles/Certificates/IOSRelease/ios_Production.p12" -k "$KEYCHAIN" -P "PASSWORD" -A
但是,如果我想通过将P12存储到变量中使其更具动态性,它将失败,并显示'无此类文件或目录文件ios_Production.p12'
CERT="/Users/xxx/Documents/AppCompiler/temp/CordovaBuildFiles/Certificates/IOSRelease/ios_Production.p12"
security import "$CERT" -k "$KEYCHAIN" -P "$PASSWORD" -A
我也曾尝试设置$ CERT =“ ios_Production.p12”并在调用之前移至该文件夹。
任何人都可以就可能导致这种情况的发生分享任何看法吗?
**更新为Mark Setchell指出了代码错误-感谢原文中的mark。我还更改了存储文件夹。
返回的完整错误是:安全性:读取文件/ Users / xxx / Documents / AppCompiler / temp / Cordov中的错误:没有此类文件或目录SRelease / ios_Production.p12
确定,我决定将ios_Production.p12移到Documents文件夹中,并且可以正常工作,所以我创建了另一条CERT行,然后逐个文件夹地将它们添加回去,出于某种原因,我现在对此感到困惑,现在可以正常工作。下面是两行:
cert =“ / Users / xxx / Documents / AppCompiler / temp / CordovaBuildFiles / Certificates / IOSRelease / ios_Production.p12”
cert =“ / Users / xxx / Documents / AppCompiler / temp / CordovaBuildFiles / Certificates / IOSRelease / ios_Production.p12”
您会以为您是100%的人而认为您看到了双重,这是可以原谅的,我已经在差异检查器中对它们进行了比较,但是取决于注释掉的那一行取决于导入是否有效。我真的希望这对某人有意义,因为我要在这里秃顶...
CERT="/Users/xxx/Documents/AppCompiler/keys/prod/prodx.p12"
security import "$CERT" -k "$KEYCHAIN" -P "$PASSWORD" -A
语法是这样的。如果您设置了一个shell变量,请在没有美元且没有空格的情况下执行此操作:
variable="..."
如果访问变量的内容,请用双引号引起来并使用美元:
echo "$variable"
并且,通常,避免使用大写字母组成的变量名称,以确保不与内置变量冲突,因此,您的CERT
应该确实是cert
,但这在这里并不重要。