2016-07-04 62 views
0

我的项目中的每个目标都必须具有不同的info.plist。我想从BuildSettings> Packaging> Info.plist文件中以编程方式获取名称,但不知何故,我无法真正检索plist列表文件名。有没有办法以编程方式检索plist?如何获取INFOPLIST_FILE名称iOS

NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleInfoPlistURL") 

只给了我

Info.plist -- file:///Users/XXXX/Library/Developer/CoreSimulator/Devices/XXXXXX-9B37-4C3D-88E9-XXXXX62B470/data/Containers/Bundle/Application/7XXXXXXXB-BE36-4D3E-9C90-XXXXX/PROJECT%20KOL.app/ 

enter image description here

回答

0

其实NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleInfoPlistURL")返回NSURL对象。从中提取absoluteString,它会给你plist文件的名字。检查下面的代码。对不起,在Objective-C给出答案,因为我不知道Swift

NSDictionary *infoDict = [NSBundle mainBundle].infoDictionary; 
NSString *plistFilePath = [[infoDict objectForKey:@"CFBundleInfoPlistURL"] absoluteString]; 
NSString *plistFileName = [[plistFilePath componentsSeparatedByString:@"/"] lastObject]; 

plistFileName是必需的文件名(带扩展名的.plist)