Intl
の数値フォーマッターを使用しようとしています。これは、iOSで完全に機能し、デバッガーがiOSまたはAndroidのいずれかに接続されている場合にのみ機能しますが、デバッガーが接続されていない場合はAndroid Androidの古いJSCに。
少し調べた結果、2つの解決策が見つかりました。
Intl
ポリフィルを使用するIntl
とreact-intl
をyarnを使用してインストールした後、最初にこのようにintl
ポリフィルを試しました。
//in my app's index.js
if (!global.Intl) {
global.Intl = require('intl');
}
まだReferenceError: Can't find variable: Intl
と書いてありますが。
それから私はあきらめてカスタムJSCを含めようとしました(カスタムAARが正しく参照されていることを確認しました)が、それでも同じエラーが発生します。何をしても、デバッガーが接続されていないと、Intl
をAndroid)で実行できません。
私は何が間違っているのですか? (私はReact Native 0.59.9)にいます
この質問を削除したかったのですが、すでに別の回答があるため削除できません。
それはJSCとは何の関係もありませんでした。ビルドスクリプトがAPKを適切に更新していないと思っていたので、古い偽のAPKを何度も試していました。それ以外の場合は、新しいAPKで動作するため、すべてが適切に行われていたようです。
カスタムJSCを使用している場合は、国際バージョンを次のようにインポートすることを忘れないでください JSCのread me Android Buildscripts :
Reactネイティブバージョン0.59の場合、元のアーティファクトIDをAndroid-jsc-intlに置き換えます
dependencies { + // Make sure to put Android-jsc at the the first + implementation "org.webkit:Android-jsc-intl:r241213" + compile fileTree(dir: "libs", include: ["*.jar"]) implementation "com.Android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" implementation "com.facebook.react:react-native:+" // From node_modules }