【Swift5】FirebaseAnalyticsを複数のTARGET・plistで個別設定する方法【Objective-C】
複数のターゲットが存在するプロジェクトでFirebaseAnalyticsを導入しようとした時に、開発と本番でログデータを分ける必要があったのでその方法を記載します。
1.FirebaseAnalyticsのインストール
2.FirebaseAnalyticsを複数のターゲットで個別設定する方法
1. FirebaseAnalyticsのインストール
cocoapodでFirebaseAnalyticsをプロジェクトに追加します。
pod 'Firebase/Analytics'
Podfileに上記を追加します。
$ pod install
pod installで追加します。
2. FirebaseAnalyticsを複数のTARGETで個別設定する方法
cocoapodでFirebaseをプロジェクトに追加したらログが取れるように設定します。
Swift5
import Firebase
FirebaseのSDKをインポートします。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
var filePath
if isDevelop {
filePath = Bundle.main.path(forResource: "GoogleService-Info-Dev", ofType: "plist")
}
else {
filePath = Bundle.main.path(forResource: "GoogleService-Info", ofType: "plist")
}
guard let options = FirebaseOptions(contentsOfFile: filePath!) else {
return
}
FirebaseApp.configure(options: options)
return true
}
つぎにFirebaseのどのplistを使用するのかpathを取得して、FIROptionsを作成しconfigureWithOptions:でオプションを設定しつつAnalyticsを開始させます。
Objective-C
@import Firebase;
FirebaseのSDKをインポートします。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
NSString *path;
if (isDevelop) {
path = [[NSBundle mainBundle] pathForResource:@"GoogleService-Info-Dev" ofType:@"plist"];
}
else {
path = [[NSBundle mainBundle] pathForResource:@"GoogleService-Info" ofType:@"plist"];
}
FIROptions *options = [[FIROptions alloc] initWithContentsOfFile:path];
[FIRApp configureWithOptions:options];
return YES;
}
つぎにFirebaseのどのplistを使用するのかpathを取得して、FIROptionsを作成しconfigureWithOptions:でオプションを設定しつつAnalyticsを開始させます。