我试图从主要包中检索一些信息:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
CFStringRef bundleVer = CFBundleGetValueForInfoDictionaryKey(CFBundleGetMainBundle(), kCFBundleVersionKey);
NSString *appVersion = (__bridge NSString *)bundleVer;
}
我可以得到CFStringRef(在调试中我可以看到与变量关联的正确值),但是当我尝试将它转换为NSString时,我的appVersion变量有" null"价值(以前是零)。
我做错了什么?
我正在使用ARC。
编辑:我的项目似乎有问题,即使使用简单的静态赋值也无法分配每个NSString对象,测试变量的值为(null)NSString *test = @"";
答案 0 :(得分:1)
CFStringRef boundleVer = CFBundleGetValueForInfoDictionaryKey(CFBundleGetMainBundle(), kCFBundleVersionKey);
NSString *appVersion = (__bridge NSString *)(boundleVer);
它的工作风度在我身边,它正在返回“2”
答案 1 :(得分:0)
我会使用该代码而不是您当前的代码来获取相同的信息:
NSString *_shortVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
或
NSString *_version = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
注意:我不确定您最终需要哪些信息。