我想测试我的应用程序的新版本作为我以前版本的更新。所以我从Appstore安装了旧版本。
这是我的问题: 当我尝试在我的设备(iphone 3G)上部署新版本时:构建正常,安装似乎没问题,但是当应用程序启动时,只有default.png在一切崩溃之前显示1秒。 在管理器 - 控制台中,我可以看到以下错误:
<Error>: entitlement 'keychain-access-groups' has value not permitted by a provisioning profile
<Error>: entitlement 'application-identifier' has value not permitted by a provisioning profile
<Warning>: Killing <SBApplication: 0x9aa5650> XXXXXX activate: deactivate: for app installation
...
UIKitApplication:AGLFRX2P2[0x1878][1034]) <Error>: (UIKitApplication:XXXXXX2[0x1878]) posix_spawn("/var/mobile/Applications/97DFB148-4C95-4DB4-AAA7-19DFE81C0BE1/XXXXXX.app/XXXXXX", ...): Permission denied
...
如果我在没有安装旧版本的iphone上做同样的事情(或者我自己从xCode部署了旧版本),那么eveything运行良好!
是否意味着当设备上安装的应用程序是使用我的分发配置文件构建时,我无法使用我的开发人员配置文件安装我的应用程序更新?
非常感谢你的帮助!
信息: 我刚刚将xCode更新到最新版本3.2.3。 我还将我的iPhone 3G更新为OS4。
答案 0 :(得分:2)
系统本身似乎在应用加载时显示default.png。即使应用程序立即崩溃,default.png图像也可以显示。
在这种情况下,您使用旧的分发配置文件进行新的应用程序构建,旧配置文件中旧代码的标识哈希值与新代码的标识哈希值不匹配。
您无法使用开发配置文件覆盖商店已安装的应用。配置文件的存在恰恰是为了防止新代码在安装后插入应用程序。
我很确定您需要使用随开发人员配置文件安装的旧版本来测试升级过程。我在开发人员的工具中所知道的任何内容都允许您覆盖部署配置文件。
答案 1 :(得分:0)
@TechZen你的意思是“你使用旧的分发配置文件进行新的应用程序构建,旧配置文件中旧代码的身份哈希与新代码的身份哈希不匹配。”?
什么是身份哈希?