У меня возникла проблема с отставкой .ipa-файла, который был ранее подписан с профилем распространения. Несмотря на то, что приложение успешно установлено через iTunes, он запускается при запуске. Мне нужно, чтобы разработчик подписал двоичный файл, чтобы запускать тесты приложения, но у меня нет источников, только файл ipa. Поэтому я сделал следующие шаги, чтобы подписать его с моим профилем.Отказ от .ipa от дистрибутива до профиля разработчика
unzip distrBuild.ipa
cp myProvisioningProfile.mobileprovision Payload/Application.app/embedded.mobileprovision
codesign -f -s "iPhone Developer: Nad Arian" --entitlements entitlements.plist Payload/Application.app
Мой entitlements.plist заключается в следующем:
<dict>
<key>keychain-access-groups</key>
<array>
<string>34XXXXXXXX.*</string>
</array>
<key>get-task-allow</key>
<true/>
<key>application-identifier</key>
<string>34XXXXXXXX.com.myapp.resigned</string>
<key>com.apple.developer.team-identifier</key>
<string>34XXXXXXXX</string>
<key>aps-environment</key>
<string>development</string>
</dict>
</plist>
Проблема заключается в том, что, несмотря на приложение успешно устанавливается через Itunes, он выходит из строя при запуске с этим журналов:
kernel[0] <Notice>: AMFI: QuickFix(pid 931) - [deny-mmap] process has team identifier 34XXXXXXXX: /private/var/mobile/Containers/Bundle/Application/57503E66-DC05-4F83-8EBC-1DC914238ACA/QuickFix.app/Frameworks/MFCoreData.framework/MFCoreData
kernel[0] <Notice>: AMFI: QuickFix(pid 931) - [deny-mmap] mapped file has team identifier Q6YYYYYYYY: /private/var/mobile/Containers/Bundle/Application/57503E66-DC05-4F83-8EBC-1DC914238ACA/QuickFix.app/Frameworks/MFCoreData.framework/MFCoreData
kernel[0] <Notice>: AMFI: QuickFix(pid 931) - [deny-mmap] mapped file does not the same team identifier as main process: /private/var/mobile/Containers/Bundle/Application/57503E66-DC05-4F83-8EBC-1DC914238ACA/QuickFix.app/Frameworks/MFCoreData.framework/MFCoreData
I пытался использовать флаг --deep
с кодами, но проблема все еще сохраняется. Это проблема с профилем подготовки или неправильными правами? Почему/где старый идентификатор команды сохраняется? Я также использовал инструмент iResign с тем же результатом.
Как это связано с appium? мы должны изменить тег, если нет? – nullpointer
Имеет ли приложение встроенные фреймворки или расширения? Возможно, вам также придется уйти в отставку. – Mats
@Mats Я попытался подать в отставку, как [здесь] (https://techblog.badoo.com/blog/2015/02/09/code-signing-and-distributing-swift/), но с тем же результатом. Это так странно, потому что мне удалось однажды уйти в отставку, и на этот раз я должен упустить какой-то шаг. – Nadarian