Google/Analytics.h 添加到 AppDelegate 时找不到文件
Google/Analytics.h file not found when adding to AppDelegate
我正在尝试使用 Cocoapods 将 Google Analytics 集成到我的 ios 项目中。但是,在按照 this 的步骤将配置文件添加到我的项目之后,当在 AppDelegate 中导入 Google/Analytics.h 时,我收到找不到文件的错误。尝试了以下操作:
已将 $(SRCROOT)/Pods/GoogleAnalytics
添加到构建设置中的用户 Header 搜索路径。
已将 libGoogleAnalyticsServices.a
添加到 link 二进制文件中,其中包含处于构建阶段的库。
在其他链接器标志中添加了 -lGoogleAnalyticsServices
。
我真的不想做 2 和 3,因为它们可以摆脱 Cocoapods。
我到底错过了什么?
当您将 $(SRCROOT)/Pods/GoogleAnalytics
添加到构建设置中的用户 Header 搜索路径时,还有 select recursive
选项。它将允许您的项目在 GoogleAnalytics
及其所有 sub-directories.
中搜索
更新:
我已经尝试过该教程,并且无需任何额外步骤即可正常工作。我的 pod 版本是 0.35.0。当您创建配置文件时,记得启用 GoogleAnalytics 服务。
更新:
正如@RajatTalwar 指出的那样,您还需要使用递归选项添加 $(SRCROOT)/Pods/Google 。然后包含 #import "Analytics.h" 而不是 #import
问题
- the official documentation 上的代码示例建议
安装 1.0.0。哪个甚至没有编译二进制文件
arm64。
- 似乎至少有三个独立的 pods 与
遗传算法。 GoogleAnalytics-iOS-SDK, GoogleAnalytics, Google/Analytics.
解决方案
将此添加到您的 Podfile:pod 'Google/Analytics'
然后 pod install
。
应该可以。现在您可以按照文档中的建议简单地导入 Google/Analytics.h:
#import <Google/Analytics.h>
进一步讨论
我 运行 解决了两组问题:
使用不正确的建议 pod 版本 (1.0.0) 时,出现 64 位兼容性问题。 (ld: symbol(s) not found for architecture arm64
)
当使用其他 pods(GoogleAnalytics-iOS-SDK 和 GoogleAnalytics)时,我抱怨缺少 <Google/Analytics.h>
头文件。 ("Google/Analytics.h" not found
)
我发现这位先生的 post on a mailing list 建议 Google/Analytics pod 没有版本号。 (pod 'Google/Analytics'
如上所述。)
如果其他人在尝试#import 时遇到错误,并且其他在线解决方案对您没有帮助,您应该继续阅读。
我遇到了这个问题,none 我找到的解决方案可以解决它。然后我注意到我的一个目标有效而另一个没有(我在同一个项目中有两个),我试图找出这两个目标之间的区别。
我注意到部署信息下常规选项卡上的项目有所不同,其中第二个目标(有效的目标)有单独的选项 iPhone 和 iPad,但是第一个没有。网上还有人说,他们复制目标时收到了这两个新选项。我的第二个目标也是第一个的副本,原来是。
长话短说,我发现如果我复制我的目标,那么复制现在突然起作用了。那些单独的 iPhone 和 iPad 选项也神奇地出现了。所以我猜我的项目目标是非标准的并导致了问题,可能是因为这个项目是很久以前创建的。
然后我只是删除了原始目标并将新目标重命名为相同的名称,尽管在与 plist 文件相关的构建设置中需要进行一些清理工作(它制作了一个 copy.plist 文件) .
希望这对某人有所帮助。
这是 cocoapods 中的一个错误。
您需要将 $(SRCROOT)/Pods/Google 和 $(SRCROOT)/Pods/Google 具有递归选项的分析添加到您的用户 Header 搜索路径。
然后包含 #import "Analytics.h" 而不是 #import
检查您是否有多个目标,在这种情况下,在您的 pod 文件中为每个目标添加 pod 'Google/Analytics':
def google_pods
pod 'Google/Analytics'
end
target 'target 1' do
google_pods
end
target 'target 2' do
google_pods
end
target 'target N' do
google_pods
end
Swift 3
版本 3.17.0(使用 Podfile 中的 pod 'GoogleAnalytics' 安装):
- 打开 yourproject.xcworkspace 而不是 yourproject.xcodeproj
- 在桥接头文件中使用
#import <GoogleAnalytics/GAI.h>
编辑:
根据 jeremy piednoel 的评论,您可能还需要
#import <GoogleAnalytics/GAIDictionaryBuilder.h>
#import <GoogleAnalytics/GAIFields.h>
还有我的 0.02 美元,因为这似乎是一个永无止境的故事。 None 以上建议确实有帮助。我从 pod install
那里收到这条晦涩的消息
[!] The `blabla [Release]` target overrides the `HEADER_SEARCH_PATHS` build setting defined in `Pods/Target Support Files/Pods-blabla/Pods-blabla.release.xcconfig'. This can lead to problems with the CocoaPods installation
最后我检查了我的 project.pxbproj
并发现我有这个条目:
HEADER_SEARCH_PATHS = "";`
很明显这个被当做"defined",所以我改成了
HEADER_SEARCH_PATHS = "$(inherited)";
繁荣 - 所有 Google 建议包括工作
#import <GoogleAnalytics/GAI.h>
#import <GoogleAnalytics/GAIDictionaryBuilder.h>
#import <GoogleAnalytics/GAIFields.h>
- 运行
pod update
- 清理构建文件
- 运行 项目
从构建设置中删除有效的拱门
我正在尝试使用 Cocoapods 将 Google Analytics 集成到我的 ios 项目中。但是,在按照 this 的步骤将配置文件添加到我的项目之后,当在 AppDelegate 中导入 Google/Analytics.h 时,我收到找不到文件的错误。尝试了以下操作:
已将
$(SRCROOT)/Pods/GoogleAnalytics
添加到构建设置中的用户 Header 搜索路径。已将
libGoogleAnalyticsServices.a
添加到 link 二进制文件中,其中包含处于构建阶段的库。在其他链接器标志中添加了
-lGoogleAnalyticsServices
。
我真的不想做 2 和 3,因为它们可以摆脱 Cocoapods。
我到底错过了什么?
当您将 $(SRCROOT)/Pods/GoogleAnalytics
添加到构建设置中的用户 Header 搜索路径时,还有 select recursive
选项。它将允许您的项目在 GoogleAnalytics
及其所有 sub-directories.
更新: 我已经尝试过该教程,并且无需任何额外步骤即可正常工作。我的 pod 版本是 0.35.0。当您创建配置文件时,记得启用 GoogleAnalytics 服务。
更新: 正如@RajatTalwar 指出的那样,您还需要使用递归选项添加 $(SRCROOT)/Pods/Google 。然后包含 #import "Analytics.h" 而不是 #import
问题
- the official documentation 上的代码示例建议 安装 1.0.0。哪个甚至没有编译二进制文件 arm64。
- 似乎至少有三个独立的 pods 与 遗传算法。 GoogleAnalytics-iOS-SDK, GoogleAnalytics, Google/Analytics.
解决方案
将此添加到您的 Podfile:pod 'Google/Analytics'
然后 pod install
。
应该可以。现在您可以按照文档中的建议简单地导入 Google/Analytics.h:
#import <Google/Analytics.h>
进一步讨论
我 运行 解决了两组问题:
使用不正确的建议 pod 版本 (1.0.0) 时,出现 64 位兼容性问题。 (
ld: symbol(s) not found for architecture arm64
)当使用其他 pods(GoogleAnalytics-iOS-SDK 和 GoogleAnalytics)时,我抱怨缺少
<Google/Analytics.h>
头文件。 ("Google/Analytics.h" not found
)
我发现这位先生的 post on a mailing list 建议 Google/Analytics pod 没有版本号。 (pod 'Google/Analytics'
如上所述。)
如果其他人在尝试#import
我遇到了这个问题,none 我找到的解决方案可以解决它。然后我注意到我的一个目标有效而另一个没有(我在同一个项目中有两个),我试图找出这两个目标之间的区别。
我注意到部署信息下常规选项卡上的项目有所不同,其中第二个目标(有效的目标)有单独的选项 iPhone 和 iPad,但是第一个没有。网上还有人说,他们复制目标时收到了这两个新选项。我的第二个目标也是第一个的副本,原来是。
长话短说,我发现如果我复制我的目标,那么复制现在突然起作用了。那些单独的 iPhone 和 iPad 选项也神奇地出现了。所以我猜我的项目目标是非标准的并导致了问题,可能是因为这个项目是很久以前创建的。
然后我只是删除了原始目标并将新目标重命名为相同的名称,尽管在与 plist 文件相关的构建设置中需要进行一些清理工作(它制作了一个 copy.plist 文件) .
希望这对某人有所帮助。
这是 cocoapods 中的一个错误。
您需要将 $(SRCROOT)/Pods/Google 和 $(SRCROOT)/Pods/Google 具有递归选项的分析添加到您的用户 Header 搜索路径。
然后包含 #import "Analytics.h" 而不是 #import
检查您是否有多个目标,在这种情况下,在您的 pod 文件中为每个目标添加 pod 'Google/Analytics':
def google_pods
pod 'Google/Analytics'
end
target 'target 1' do
google_pods
end
target 'target 2' do
google_pods
end
target 'target N' do
google_pods
end
Swift 3
版本 3.17.0(使用 Podfile 中的 pod 'GoogleAnalytics' 安装):
- 打开 yourproject.xcworkspace 而不是 yourproject.xcodeproj
- 在桥接头文件中使用
#import <GoogleAnalytics/GAI.h>
编辑: 根据 jeremy piednoel 的评论,您可能还需要
#import <GoogleAnalytics/GAIDictionaryBuilder.h>
#import <GoogleAnalytics/GAIFields.h>
还有我的 0.02 美元,因为这似乎是一个永无止境的故事。 None 以上建议确实有帮助。我从 pod install
[!] The `blabla [Release]` target overrides the `HEADER_SEARCH_PATHS` build setting defined in `Pods/Target Support Files/Pods-blabla/Pods-blabla.release.xcconfig'. This can lead to problems with the CocoaPods installation
最后我检查了我的 project.pxbproj
并发现我有这个条目:
HEADER_SEARCH_PATHS = "";`
很明显这个被当做"defined",所以我改成了
HEADER_SEARCH_PATHS = "$(inherited)";
繁荣 - 所有 Google 建议包括工作
#import <GoogleAnalytics/GAI.h>
#import <GoogleAnalytics/GAIDictionaryBuilder.h>
#import <GoogleAnalytics/GAIFields.h>
- 运行
pod update
- 清理构建文件
- 运行 项目
从构建设置中删除有效的拱门