У меня проблема с переподписыванием файлов IPA с помощью PHP
это мой код:
<?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 и мой дистрибутив.
но я думаю, что проблема с Exec при использовании CodeSign это не создает папку _CodeSignature!
я понятия не имею об этом кодовом знаке.
кто-нибудь может мне помочь?
Прежде всего, бинарный файл «Cossign» будет работать только на OSX.
Другая проблема, с которой вы столкнулись, связана с ограничением разрешений. вам нужно выполнить chmod как скрипт php, так и папку out put «Рабочий каталог ipas».
я знаю, что мой ответ слишком поздно, я только что видел сообщение и хотя упомянуть решение, как у меня было раньше, и оно было исправлено.
Удачи
Других решений пока нет …