在我的Swift应用程序中尝试实施Google跟踪代码管理器v5时,我遇到了以下警告,这给我带来了一些麻烦:
GoogleTagManager警告:找不到默认容器.容器需要添加到容器文件夹并添加到目标.
它花了我更多的时间,而且因为我的问题的答案很难找到而且不是这样,我决定创建这个问答,以防有些人和我的情况一样!
我正在尝试重做swift 3项目的一部分,使其成为一个快速框架,以便将其用作pod.问题是我需要使用GoogleTagManager legacy(v3)作为依赖项,并且在执行时遇到以下错误pod spec lint:
错误| [iOS] unknown:遇到未知错误('Pods-App'目标具有包含静态二进制文件的传递依赖项:(/ private/var/folders/7t/0cd0n1gn46xd7r1cywrgcy2w0000gn/T/CocoaPods/Lint/Pods/GoogleTagManager/Libraries/libTagManager .a))在验证期间.
或者,使用GTM v5:
错误| [iOS] unknown:遇到未知错误('Pods-App'目标具有包含静态二进制文件的传递依赖项:(/ private/var/folders/7t/0cd0n1gn46xd7r1cywrgcy2w0000gn/T/CocoaPods/Lint/Pods/GoogleTagManager/Frameworks/GoogleTagManager .framework))在验证期间.
我正在使用最新的cocoapods版本(1.1.0.rc.2),据我所知,问题来自GTM pod的依赖关系,其中至少有一个是静态库.
我读了一些线程,人们谈论在框架中安装静态库的工作区,或者在创建pod时将静态库包装到框架中.问题是静态库是GTM pod的依赖,所以我无法控制它.至少这就是我在这里所理解的.
这是我的Podfile:
# Uncomment this line to define a global platform for your project
platform :ios, '8.0'
target 'MyProject' do
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
# use_frameworks!
# Pods for MyProject
pod 'GoogleTagManager', '~> 3.15.2'
end
Run Code Online (Sandbox Code Playgroud)
这是我的(缩短为StackOverflow)MyProject.podspec:
Pod::Spec.new do |s|
s.name = "MyProject" …Run Code Online (Sandbox Code Playgroud) 我正在将 GTM v5(GTM + Firebase)集成到 Swift 项目中,并且我希望能够在触发标签时调用一些方法。然而,它似乎不适用于 Swift,尽管 Objective C 和 Android 项目中的类似实现确实有效。
\n这是符合协议的类TAGCustomFunction:
import Foundation\nimport GoogleTagManager\n\nfinal class Tags: NSObject, TAGCustomFunction {\n\n func execute(withParameters parameters: [AnyHashable : Any]!) -> NSObject! {\n print("YEAH ! IT WORKS !")\n return nil\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n一切都运行良好,即使我看到这些日志:
\n\n\nGoogleTagManager 信息:处理记录的事件:applicationStart 参数:(空)
\n
但我正在打印的日志没有显示\xe2\x80\xa6
\n我确信容器的配置,因为这个容器已正确加载,并且我为我的 Objective C 项目使用了完全相同的容器,它在其中完美运行。
\n