研究员,
我的iPhone应用程序版本已经在App Store中,所以在该版本中一切都很完美。
目前我正在进行更新,版本2.0。好吧,如果我在iPhone上安装这个版本作为一个全新的应用程序,它的效果非常好。应用程序启动时没有问题或运行时出现任何其他错误。
但现在出现了问题:如果我已经安装了1.0版,然后尝试使用2.0版更新应用程序(在Xcode中构建并在调试模式下运行),应用程序会在启动时立即崩溃。这非常令人困惑,因为如果它们构建为独立应用程序,则两个版本都能很好地工作。 另一个有趣的方面是更新适用于iOS模拟器,但不适用于设备。
在设备上运行更新,我收到以下错误之一(错误并不总是相同):
我的开发环境的其他信息:我在OS X Mountain Lion 10.8上使用Xcode 4.4。我的iPhone上的操作系统是iOS 5.1.1。
我发现崩溃是在应用程序之前引起的:didFinishLaunchingWithOptions:被调用,所以我的实际源代码不会导致问题。
对于那些仍然对didFinishLaunchingWithOptions
方法感兴趣的人:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//Navigation bar
UIImage *navigationBackground = [[UIImage imageNamed:@"EMSNavigationBarBackground.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 20, 0, 20)];
[[UINavigationBar appearance] setBackgroundImage:navigationBackground forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setTitleVerticalPositionAdjustment:-3.f forBarMetrics:UIBarMetricsDefault];
//Normal button
UIImage *button30 = [[UIImage imageNamed:@"EMSBarButtonItemNormal"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 5)];
UIImage *buttonHighlighted30 = [[UIImage imageNamed:@"EMSBarButtonItemPressed"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 5)];
[[UIBarButtonItem appearance] setBackgroundImage:button30 forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackgroundImage:buttonHighlighted30 forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackgroundVerticalPositionAdjustment:-3.f forBarMetrics:UIBarMetricsDefault];
//Back button
UIImage *buttonBack30 = [[UIImage imageNamed:@"EMSBarButtonItemBackNormal"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 13, 0, 5)];
UIImage *buttonBackHighlighted30 = [[UIImage imageNamed:@"EMSBarButtonItemBackPressed"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 13, 0, 5)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:buttonBack30 forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:buttonBackHighlighted30 forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonBackgroundVerticalPositionAdjustment:-3.f forBarMetrics:UIBarMetricsDefault];
return YES;
}
答案 0 :(得分:2)
我遇到了完全相同的问题。事实证明,我为同一个应用程序的新版本创建了一个具有不同名称的新项目。将项目名称更改回以前版本中的项目名称,问题就解决了!也许你的项目也是如此?您可以按如下方式编辑项目名称:
希望这有帮助!
答案 1 :(得分:0)
我有点类似的问题。当我第一次运行我的应用程序时安装了以前的版本我得到了“等待应用程序启动超时”错误,但第二次Xcode启动应用程序没有问题。事实证明,原因是我更改了目标的产品名称(选择目标,然后在产品名称的构建设置选项卡设置值)。然而,当我存档应用程序并使用iTunes安装在设备上时,它正常使用新名称启动,因此问题似乎是在Xcode中。