2010-07-04 75 views
1

我想测试我的应用程序的新版本作为我的旧版本的更新。所以我从Appstore安装了旧版本。应用程序更新崩溃后显示default.png

这是我的问题: 当我尝试在我的设备(iphone 3G)上部署新版本时:build is ok,安装似乎没问题,但是当应用程序启动时,只有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效果很好!

这是否意味着当我的分发配置文件构建应用程序上安装的应用程序时,我无法使用我的开发人员配置文件安装我的应用程序的更新?

非常感谢您的帮助!

info: 我刚更新了xCode到最新版本3.2.3。 我也更新了我的iPhone 3G到OS4。

回答

2

系统本身似乎在应用程序加载时显示default.png。即使应用程序立即崩溃,default.png图片也可以显示。

在这种情况下,您正在使用旧的分发配置文件进行新的应用程序构建,并且旧配置文件中旧代码的身份散列与新代码的身份散列不匹配。

您无法用dev配置文件覆盖商店安装的应用程序。配置文件的存在恰恰是为了防止新代码在安装后插入到应用程序中。

我敢肯定,您将需要使用与开发人员配置文件一起安装的旧版本来测试升级过程。我在开发者工具中所知道的任何东西都可以让您覆盖部署配置文件。

+0

谢谢!这很明显! – Greg 2010-07-04 19:43:52

0

@TechZen你是什么意思,“你正在使用旧的分发配置文件为新的应用程序构建和旧的代码在旧的配置文件身份散列不匹配新代码的身份散列”。

什么是身份哈希?