React Native 确保应用程序的Info.plist包含CFBundleIdentifier的值,打印:条目“:CFBundleIdentifier”不存在

wz8daaqr  于 2022-12-14  发布在  React
关注(0)|答案(8)|浏览(144)

我正在尝试使用此存储库构建我的第一个iOS应用程序:https://github.com/pmusaraj/discourse-mobile-single-site-app
在构建的时候,我收到了一个错误,无法继续。我是一个绝对的菜鸟,会花很长时间在这上面,但不知道我是否已经达到了代码中的一个失败点,我可以通过一些简单的调整来超越它,或者我必须等待我的问题(在repo上打开)被开发人员解决。我认为开发人员正在忙碌其他项目,可能没有时间来帮助我。
也许我的软件太新了?我是否应该尝试将react-native和XCode版本化?我可以降级到XCode 9.2(2017年12月至2018年3月版本),react-native降级到0.53.0(2018年1月版本)。
我的机器:
Mac操作系统版本:10.14.6
React Native客户端:2.0.1
React Native :0.58.6
X代码:10.3(构建版本10 G8)

问题:info.plist文件不能很好地与构建器一起运行。在/ios/DiscoSingle/Info.plist中,我看到CFBundleIdentifier正确定义为:

<key>CFBundleIdentifier</key>
<string>org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)</string>

我看这是对的。
下面是运行react-native ios-build时出现的错误:

The following build commands failed:
    Ld /Users/user919021/Desktop/discourse/ios/build/Build/Products/Debug-iphonesimulator/DiscoSingle.app/DiscoSingle normal x86_64
(1 failure)

Installing build/Build/Products/Debug-iphonesimulator/DiscoSingle.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=22):
Failed to install the requested application
The bundle identifier of the application could not be determined.
Ensure that the application's Info.plist contains a value for CFBundleIdentifier.
Print: Entry, ":CFBundleIdentifier", Does Not Exist

Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/DiscoSingle.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

Error: Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/DiscoSingle.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

    at checkExecSyncError (child_process.js:629:11)
    at Object.execFileSync (child_process.js:647:13)
    at Promise.then (/Users/user919021/Desktop/discourse/node_modules/react-native/local-cli/runIOS/runIOS.js:208:5)
    at process._tickCallback (internal/process/next_tick.js:68:7)
dgiusagp

dgiusagp1#

根据我的经验,你的git中的包标识符名称忘记填写了。所以,你必须在info plist〉Signing & capabilities中添加包标识符名称。你可以添加如下内容:我的应用程序,等等。就像这样,Eureka !你可以运行这个项目!

最好的,哈比。

w8rqjzmb

w8rqjzmb2#

错误原因:在我的例子中,我移动了info.plist,这破坏了构建。在将info.plist移回后,错误继续发生。
解决方案:关于bundle的一切看起来都是正确的。修复方法是更改info.plist中一个不相关的条目,然后运行构建。这会导致过程自行更正。然后我将更改后的info.plist条目设置回其原始设置,构建再次成功运行。
(FWIW,我选择了“应用程序支持间接输入...”进行更改)

ee7vknir

ee7vknir3#

在我的例子中,Info.plist文件中的一切都是正确的。捆绑包标识符也存在于相应的环境中。问题是GoogleService-Info.plist文件。它在给定的路径中丢失。

6fe3ivhb

6fe3ivhb4#

对于那些仍然有同样问题的人,你可能移动了你的info.plist文件,你需要告诉Xcode在哪里可以找到它,去构建设置,并确保info.plist文件的正确路径在那里。

6rqinv9w

6rqinv9w5#

在我的例子中,是我的主故事板或启动屏幕的问题。我想我在文件系统中删除了它们,然后试图构建一个项目,但在最后得到了错误。在我删除了Xcode项目中的这些文件并将它们添加回来后,它开始在模拟器上运行。

ql3eal8s

ql3eal8s6#

可能有多种原因

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    var window: UIWindow?
}

已在Info.plist中添加软件包标识符&错误消失。

项目-〉信息plist-〉作为源代码打开

<key>CFBundleIdentifier</key>
<string>com.CompanyName.movies</string>
bvn4nwqk

bvn4nwqk7#

有时候这有点奇怪,在我的情况下,我建议我们在Finder中检查我们的项目目录,因为有时候我们的plist文件并不位于我们在项目构建设置中设置的正确目录中,因此Xcode无法找到该plist文件,并且由于该编译器将显示此错误。
这是我的问题,我试图弄清楚这几乎30分钟,然后我决定打开我的项目目录,我看到plist文件没有留在正确的目录,因为我在项目构建设置内设置。
这是因为我试图分离项目目标架构。
希望这能帮助那些像我一样面对这个问题却无法解决的人。

zvokhttg

zvokhttg8#

我发现,虽然目录中有一个Info.plist文件,其中包含App声明,但我不必在那里添加属性,而是需要单击左窗格中的项目标题来访问项目导航器,然后选择我的目标,然后选择“构建设置”并向下滚动到Info.plist值。

相关问题