Idu*_*ool 31 iphone xcode build-process objective-c
我们知道Xcode维护环境变量${TARGET_NAME}但是如何在Objective-C代码中访问这个变量?
我试过了什么?
我"TARGET_NAME=${TARGET_NAME}"在Build Settings的Preprocessor宏部分添加了这个.但是现在我不确定如何"TARGET_NAME"在Objective-C代码中将此变量用作字符串.
在我的情况下,产品名称和目标名称是不同的,所以没有机会使用它.
我试图访问使用
#ifdef TARGET_NAME
NSLog(@"TargetIdentifier %@",TARGET_NAME);
#endif
Run Code Online (Sandbox Code Playgroud)
此代码给出错误,例如"使用未声明的标识符'myapptargetname'"
Ser*_*nko 60
您可以将"TargetName"键添加到Info.plist文件中:

然后你可以访问它(快速代码):
var plistFileName = NSBundle.mainBundle().infoDictionary?["TargetName"] as String
Run Code Online (Sandbox Code Playgroud)
Vũ *_*Anh 28
NSLog(@"Target name: %@",[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"]);
Run Code Online (Sandbox Code Playgroud)
希望能帮到你!
编辑:"CFBundleName" 感谢Max和Daniel Bo的推荐
Law*_*iet 16
Swift 4,Xcode 9+
捆绑名称:
Bundle.main.object(forInfoDictionaryKey: "CFBundleName") as? String ?? ""
Run Code Online (Sandbox Code Playgroud)
捆绑显示名称:
Bundle.main.object(forInfoDictionaryKey: "CFBundleDisplayName") as? String ?? ""
Run Code Online (Sandbox Code Playgroud)
Swift 3,Xcode 8+
let targetName = Bundle.main.infoDictionary?["CFBundleName"] as? String ?? ""
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21334 次 |
| 最近记录: |