php mac 常用代码,在Mac上使用PHP exec shell(代码签名)重新分配IPA
我寫了一些代碼來打包channel IPA,并用shell重新設計IPA。當我在命令行中運行這個shell時,它可以正常工作。
#!/bin/bash
name=$1
needchannel=$2
appName="$name.app"
ipa="$name.ipa"
plistName="${name}_${needchannel}.plist"
# echo "${1} ${2} $ipa"
if [ ! -f "./Payload" ];then
# echo "not exit Payload"
unzip $ipa
chmod -R 0777 Payload
else
echo "exit Payload"
fi
cd Payload
cd $appName
ipaPath="${name}_${needchannel}.ipa"
/usr/libexec/PlistBuddy -c "set Channel $needchannel" "Channel.plist"
cd ../..
/usr/bin/codesign -f -s "iPhone Distribution: xxxx, ooo" --entitlements entitlements.plist "Payload/${appName}"
zip -rq "./app/${ipaPath}" "Payload"
PHP代碼:
$webid = $_GET["webid"];
$appfinder = "./app/";
$filename = "Channel_".$webid.".ipa";
if (!file_exists($appfinder.$filename))
{
$shell = "sh produceApp.sh Channel $webid";
system($shell, $status);
if( $status ){
echo "produceApp error";
var_dump($status);
return;
}
}
?>
我不知道為什么shell在命令行中運行成功,而在PHP中運行失敗。
除了密碼之外,一切都正常。
$shell = "/usr/bin/codesign -f -s \"iPhone Distribution: xxx, ooo\" --entitlements entitlements.plist \"Payload/Channel.app\"";
echo "$shell";
echo "
";
system($shell, $status);
print_r($status);
?>
chrome show shell是:
/usr/bin/codesign -f -s "iPhone Distribution: xxx, ooo" --entitlements entitlementds.plist "Payload/Channel.app"
函數system()返回$status為1。。
總結
以上是生活随笔為你收集整理的php mac 常用代码,在Mac上使用PHP exec shell(代码签名)重新分配IPA的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 银行卡吞第二天能取吗
- 下一篇: 静电场的有限差分法与matlab 仿真课