iOS应用程序更新testing

有没有一种方法,虽然它想testing应用程序何时更新?

我很尴尬,因为只有在应用程序更新时才会出现一个错误,并且不会进行调查。

如果您问是否要通过应用程序商店更新应用程序时,我不知道这种方法。

hackie的做法是将当前应用程序版本保存到NSUserDefaults,然后检查NSUserDefaults应用程序版本是否与当前应用程序版本相同。

例如:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSString *currentAppVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]; if ([defaults objectForKey:@"savedAppVersionKey"] != nil) { //key exists NSString *savedAppVersion = [[NSUserDefaults standardUserDefaults] objectForKey:@"savedAppVersionKey"]; if ([currentAppVersion isEqualToString:savedAppVersion]) { //still running the same app version } else { //the app version changed from the last launch } } else { //first run, set the key & synchronize [[NSUserDefaults standardUserDefaults] setObject:currentAppVersion forKey:@"savedAppVersionKey"]; [[NSUserDefaults standardUserDefaults] synchronize] } } 

我没有testing代码,但它应该工作。

谢谢,

-大卫

而不是从Xcode运行你的应用程序,你可以拖动应用程序到你的iTunes。 在这之后,当你同步的时候,应用程序将被iTunes安装(你将需要安assembly置文件,但是如果你可以运行Xcode,你已经拥有了)。 然后,您可以将较新版本的应用程序拖放到iTunes,并通过同步进行更新(请确保已更改应用程序版本,否则iTunes不会更新应用程序)。

我不知道这个更新过程中是否会发生同样的过程,但是我相信这是我们能做的最好的testing。

这可能有帮助,因为它是苹果推荐的方式来testing您的应用程序中的更新http://developer.apple.com/library/ios/#technotes/tn2285/_index.html#//apple_ref/doc/uid/DTS40011323

最好的方法是创build一个包含旧版应用程序的开发configuration文件的ipa文件。 有人提到你可以将这个文件与iTunes同步。 其实这不是最简单的方法, 请使用X代码pipe理器将“ipa”文件拖到“设备”>“您的设备名称”>“应用程序”下的设备中。 这将立即安装应用程序的旧版本。

在这一点上,在这一点上启动你的应用程序可能是重要的,并重新创build任何情况下,你试图重新创build。 (注意:X代码pipe理器允许您使用“设备”选项卡上pipe理器底部的“下载”和“上传”选项卡将文件传入/传出沙盒,因此可能不需要执行所有状态手动创build逻辑)。

一旦安装了旧应用程序并处于您尝试重新创build的状态,您可以在旧版应用程序之上启动新应用程序,或从Test-Flight / X-Code Organizer部署新的ipa。

特别是从debugging器启动时,看起来好像bundle / sandbox位置不会/不会改变; 当从Test-Flight更新它时。 目前我还不清楚这个位置是否可以从iTunes上更新实际的应用程序更新,但这绝对是您在testing中要考虑的事情。