環境
Mac OS X Version 10.11.3 (15D21)
Xcode Version 7.2 (7C68)
Simulator Version 9.2 (SimulatorApp-643)
react-native-cli 0.1.10
node v5.5.0
アプリを実行する前にしたこと
npm install -g react-native-cli
react-native init DemoProjectDELETEME
cd ./DemoProjectDELETEME
react-native run-ios
私はReact Nativeが初めてです。 iOSシミュレータでデフォルトアプリを実行しようとすると、次のエラーが発生しました。同様の問題を見つけましたが、問題は解決しません。
Xcode6はシミュレーターでアプリを実行できません(ドメイン= NSPOSIXErrorDomain、コード= 3)
マシンとシミュレーターを再起動した後も、問題は解決しません。
** BUILD FAILED **
The following build commands failed:
PhaseScriptExecution Run\ Script /Users/x/Desktop/DemoProjectDELETEME/ios/build/Build/Intermediates/React.build/Debug-iphonesimulator/React.build/Script-006B79A01A781F38006873D1.sh
(1 failure)
Installing build/Build/Products/Debug-iphonesimulator/DemoProjectDELETEME.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist
/Users/x/Desktop/DemoProjectDELETEME/node_modules/promise/lib/done.js:10
throw err;
^
Error: Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/DemoProjectDELETEME.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
at checkExecSyncError (child_process.js:464:13)
at Object.execFileSync (child_process.js:484:13)
at _runIOS (runIOS.js:77:34)
at runIOS.js:24:5
at tryCallTwo (/Users/x/Desktop/DemoProjectDELETEME/node_modules/promise/lib/core.js:45:5)
at doResolve (/Users/x/Desktop/DemoProjectDELETEME/node_modules/promise/lib/core.js:200:13)
at new Promise (/Users/x/Desktop/DemoProjectDELETEME/node_modules/promise/lib/core.js:66:3)
at Array.runIOS (runIOS.js:23:10)
at Object.run (/Users/x/Desktop/DemoProjectDELETEME/node_modules/react-native/local-cli/cli.js:86:13)
at Object.<anonymous> (/usr/local/lib/node_modules/react-native-cli/index.js:73:7)
Xcodeからアプリを起動しようとすると、フォロワーエラーが発生しました。
Sudo npm start
プロジェクトルートの問題は解決しますが、react-native run-ios
まだBUILD FAILED。
私の質問を見てくれてありがとう。
react-native upgrade
を実行してみてください
Githubスレッドを参照してください: https://github.com/facebook/react-native/issues/7308#issuecomment-219597774
私にとってポート8081は使用中でした:
lsof -n -i4TCP:8081
問題は、アプリをビルドして実行するjsファイルにあります。プロジェクト、スキーム、および製品名がすべて同じでない限り、特にシミュレーターでエラーが発生します。
幸いなことに、問題を修正するプルリクエストを 提出しました。 名前を変更するときに問題が発生する心配がないように、それを支持してください。
すべてのコマンドの前にSudo
を追加すると、問題が解決します。
Sudo react-native init ProjectName
Sudo chmod 777 ProjectName
cd ProjectName
Sudo react-native run-ios
私にとっては、XCode
のバージョンをYosemiteからSierraにアップグレードする必要がありました。
これは、App Store
> Updates
。
私は私の問題を修正しました、あなたが同じ状態にあるならば、あなたはそれを試すことができます。
同じエラーが発生しました:
印刷:エントリ「:CFBundleIdentifier」が存在しない
learning react native から既存のreact-nativeプロジェクトを複製する場合。
別のディレクトリにある同じ名前の新しいプロジェクトを({react-native init yourProjectName}
を使用して)初期化します
他の場所で複製したものから、この新しいプロジェクトにすべての有用な* .ios.jsファイルをコピーします。
これは私のために動作します。
Xcodeプロジェクトを開きます
それを実行します
RCTSRWebSocket.mから2つのエラーが発生するはずです。
両方の行の先頭に(void)を追加します:
SecRandomCopyBytes(kSecRandomDefault, sizeof(uint32_t), (uint8_t *)mask_key);
なる
(void)SecRandomCopyBytes(kSecRandomDefault, sizeof(uint32_t), (uint8_t *)mask_key);
Xcodeまたはターミナルでプロジェクトを保存して再実行します。確実に動作するはずです。私は以前にすべてのソリューションをテストしましたが、これが私のために働いた唯一の人です。
私にとっての問題は、マカフィーがポート8081で実行されているため、この回答に従って別のポートでアプリを実行することでした https://stackoverflow.com/a/50649969/5323419 基本的に:
react-native run-ios --port 1234 react-native start --port 1234
私はReact native 0.55+
驚いたことに、これが私にとっての解決策でした。XcodeでファイルViews/RTCScrollView.mを開き、変数_ refreshControlをrefreshControlに変更します。 _ refreshControlのすべての出現は、すでにエラーとしてマークされていました。新しいコードは次のようになります。
- (void)setRefreshControl:(RCTRefreshControl *)refreshControl
{
if (refreshControl) {
[refreshControl removeFromSuperview];
}
refreshControl = refreshControl;
[self addSubview:refreshControl];
}
ファイルProjectName/node_modules/react-native/local-cli/runIOS/runIOS.jsを編集します。18行目:コード行全体を次のように置き換えます。
return `build/Build/Products/${configuration}-${isDevice ? 'iphoneos' : 'iphonesimulator'}/${appName}.app`;
行番号:146:コメントを外す'-derivedDataPath', 'build',
その後、ターミナルからコマンドを実行します:Sudo react-native run-ios