2016-02-22 4 views
2

У меня возникла проблема с отставкой .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 с тем же результатом.

+0

Как это связано с appium? мы должны изменить тег, если нет? – nullpointer

+0

Имеет ли приложение встроенные фреймворки или расширения? Возможно, вам также придется уйти в отставку. – Mats

+0

@Mats Я попытался подать в отставку, как [здесь] (https://techblog.badoo.com/blog/2015/02/09/code-signing-and-distributing-swift/), но с тем же результатом. Это так странно, потому что мне удалось однажды уйти в отставку, и на этот раз я должен упустить какой-то шаг. – Nadarian

ответ

0

Вы должны уволиться рамки перед подписанием .app

codesign -f -s “codeSigningCertificateName“ applicationName.app/Frameworks/* 

Примечание:

Если вы отставку в .app, используя тот же сертификат это выше шаг не является необходимым.

+0

Я пробовал это, но для меня он все еще сбой при запуске с той же самой же ошибкой - «сопоставленный файл не имеет того же командного идентификатора, что и основной процесс». Любая идея, что еще можно попробовать? – SaiyanGirl

+0

Вы подписали все рамки? вы пробовали с * wild card? –

+0

Да, да. У меня только один Framework, но я пробовал с дикой картой и без нее. Я отправил вопрос, который показывает всю трассировку стека аварии - если у вас есть время, можете ли вы, возможно, взглянуть на него и посмотреть, видите ли вы что-нибудь еще, что я могу сделать неправильно? Благодарим за ваше предложение! – SaiyanGirl

Смежные вопросы