2015-02-17 4 views
1

Я установил одно приложение, использующее сертификат распространения корпоративного аккаунта через ссылку OTA (по воздуху) до 4 месяцев, и до сегодняшнего дня он работает нормально. Но сегодня на удивление его останавливают, даже он не запускается. Я проверил сертификат, профиль и учетную запись предприятия, и все это прекрасно. Когда я подсоединенное устройство с организатором устройства в Xcode, он напечатал ниже журнала:iOS: уже установленное приложение не запускается и не запускается каждый раз при запуске

Feb 17 10:07:50 iPad amfid[159] <Error>: entitlement 'application-identifier' has value not permitted by provisioning profile 'Mobile Consign ProdDistributionProvisioningProfile' 
Feb 17 10:07:50 iPad amfid[159] <Error>: /private/var/mobile/Containers/Bundle/Application/FFC8CCE7-BEFD-4801-B64E-974F3B967171/Consignment Replenishment Production copy.app/Consignment Replenishment Production copy not valid: 0xe8008016: The executable was signed with invalid entitlements. 
Feb 17 10:07:50 iPad kernel[0] <Notice>: AMFI: hook..execve() killing pid 452: no code signature 
Feb 17 10:07:50 iPad kernel[0] <Notice>: Sandbox: hook..execve() killing pid 452: application requires container but none set 
Feb 17 10:07:50 iPad com.apple.xpc.launchd[1] (UIKitApplication:com.XYZ.mobileconsign[0xc119][452]) <Notice>: Service exited due to signal: Killed: 9 
Feb 17 10:07:50 iPad assertiond[53] <Warning>: Unable to obtain a task name port right for pid 452: (os/kern) failure (5) 
Feb 17 10:07:50 iPad SpringBoard[41] <Warning>: Unable to register for exec notifications: No such process 
Feb 17 10:07:50 iPad SpringBoard[41] <Warning>: Unable to obtain a task name port right for pid 452: (os/kern) failure (5) 
Feb 17 10:07:50 iPad SpringBoard[41] <Warning>: Unable to obtain a task name port right for <FBApplicationProcess: 0x15e00b00; com.XYZ.mobileconsign; pid: 452> 
Feb 17 10:07:50 iPad SpringBoard[41] <Warning>: Unable to get short BSD proc info for 452: No such process 
Feb 17 10:07:50 iPad SpringBoard[41] <Warning>: Unable to get proc info for 452: No such process 
Feb 17 10:07:50 iPad SpringBoard[41] <Warning>: Unable to register for exec notifications: No such process 
    Feb 17 10:07:50 iPad SpringBoard[41] <Warning>: Unable to obtain a task name port right for pid 452: (os/kern) failure (5) 
Feb 17 10:07:50 iPad SpringBoard[41] <Warning>: Unable to obtain a task name port right for <FBApplicationProcess: 0x15e00b00; com.XYZ.mobileconsign; pid: 452> 
Feb 17 10:07:50 iPad SpringBoard[41] <Warning>: Unable to get short BSD proc info for 452: No such process 
    Feb 17 10:07:50 iPad SpringBoard[41] <Warning>: Unable to get proc info for 452: No such process 
    Feb 17 10:07:50 iPad assertiond[53] <Warning>: Could not set priority of <BKNewProcess: 0x14640cc0; com.XYZ.mobileconsign; pid: 452; hostpid: -1> to 1, priority: No such process 
    Feb 17 10:07:50 iPad assertiond[53] <Warning>: Could not set priority of <BKNewProcess: 0x14640cc0; com.XYZ.mobileconsign; pid: 452; hostpid: -1> to 0, priority: No such process 
    Feb 17 10:07:50 iPad locationd[59] <Notice>: Gesture EnabledForTopCLient: 0, EnabledInDaemonSettings: 0 
    Feb 17 10:07:50 iPad SpringBoard[41] <Warning>: Application 'UIKitApplication:com.XYZ.mobileconsign[0xc119]' exited abnormally via signal. 

Когда я удалить приложение и повторно установить приложение из URL, то приложение начало работать снова. Но я распространил приложение никому из пользователей, и все они сталкиваются с этой проблемой прямо сейчас. Поэтому для меня важно знать, почему эта проблема возникает, пока все в порядке.

Заранее спасибо.

+0

Enterprise Apps истекает каждые 6 месяцев или что-то в этом роде, вы уверены, что оно не просто истекло? – Raspu

+0

@Raspu: Я не нашел никакой документации, как вы сказали выше. Не могли бы вы предоставить мне ссылку или PDF, которые описывают это. Это будет очень полезно для меня. Спасибо – Nikh1414

+0

Взгляните на этот ответ: http://stackoverflow.com/questions/9216485/how-to-manage-enterprise-distribution-certificate-expiration (я не специалист по этой проблеме, заметьте). – Raspu

ответ

1

Я считаю, что профиль обеспечения, который вы использовали для его создания, истек. Срок действия истекает через 12 месяцев с момента их создания.

Когда вы создаете приложение, оно будет упаковывать профиль обеспечения, который вы выбрали в Xcode, с .app, и этот профиль обеспечения будет установлен на устройстве при установке приложения. Итак, предположим, вы создали приложение, а профиль обеспечения с помощью сборки 1 был создан 1 января 2012 года. Это приложение можно установить и использовать до 1 января 2015 года. Если вы до этого не обновляете профиль обеспечения на этом устройстве, приложение больше не будет запускаться.

Существует два надежных способа обновления профиля обеспечения на устройстве.

  1. Создать новый профиль обеспечения (для простоты позже, убедитесь, что этот новый профиль инициализации устанавливаются с шаблонным идентификатор приложением, как com.company. *) И перестраивать приложение (скажем, вы делаете это на 10/1/2014). У сборки 2 приложения теперь будет новый профиль подготовки, который не будет действовать до 10/1/2015. До сих пор пользователи добрались до тех пор, пока они устанавливают новую версию. Любой, кто все еще работает build 1, не сможет запустить приложение, ЕСЛИ вы делаете вариант 2 ниже.

  2. Создайте еще одно приложение с новым профилем подготовки (если ваш новый профиль обеспечения использует идентификатор приложения подстановочного знака). Установите это приложение на устройство. Часть полезной нагрузки нового приложения - это новый профиль обеспечения, который теперь не истекает до 10/1/2015. В этом профиле говорится: «Я уполномочен запускать и приложения с идентификатором пакета, который похож на« com.company. * »До 10/1/2015». Таким образом, сборка 1 оригинального приложения будет продолжать функционировать. Обратите внимание, однако, что любому, кто получает сборку 1 первого приложения, также потребуется получить новое приложение, чтобы запустить первое приложение. Это может быть полезной стратегией, если по какой-то причине невозможно перестроить приложение 1 (потерял исходный код, не компилируется в текущей версии Xcode).

В качестве альтернативы, вы можете отправить электронное сообщение с новым профилем подготовки пользователей и открыть их на устройстве. Я не пробовал это с iOS 6, поэтому он больше не работает.