我试图根据我们iOS应用的Xcode中的构建配置更改服务器设置。我使用this guide作为基础。我在Info.plist中设置了配置属性,但是当我尝试在代码中获取它时,它会返回nil
。
在搜索解决方案和测试时,我发现我从nil
处获得了mainBundle
所有内容。这是我到目前为止在测试中声明的内容。我错过了什么/做错了什么?
NSBundle *bundle = [NSBundle mainBundle];
NSString *configuration = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"Configuration"];
NSString *bundleName = [[NSBundle mainBundle] bundleIdentifier];
NSString *otherName = [[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleNameKey];
我正在使用Xcode 9.3。
答案 0 :(得分:0)
在某些情况下,例如,当您的代码直接在Interface Builder中执行时,mainBundle
不会返回对象。因此,根据您的上下文,您可能希望使用bundleForClass:
。指定一个位于所需包中的类。
NSBundle *bundle = [NSBundle bundleForClass:[YourClass class]];
答案 1 :(得分:0)
原来我从发布配置中复制了我的调试配置。我注意到一些调试属性不一样。所以我删除并重新创建了新配置。这解决了这个问题。如果有人对发布版本中未找到捆绑信息的原因有任何具体说明,请发表评论。