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 に答える