私はライトバージョンとフルバージョンを持っており、それらを異なる構成ファイルで動作させたいと思っています。
次に、アプリケーション内で、アプリケーション名に「lite」が含まれているかどうかを照会し、対応する構成ファイルをロードする必要があります。その方法がわかりません。何か案が ?それとも、一般的にそのためのより良いアプローチがありますか?
よろしくお願いします平子
私はライトバージョンとフルバージョンを持っており、それらを異なる構成ファイルで動作させたいと思っています。
次に、アプリケーション内で、アプリケーション名に「lite」が含まれているかどうかを照会し、対応する構成ファイルをロードする必要があります。その方法がわかりません。何か案が ?それとも、一般的にそのためのより良いアプローチがありますか?
よろしくお願いします平子
Info.plistファイルに入れられたものが必要な場合は、次を使用します。
NSString * displayName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"];
試す
[[NSProcessInfo processInfo] processName]
これにより、プロセス名が返されます。これは通常、アプリケーションの名前です。
アプリケーションのmain.mにmain()があります(テンプレートを使用した場合)。コマンドライン引数が渡され、argv [0]は、解析可能なアプリケーションのフルパスである必要があります。グローバル変数に保存する必要があります。
appDelegateのlaunchOptionsをチェックして、そこにもあるかどうかを確認することもできます。
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)")