我最近通过cocoapods将Firebase应用内消息传递添加到了我的项目中。按照文档中的设置过程进行操作后,出现以下错误。如果有帮助,我最近还安装了Admob,但直到安装了应用内消息传递,该错误才显示出来。使我感到困惑的是:几乎没有任何代码可以设置此代码,那么我在哪里会收到nil URL错误?
起初,我不确定是Firebase I.A.M.。导致了问题,但是在删除并重新安装后,问题消失了,然后又出现了。因此,我将介绍如何安装Firebase IAM。我使用此链接作为参考:
https://firebase.google.com/docs/in-app-messaging/get-started?authuser=0
使用cocoapods 1.4.0将其添加到我的Podfile中
在我的方案中添加了“ -FIRDebugEnabled”
获得了我的实例ID,并将其添加到控制台中的广告系列中
仔细检查了我的方案
错误:
Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: ' -[NSBundle initWithURL:]: nil URL argument'
First throw call stack:
(0x234b8cec4 0x233d5da40 0x234a93594 0x23554f6a8 0x23554f62c
0x10027a1b8 0x10248cdc8 0x10248ee28 0x10027a0f8 0x10027a2c0
0x10027b518 0x100267038 0x100260888 0x100266e44 0x100267328
0x100264bd0 0x10248b824 0x10248cdc8 0x10248fc90 0x10249e1dc
0x10249ebc8 0x2347a917c 0x2347abcec)
libc++abi.dylib: terminating with uncaught exception of type NSException
在控制台中,我的实例ID出现,然后是更多信息,然后是错误,因此我不知道可能导致它发生的原因。这是控制台中的一些输出:
[Firebase/InAppMessaging][I-IAM700004] 1 messages were fetched successfully.
[Firebase/InAppMessaging][I-IAM270005] No impression records update due to no change after applying the server message list
[Firebase/InAppMessaging][I-IAM160010] There are analytics event trigger based messages, enable listening
[Firebase/InAppMessaging][I-IAM160001] There are 0 test messages and 1 regular messages and 3 Firebase analytics events to watch after resetting the message cache
[Firebase/InAppMessaging][I-IAM240002] Fetch is done. Start message rendering flow.
作为参考,当您搜索错误时,我已经浏览了所有这些链接以及更多信息:
有什么想法吗?
答案 0 :(得分:0)
之所以失败,是因为缺少InAppMessagingDislayResources.bundle文件。您需要“复制Pod资源创建阶段”脚本来复制和创建该文件。下面将还原该构建阶段脚本。
-在Xcode中运行干净
-删除Pods目录
-删除Podfile.lock文件
-在项目目录中运行“ pod install”
-重新启动Xcode
答案 1 :(得分:0)
我通过将断点放置在资源路径为零的位置来开始调试应用程序。当您达到断点时,该值为nil并显示 proj_name经过优化编译-单步执行可能会产生奇怪的结果。消息。
这使我们无法查看实际变量值,因为in pod项目设置的优化与主要和目标设置不同,因此将其更改为None。
窗格>项目设置>构建设置>代码生成
现在我可以看到主应用程序包的值/路径,但是proj_name.app仍然缺少InAppMessagingDisplayResources.bundle,这提示复制文件时出错。在仅在安装时运行脚本的复制容器资源部分标志中发现已选中。取消选中它,该应用程序不会因缺少捆绑软件而崩溃。
目标设置>构建阶段>复制Pod资源