3

我有一个精简版和一个完整版,并希望它们使用不同的配置文件。

现在我需要在应用程序中查询应用程序名称中是否包含“lite”并加载对应的配置文件我还没有找到如何去做。任何想法 ?或者通常有更好的方法吗?

提前感谢海科

4

4 回答 4

5

如果您想要放入 Info.plist 文件中的内容,请使用:

NSString * displayName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"];
于 2010-08-07T16:46:07.807 回答
3

尝试

[[NSProcessInfo processInfo] processName]

这将返回进程名称,通常是您的应用程序的名称。

于 2010-08-07T16:42:53.470 回答
2

您的应用程序在 main.m 中有一个 main()(如果您使用了模板)。它通过命令行参数传递,并且 argv[0] 应该是应用程序的完整路径,您可以对其进行解析。您必须将其保存在全局变量中。

您还可以检查 appDelegate 中的 launchOptions 以查看它是否也存在。

于 2010-08-07T12:57:33.287 回答
0

为 Swift 试试这个:

if let appName = Bundle.main.infoDictionary?["CFBundleName"] as? String {
    print("App Name - \(appName)")
}

也试试这个,如果你设置了显示名称

if let displayName = Bundle.main.infoDictionary?["CFBundleDisplayName"] as? String {
    print("App Display Name - \(displayName)")
}

有用的技巧:

// Print bundle info dictionary to get complete details about app
print("Bundle.main.infoDictionary - \(Bundle.main.infoDictionary)")
于 2017-10-13T17:51:20.947 回答