我正在关注Google steps将Google SDK添加到我的iOS应用中,以便跟踪Google广告的安装情况。我已经完成了所有步骤。然而,进入didFinishLaunchingWithOptions的Objective-C的小片段,因为我的应用程序在Swift中而得到错误消息。如何将其翻译为Swift?
[ACTAutomatedUsageTracker enableAutomatedUsageReportingWithConversionID:@"IDString"];
[ACTConversionReporter reportWithConversionID:@"IDString" label:@"String" value:@"0.00" isRepeatable:NO];
[ACTAutomatedUsageTracker disableAutomatedUsageReportingWithConversionID:MY_CONVERSION_ID];
我是否需要在Bridge-Header中添加内容?我跟着Facebook SDK的指南让我用这段代码创建一个头文件:
#ifndef Bridging_Header_h
#define Bridging_Header_h
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#endif /* Bridging_Header_h */
导入Project Navigator的Google SDK图片。
所以我的两个问题是:
答案 0 :(得分:2)
我是否需要将代码添加到我的网桥标题中,如果是,那该怎么办?
绝对。要在Swift中访问Objective-C代码,您需要在名为“MyProjectHere-Bridging-Header.h”的头文件中定义导入。接下来,确保在构建设置中,在Swift Compiler - Code Generation下,将“Objective-C Generated Interface Header Name”设置为新的头文件。
标题代码如下所示:
#ifndef AppName_Bridging_Header_h
#define AppName_Bridging_Header_h
#import "ACTReporter.h"
#import "GoogleConversionPing.h"
#import "DCTReporter.h"
#endif /* AppName_Bridging_Header_h */
完成后,只需进入新的头文件并为Google框架中的头文件执行#import语句,您应该能够在App Delegate中使用它,就像它是Swift一样:
即。
let useageTraker: ACTAutomatedUsageTracker?
usageTracker.enableAutomatedUsageReportingWithConversionID("\(ID)")
appDelegate的完整Swift代码:
ACTAutomatedUsageTracker.enableAutomatedUsageReportingWithConversionID("0123456789")
ACTConversionReporter.reportWithConversionID("0123456789", label: "XXXXXX", value: "0.00", isRepeatable: false)