当我运行react-native run-ios
时,构建成功,但我收到以下错误。我已经检查了所有地方,但似乎没有任何工作。在命令前面使用sudo
也无济于事。我使用的是Xcode 7.3,react-native-cli:0.2.0,react-native:0.24.1,node v5.11.0。
=== BUILD TARGET mobileTests OF PROJECT mobile WITH CONFIGURATION Release ===
Check dependencies
** BUILD SUCCEEDED **
Installing build/Build/Products/Debug-iphonesimulator/mobile.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/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/done.js:10
throw err;
^
Error: Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/mobile.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
at checkExecSyncError (child_process.js:470:13)
at Object.execFileSync (child_process.js:490:13)
at _runIOS (runIOS.js:91:34)
at runIOS.js:24:5
at tryCallTwo (/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/core.js:45:5)
at doResolve (/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/core.js:200:13)
at new Promise (/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/core.js:66:3)
at Array.runIOS (runIOS.js:23:10)
at Object.run (/Users/astiefel/workspace/bosspayments/mobile/node_modules/react-native/local-cli/cli.js:86:13)
at Object.<anonymous> (/usr/local/lib/node_modules/react-native-cli/index.js:88:7)
答案 0 :(得分:99)
在Xcode中打开项目
如果Xcode&gt; 9
运行命令react-native upgrade
(这会覆盖所有iOS配置, 谨慎使用 !)
然后
1.转到文件 - &gt;项目设置
2.单击“高级”按钮
3.选择&#34;自定义&#34;并选择&#34;相对于工作区&#34;在下拉
4.Change&#34; Build / Products&#34;到&#34;构建/构建/产品&#34;
5.点击完成,完成
答案 1 :(得分:63)
如果缺少 config.h 文件,
对于更新 config.h 文件,
1)关闭您的Xcode。
2)打开终端,转到项目的根文件夹并执行以下操作:
cd node_modules/react-native/third-party/glog-{X}.{X}.{X}/
3)运行配置脚本:
./configure
4)打开Xcode并尝试运行您的应用。
{X}:版本号glog
答案 2 :(得分:30)
使用react-native upgrade
更新React为我做了。
免责声明:这会覆盖您的所有iOS配置, 谨慎使用 !
答案 3 :(得分:21)
答案 4 :(得分:10)
我的问题实际上是我的构建处于发布模式而不是调试模式。结果,标识符指向不存在的东西。我改变了构建类型,最终工作了。
答案 5 :(得分:10)
我也遇到过这个问题,我找到了解决问题的方法
以下是我的所作所为:
1)确保文件目录中没有空格。
2)cd 项目目录
3)运行命令 react-native upgrade
4)转到本机ios文件夹并打开xcode项目。
5)转到文件&gt;项目设置&gt;高级...
6)选择自定义&gt;相对于工作空间
7)产品路径应该是'build / Build / Products' 8)中间体路径应该是'构建/构建/中间体'9)现在尝试在你的终端中运行命令 react-native run-ios
我希望这些解决方案可以帮助我们中的一些人面对这个问题。
答案 6 :(得分:9)
对于react-native@0.46.4
,以下为我做了诀窍:
1)检查你的路径,打开.xcodeproj(不是.xcworkspace)文件,然后:
转到文件&gt;项目设置&gt;高级
自定义&gt;相对于工作空间
'build/Build/Products'
'build/Build/Intermediates'
2)在项目的根目录
中运行rm -rf ios/build
3)关闭反应包装机
4)再次运行react-native run-ios
答案 7 :(得分:8)
当我的node_modules文件夹在安装新软件包后变得棘手时,我发生了这种情况。我删除了文件夹rm -rf node_modules
,然后执行了npm install
重新安装我的软件包并修复了它。
答案 8 :(得分:8)
我在iOS 14和Xcode 12上遇到了同样的问题。
Error: Command failed: ...../Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
我通过删除yarn.lock
文件和node_modules
文件夹来解决此问题。然后使用yarn install
重新安装所有内容。其背后的逻辑是,这将升级您的react-native-cli
which fixes这个错误。
答案 9 :(得分:7)
Print: Entry, ":CFBundleIdentifier", Does Not Exist
消息仅表示您的项目无法编译或链接。您需要返回到输出,以找到有关实际根本原因的提示。
如果遇到问题,请查看完整的构建输出,而不仅仅是最后几行。您可能需要在Xcode中打开项目,然后按⌘B进行构建。 Xcode中的构建错误应可帮助您找到失败的根本原因。
答案 10 :(得分:6)
如果您收到此错误,那么您的应用程序可能没有正确的路径。
处理命令时遇到错误(domain = NSPOSIXErrorDomain,code = 2): 无法安装所请求的应用程序 在提供的路径中找不到应用程序包。 提供所需应用程序包的有效路径。 打印:输入,&#34;:CFBundleIdentifier&#34;,不存在
React Native已将其硬编码为runIOS.js中run-ios命令的一部分
build/Build/Products/${configuration}-${isDevice ? 'iphoneos' : 'iphonesimulator'}/${appName}.app
不幸的是,Xcode具有不同的构建路径,具体取决于您的配置以及您是使用Xcode项目还是工作区。我相信Xcode项目的默认路径是build/Products
我提交了这个拉取请求11899,以便为程序员提供更多的CLI灵活性。
答案 11 :(得分:3)
对我而言,使用Cocoapods&amp; amp;意外地设置模块是一个问题。 react-native link
在同一时间。
不要将这两者混合用于相同的模块!
答案 12 :(得分:3)
我通过删除/build/
并再次运行react-native run-ios
来解决此问题
答案 13 :(得分:2)
您可以按照以下步骤解决此错误:
第1步
Open terminal
第2步
cd node_modules/react-native/third-party
第3步
ls
Copy or identify glog-{version}
第4步
cd ../../../
第5步
cd node_modules/react-native/third-party/glog-{version}
步骤6
./configure
我希望这会起作用!!!
答案 14 :(得分:2)
我尝试了所有这些解决方案,但是对我有用的是:
react-native upgrade
答案 15 :(得分:2)
就我而言,我从git中提取了项目,其中还包括ios文件夹。
首先,我删除ios文件夹rm -rf ios
然后,react-native upgrade
答案 16 :(得分:1)
对我来说,这是由cocoapods管理的ios依赖项。
必须这样做:
$ cd ToProject/ios
$ pod install
$ react-native run-ios
这对我有用
https://shift.infinite.red/beginner-s-guide-to-using-cocoapods-with-react-native-46cb4d372995
PS:试图找出别人完成的工作
答案 17 :(得分:1)
对于xcode 10.1,使用此版本对我来说是可行的
"react": "16.6.0-alpha.8af6728",
"react-native": "0.57.4"
答案 18 :(得分:1)
我将Xcode更新为v8,错误已解决。
答案 19 :(得分:1)
您是否检查过您声明了捆绑包标识符?您可以通过在xcode中单击项目文件然后选择常规选项卡来执行此操作,它将在&#34; Identity&#34;下的第一个文本框下列出。另一种检查方法是检入项目的ios文件夹中的info.plist文件。这是它在我的info.plist中显示的方式。我项目的实际包标识符是xcode。
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
答案 20 :(得分:1)
0.44可以运行,但0.45不能,可能是版本问题 我通过以下命令解决了这个问题: rninit init TaxiApp --source react-native@0.44.0;
答案 21 :(得分:1)
我知道这是一个老问题,但是如果这里有任何问题仍未能解决您的问题。在阅读this answer关于另一个问题之后,我解决了我的问题。让我解释一下:
我只是遇到了同样的问题,在我的情况下,找不到Info.plist
,这就是为什么我在构建设置中的产品名称的原因>是错误的。 我不知道为什么这个名字以前有所更改。
error Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier /Users/joaolavoier/Library/Developer/Xcode/DerivedData/WalletApp-dkxuxrpnrdamwmchtgsxasmjabmt/Build/Products/Debug-iphonesimulator/WalletApp.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
. Run CLI with --verbose flag for more details.
Error: Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier /Users/joaolavoier/Library/Developer/Xcode/DerivedData/WalletApp-dkxuxrpnrdamwmchtgsxasmjabmt/Build/Products/Debug-iphonesimulator/WalletApp.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
at checkExecSyncError (child_process.js:616:11)
at Object.execFileSync (child_process.js:634:15)
at runOnSimulator (/Users/joaolavoier/Workspace/wallet-app/node_modules/@react-native-community/cli-platform-ios/build/commands/runIOS/index.js:191:45)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async Command.handleAction (/Users/joaolavoier/Workspace/wallet-app/node_modules/@react-native-community/cli/build/index.js:186:9)
error Command failed with exit code 1.
如您所见,它正在/Users/joaolavoier/Library/Developer/Xcode/DerivedData/WalletApp-dkxuxrpnrdamwmchtgsxasmjabmt/Build/Products/Debug-iphonesimulator/WalletApp.app/Info.plist
但是 WalletApp.app 文件夹不存在。
解决此问题的步骤:
rm -rf /Users/joaolavoier/Library/Developer/Xcode/DerivedData/WalletApp-dkxuxrpnrdamwmchtgsxasmjabmt
yarn start
和yarn ios
的根目录。我希望它可以帮助某人。
答案 22 :(得分:1)
类似于The domain/default pair of (../ios/Runner/Info, CFBundleIdentifier) does not exist
意味着Xcode认为您plist
拥有invalid format content
。
您需要粘贴Info.plist
文件的内容,以查找该文件出了什么问题。
一个可能的问题是这两个<key>
和<values>
(<array>
,<string>
或<bool>
)配对不正确。例如:
<key>UISupportedInterfaceOrientations</key> //<------ here is the key
<key>NSPhotoLibraryUsageDescription</key>
<key>NSCameraUsageDescription</key>
<string>Tagueo necesita usar la camara</string>
<key>NSMicrophoneUsageDescription</key>
<string>Tagueo necesita usar el microfono</string>
<array> //<------ here is the value
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key> //<------ please compare this key
<array> //<------ please compare this value
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
您只需要将key
和value
移到一起
<key>UISupportedInterfaceOrientations</key> //<------ here is the key
<array> //<------ follow with the value
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
答案 23 :(得分:1)
添加,它适用于我,如果没有上述修复:
npm i -g react-native-git-upgrade && react-native-git-upgrade
npm i -g react-native-cli
nvm install --lts
和nvm install-latest-npm
npm install
和react-native run-ios
,并给我一个拥抱: - )终于可以在这里工作了。
答案 24 :(得分:1)
经过几个月的尝试所有答案后,我终于将操作系统更新为Sierra,将XCode更新为最新版本,并且所有错误都消失了。希望这可以帮助那里的一些人!
答案 25 :(得分:1)
由于我删除了一些我不会在Xcode中使用的模拟器,我的终端弹出相同的信息。
如果您运行react-native run-ios
没有特定参数,react-native将运行默认模拟器,即我的情况下带有iOS 10.3.1的iPhone 6,我偶然删除了这个模拟器。
这是我的错误消息:
xcodebuild: error: Unable to find a destination matching the provided destination specifier:
{ id:F3A7BF54-B827-4517-A30D-8B3241C8EBF8 }
Available destinations for the "albums" scheme:
{ platform:iOS Simulator, id:CD64F26B-045A-4E27-B05A-5255924095FB, OS:10.3.1, name:iPad Pro (9.7 inch) }
{ platform:iOS Simulator, id:8FC41950-9E60-4264-B8B6-20E62FAB3BD0, OS:10.3.1, name:iPad Pro (10.5-inch) }
{ platform:iOS Simulator, id:991C8B5F-49E2-4BB7-BBB6-2F5D1776F8D2, OS:10.3.1, name:iPad Pro (12.9 inch) }
{ platform:iOS Simulator, id:B9A80D04-E43F-43E3-9CA5-21137F7C673D, OS:10.3.1, name:iPhone 7 }
{ platform:iOS Simulator, id:58F6514E-185B-4B12-9336-B8A1D4E901F8, OS:10.3.1, name:iPhone 7 Plus }
。 。
Installing build/Build/Products/Debug-iphonesimulator/myapp.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
Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/myapp.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
为了摆脱这些,打开Xcode并检查可用的模拟器(与列出的终端相同)并运行react-native run-ios --simulator="your device name"
对于我的情况,我运行react-native run-ios --simulator="iPhone 7"
,问题解决了。
答案 26 :(得分:0)
我在运行项目时也遇到同样的错误 react-native run-ios
但是当我从 xcode 运行项目时,这对我有用。
答案 27 :(得分:0)
所有这些解决方案建议都不适用于我。我刚刚创建了一个rn 0.58.5项目。并与我的项目进行比较。我看到JavaScriptCore.framework
> Build Phasess
下没有Link Binary With Libraries
。拖放后,JavaScriptCore react-native run-ios构建成功。
JavaScriptCore.framework
位置:Macintosh HD ▸ Applications ▸ Xcode ▸ Contents ▸ Developer ▸ Platforms ▸ iPhoneOS.platform ▸ Developer ▸ SDKs ▸ iPhoneOS.sdk ▸ System ▸ Library ▸ Frameworks
答案 28 :(得分:0)
我在运行react-native run-ios --scheme="customscheme"
时遇到了这个错误,并且customcheme的名称拼写错误。
答案 29 :(得分:0)
尝试查看当前错误之前发生的先前错误消息,即"CFBundleIdentifier”, Does Not Exist
。
修复先前的错误,然后该错误应消失。
我修复了运行duplicate symbols for architecture
时发生的上一个react-native run-ios --simulator="iPad Pro (9.7-inch)
错误,然后问题消失了。
答案 30 :(得分:0)
只需在xcode应用程序中打开项目,它将自动执行所有导入并解决问题。 为我工作,Xcode 10 +
编辑1: 打开应用程序的iOS文件夹,而不是全局文件夹。
答案 31 :(得分:0)
我的产品名称中有一个空格。文件系统找不到构建目录。我把“恩典教会”改成了“恩典教会”。这不会影响显示名称。在 Target > Build Settings > Packaging > Product Name
中修复答案 32 :(得分:0)
我使用的是RN版本0.5.7的XCode 10,我尝试了几乎所有解决方案,但没有任何效果。
花了很多时间之后,终于可以通过执行以下操作来实现工作方式
- 通过运行
安装早期版本的react-nativereact-native init project --version react-native@0.56
- 打开
project/ios/project.xcodeproj
并选择Debug
进行命令行构建- 确保选择正确的开发证书
- 再次运行
react-native run-ios
,这次必须可以运行。
答案 33 :(得分:0)
首先从Xcode运行您的项目,然后尝试从命令行运行。这就是我的问题。
答案 34 :(得分:0)
基本原因是部署端口不是免费的。
重新启动设备并释放所有端口,否则运行$ lsof -i :8081
并查找占用端口8081的进程。
通过运行$ kill -9 {process_which_is_running_under_8081}
答案 35 :(得分:0)
当您运行npm install
命令一段时间互联网问题时,node_modules\react-native\third-party
中的文件未正确下载,请检查是否已正确下载,如果没有请删除node_modules并重新安装
然后运行react-native run-ios
命令
答案 36 :(得分:0)
这对我有用。 按照步骤https://facebook.github.io/react-native/docs/getting-started.html(使用本机代码构建项目)。
在运行 react-native run-ios 命令之前,从https://sourceforge.net/projects/boost/files/boost/1.63.0/下载boost节点模块并替换node_modules / react-native / third-party / boost_1_63_0
现在运行 react-native run-ios 命令
答案 37 :(得分:0)
我找到了解决问题的方法:不要在项目路径中使用空格!
答案 38 :(得分:0)
答案 39 :(得分:-1)
在可能的原因列表中添加一个: xcodebuild 可能已损坏。
在我的情况下,xcodebuild没有执行任何操作,因此它从未生成ios / build /目录,并导致了上述错误。
我在命令行上使用了“哪个xcodebuild”,将其删除,错误消失了
我花了一段时间才意识到xcodebuild不好-我查看了日志消息并手动运行带有react native参数的xcodebuild命令-没有任何输出。没有构建消息,没有错误消息,什么都没有。没有参数就跑了-一样......
将其保留为检查此错误消息是否出现的另一件事。您的xcodebuild是否正常工作?
答案 40 :(得分:-1)
对我来说,这是Xcode9.4的应有的本机兼容性问题。 我使用以下步骤解决了。 在我的项目/ ROOT
解决了这个问题,该主题帮助我了解了这个问题。
答案 41 :(得分:-1)
修复OSX EL CAPITAN
我还在OSX 10.11.6上使用XCode 8.2.1 ......有一天会升级,但今天不会升级。通过降级反应本机到52.0,我能够超越:CFBundleIdentifier错误
private WeakReference<ProgressDialog> progressDialog;
private final FinishListener listener;
public SaveDataTask(ProgressDialog progressDialog,
@NonNull FinishListener listener) {
this.progressDialog = new WeakReference<>(progressDialog);
this.listener = listener;
}
...
@Override
protected void onPostExecute(Boolean success) {
if (progressDialog.get() != null) {
progressDialog.get().cancel();
}
listener.onSaveFinish()
}
让我在模拟器上成功构建。干杯!
答案 42 :(得分:-1)
不幸的是,所提到的解决方案都没有对我有用。
在尝试了this issue的一些答案后,以下内容最终确实有效:
由于一个或多个必需的iOS第三方库未正确下载到~/.rncache
(意味着其中的文件已损坏且无法解压缩),我删除了此文件夹的内容,运行{再次{1}},这最终成功了。
答案 43 :(得分:-2)
删除节点模块,然后在项目目录中运行“ npm install”。 现在您可以运行该项目了。