我在使用PHP对IPA文件重新签名时遇到问题
这是我的代码:
<?php
/*
unzip app.ipa
rm -rf Payload/MyApp.app/_CodeSignature/
cp ~/Downloads/AdHoc.mobileprovision Payload/MyApp.app/embedded.mobileprovision
codesign -f -s "iPhone Distribution: Company Certificate" --resource-rules Payload/MyApp.app/ResourceRules.plist Payload/MyApp.app
zip -qr app-resigned.ipa Payload/
*/
if(file_exists('app.ipa')) {
rename('app.ipa', 'app.zip');
$zip = new ZipArchive;
$res = $zip->open('app.zip');
if ($res === TRUE) {
$zip->extractTo('C:/Users/abdul/Dropbox/127.0.0.1/ios');
$zip->close();
}
}
// remove _CodeSignature
if(file_exists('Payload/Gab.ai ObjC.app/_CodeSignature')) {
$dir = 'Payload/Gab.ai ObjC.app/_CodeSignature';
$it = new RecursiveDirectoryIterator($dir, RecursiveDirectoryIterator::SKIP_DOTS);
$files = new RecursiveIteratorIterator($it,
RecursiveIteratorIterator::CHILD_FIRST);
foreach($files as $file) {
if ($file->isDir()){
rmdir($file->getRealPath());
} else {
unlink($file->getRealPath());
}
}
rmdir($dir);
}
unlink('Payload/Gab.ai ObjC.app/embedded.mobileprovision');
// copy mobileprovision file
copy('embedded.mobileprovision', 'Payload/Gab.ai ObjC.app/embedded.mobileprovision');
// i think there is a problem here!
exec('codesign -f -s "iPhone Distribution: ****" --resource-rules Payload/Gab.ai ObjC.app/ResourceRules.plist Payload/Gab.ai ObjC.app');
?>我有app.ipa,embedded.mobileprovision和我的发行版。
但是我认为执行的问题是当使用codesign时它不能创建_CodeSignature文件夹!
我对这种协同设计一无所知。
有没有人能帮我?
发布于 2018-04-20 02:18:36
首先,"codesign“二进制文件只能在OSX上运行。
您遇到的另一个问题是权限限制。你需要chmod的php脚本以及输出文件夹"the ipas Working directory“。
我知道我的回复太晚了,我只是看到了帖子,虽然提到了我以前的解决方案,但它已经修复了。
祝好运
https://stackoverflow.com/questions/48036090
复制相似问题