iPhone:更新版本不更新应用程序二进制文件?

时间:2011-08-08 13:58:51

标签: iphone app-store

我在Apple商店中有几个应用程序存活,我们刚刚发布了这些应用程序的更新版本,并增加了版本号。我发现所有资源都正在更新(更新的启动画面,背景图像等),但新添加的功能没有得到更新。例如,我已经包含了一个功能,以便iPhone应用程序从我的网站获取新内容。当我从Appstore更新列表更新应用程序时,它不会发生。

...但另一件奇怪的事情是,如果我从iPhone上删除应用程序并从Apple商店再次下载,那么一切正常!我无法理解发生了什么。有人可以帮我调试吗?

this我得到以下代码并添加到我的AppDelegate中。对我来说,它始终打印版本(null)。我可以看到我的Application-info.plist文件中正确设置了版本号!

#if DDEBUG // debugging/testing
NSString *versionString = [NSString stringWithFormat:@"v%@",[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"]];
#else
NSString *versionString = [NSString stringWithFormat:@"Version %@",[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"]];
#endif // DDEBUG
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setValue:versionString forKey:@"version"];
printf("Version: = %s\n", [versionString cStringUsingEncoding:NSMacOSRomanStringEncoding]);
[defaults synchronize]; // force immediate saving of defaults.

以下代码有效!我的意思是它打印application-info.plist文件中可用的正确版本!从here

获得
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSLog(@"Version: %@", version);
[defaults setObject:version forKey:@"version_preference"];
[defaults synchronize];

我可以在重新提交申请后确认这是否解决了这个问题。

感谢。

1 个答案:

答案 0 :(得分:0)

这有效:

NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSLog(@"Version: %@", version);
[defaults setObject:version forKey:@"version_preference"];
[defaults synchronize];
相关问题