User-Defined valueをappDelegate.mで参照する

モバイルアプリネイティブ開発の知識が全く無い状態で、ReactNativeのExpo使用アプリをEjectしたら、いろいろ困ったことになったのでメモする。

User-Defined valueをappDelegate.mで参照する

1. BuildSetting で User-Defined の値を設定する

例えばこのように、自分の環境では各Configurationの名前をJavaScriptファイルに渡すために User-Defined で設定している。

今回は、この値をappDelegate.mで参照したい。

f:id:ksmzn:20200716132400p:plain

2. Info.plistに適当なKeyと、1のUser-Defined valueを登録する

Keyは何でも良い。

f:id:ksmzn:20200716132645p:plain

3. appDelegate.mでobjectForInfoDictionaryKey を使用して参照する。

NSString *valueName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"<YourKeyName>"]; とすれば参照できる。

↓今回は以下のようにすればOK

NSString *envForJs = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"Env"];

以上です