RNアプリで実行時にバンドル識別子がわかっていれば解決できる問題が発生しました。いくつかのライブラリを見てきましたが、これを行うためにライブラリ全体を含めるのではなく、コードでこの情報を取得する簡単な方法はありますか?
ありがとう
react-native-device-infoのようなライブラリは、アプリケーションバンドル識別子を返すためにネイティブiOSおよびAndroidコードを使用しているようです。つまり、react-nativeはjavascriptでそれを提供しません。React Nativeのnative-modulesAPIを使用して、バンドルIDをJavaまたはObjective Cからjavascriptに送信できます(定数値をエクスポートする方法については、リンクされたドキュメントにセクションがあります)。
また、バンドル識別子を取得する方法に関するreact-native-device-infoからのスニペットもいくつかあります。
Android(RNDeviceModule.java)の場合:
String bundleId = this.reactContext.getPackageName();
iOS(RNDeviceInfo.m)の場合-このスニペットが機能しない可能性があるため、idkobjective-cに注意してください。
[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleIdentifier"] ?: [NSNull null]
また、現在expoを使用している場合は、Expo.Constantsを使用してapp.jsonファイルにアクセスできます。
import { Constants } from 'expo';
// this will only work if you specify the bundleIdentifier in app.json
let bundleId = Constants.manifest.ios.bundleIdentifier;
この投稿の混乱がいくらか役立つことを願っています!正直なところ、ライブラリを使用する価値があるかもしれませんが、それはあなた次第です。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加