我在4个月前通过OTA(无线)链接使用企业帐户分发证书安装了一个应用程序,并且工作正常至今。但令人惊讶的是,它已停止运行,即使它没有启动。我已经验证了证书,个人资料和企业帐户,一切都很完美。当我将设备与xCode的设备管理器连接时,它已打印在log:
下面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 :(得分:1)
我相信您用于构建应用的配置文件已过期。它们将在您创建它们的12个月后到期。
当您构建应用程序时,它将使用.app打包您在Xcode中选择的配置文件,并在安装应用程序时在设备上安装该配置文件。因此,假设您创建了一个应用程序,并且在2014年1月1日创建了构建1的配置文件。该应用程序可以安装和使用,直到2015年1月1日。如果您之前未更新该设备上的配置文件,则该应用将不再启动。
有两种可靠的解决方法可以更新设备上的配置文件。
创建新的配置文件(以便日后使用,请确保使用通配符应用程序ID设置此新配置文件,例如com.company。*)并重新构建应用程序(假设您在10上执行此操作) / 1/2014)。应用程序的Build 2现在将具有新的配置文件,该配置文件将在2015年1月10日之前到期。在此之前用户是好的,只要他们安装新版本。任何仍在运行build 1的人都将无法运行该应用程序,除非您执行下面的选项2。
使用新的配置文件构建另一个应用程序(只要您的新配置文件使用通配符应用程序ID)。将该应用程序安装到设备上。新应用程序的有效负载的一部分是新的配置文件,现在不会在2015年1月10日到期。该配置文件说“我有权运行并且捆绑ID的应用程序就像'com.company。*',直到2015年10月1日”。因此,原始应用程序的构建1将继续运行。但请注意,任何获得第一个应用程序构建1的人都需要获取新应用程序才能运行第一个应用程序。如果由于某种原因你不能重新构建app 1(丢失源代码,不能在当前版本的Xcode中编译),这可能是一个有用的策略。
或者,您可以将新的配置文件通过电子邮件发送给用户,并让他们在设备上打开它。我从iOS 6开始就没试过这个,所以它可能不再适用了。