2016-03-22 2 views
1

Мы недавно получили некоторые жалобы от наших пользователей о том, что он не может запустить приложение после обновления нашего приложения до новой версии в Apple App Store. Экран становится черным в течение секунды после нажатия на значок приложения, и он возвращается на главный экран.Приложение в iOS потерпело крах после обновления до новой версии

Не зарегистрирован журнал аварий. Вот единственный журнал, который я могу получить из окна Устройства Xcode.

Mar 9 13:56:54 SST-iPhone5S-Black kernel[0] <Debug>: AppleFairplayTextCrypterSession::fairplayOpen() failed, error -42017 
Mar 9 13:56:54 SST-iPhone5S-Black backboardd[31] <Warning>: Unable to obtain a task name port right for pid 146: (os/kern) failure (5) 
Mar 9 13:56:54 SST-iPhone5S-Black com.apple.launchd[1] (UIKitApplication:com.abc.def[0xdfdd][146]) <Notice>: (UIKitApplication:com.abc.def[0xdfdd]) Exited: Killed: 9 
Mar 9 13:56:54 SST-iPhone5S-Black com.apple.launchd[1] (UIKitApplication:com.abc.def[0xdfdd]) <Error>: (UIKitApplication:com.abc.def[0xdfdd]) assertion failed: 11D257: launchd + 99240 [802BC42B-7AAC-33FE-8B52-C441858B62B5]: 0x16 
Mar 9 13:56:54 SST-iPhone5S-Black com.apple.launchd[1] (UIKitApplication:com.abc.def[0xdfdd]) <Error>: (UIKitApplication:com.abc.def[0xdfdd]) assertion failed: 11D257: launchd + 99240 [802BC42B-7AAC-33FE-8B52-C441858B62B5]: 0x16 
Mar 9 13:56:54 SST-iPhone5S-Black backboardd[31] <Warning>: Could not set priority of [146] to 1, priority: No such process 
Mar 9 13:56:54 SST-iPhone5S-Black backboardd[31] <Warning>: Could not set priority of [146] to 0, priority: No such process 
Mar 9 13:56:54 SST-iPhone5S-Black com.apple.launchd[1] (UIKitApplication:com.abc.def[0xdfdd]) <Notice>: (UIKitApplication:com.abc.def[0xdfdd]) Throttling respawn: Will start in 2147483647 seconds 
Mar 9 13:56:54 SST-iPhone5S-Black backboardd[31] <Warning>: Application 'UIKitApplication:com.abc.def[0xdfdd]' exited abnormally with signal 9: Killed: 9 

Примечание: пожалуйста, игнорируйте идентификатор пучка.

Я искал через Google и выяснил, что это проблема с iOS DRM (fairplay). Однако большинство результатов, которые я нашел, содержат код ошибки в первой строке журналов, и это не похоже на ту же проблему.

Согласно моему тесту, я узнал, что эта проблема возникла только на iOS7.

У кого-нибудь возникла эта проблема? Или кто-нибудь знает, как я могу узнать значение ошибки -42017? Любая обратная связь будет оценена.

ответ

0

Если это только сбой приложения, убедитесь, что вы не внесли никаких изменений в keychain или nsuserdefaults в обновленной версии. Или убедитесь, что вы правильно обработали дешифрование его из хранилища. Это может привести к открытию приложения после обновления новой версии.

+0

Благодарим вас за отзыв. Мы не сохраняем данные для связывания ключей, поэтому это не должно быть проблемой, но я не уверен в ключе nsuserdefaults. Я попытаюсь проверить, внесли ли мы какие-либо изменения в него непреднамеренно. – Nirote

0

В прошлом AppleFairplayTextCrypterSession::fairplayOpen() произошел, когда хранилище приложений служило поврежденным двоичным файлам для некоторых пользователей. Ваш код даже не работает, проблема заключается в том, что iOS пытается проверить подпись в двоичном файле и не удается. iOS может сказать, что приложение повреждено и отказывается его запускать.

Единственное мгновенное решение заключается в том, чтобы пользователи удалили приложение и переустановили его, и надеемся, что на данный момент магазин приложений работает правильно. Вы также можете загрузить обновление (даже если ничего не изменилось), чтобы он отображался как «новый», и люди с проблемой получат новую копию таким образом. Вы также должны связаться с Apple прямо об этом, так как они единственные, кто может это исправить.

+0

Благодарим вас за отзыв. – Nirote

+0

Полагаю, вы говорили о проблеме, описанной в этой ссылке https://marco.org/2012/07/04/app-store-corrupt-binaries. Согласно ссылке, на самом деле эта проблема вызвала еще один код ошибки в fairplayOpen(), который был равен -42110. Вот почему я думаю, что это, вероятно, другая проблема. Переустановка приложения решает проблему, но я хотел бы избежать этой опции, потому что все данные сохраняются. Загрузка нового обновления, похоже, не устраняет проблему, так как некоторые пользователи пытались обновить все обновления, которые были выпущены, и проблема не устранена. – Nirote

+0

Если это проблема FairPlay, это не ваша вина, и это не то, что вы можете исправить напрямую. Это ошибка Apple, и ваш единственный вариант - заменить сломанную копию хорошим, а также пожаловаться на Apple и надеяться, что они смогут что-то сделать. Другой код ошибки, вероятно, означает, что точная причина отказа отличается, но тот факт, что это FairPlay по-прежнему означает, что вы не можете исправить напрямую. –

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