Firebaseをデバッグする唯一の方法は、起動時に渡される引数に-FIRAnalyticsDebugEnabled
を渡すことです。
IOSデバイスが接続された状態でデバッグモードで動作していますが、QAがXcodeなしでテストできるようにAdHocビルドをデプロイしたいと思います。
しかし、Xcodeがビルドをアーカイブするとき、起動時に引数が渡されないようです。
解決策はありますか?ありがとう。
これに対するハッキングソリューションを見つけました。アプリケーションで試してみてください:didFinishLaunchingWithOptions:またはAppDelegateのinitをオーバーライドします:
Objective-C:
NSMutableArray *newArguments = [NSMutableArray arrayWithArray:[[NSProcessInfo processInfo] arguments]];
[newArguments addObject:@"-FIRDebugEnabled"];
[[NSProcessInfo processInfo] setValue:[newArguments copy] forKey:@"arguments"];
迅速:
var newArguments = ProcessInfo.processInfo.arguments
newArguments.append("-FIRDebugEnabled")
ProcessInfo.processInfo.setValue(newArguments, forKey: "arguments")
最も上向きの答えへのほんのいくつかの追加:私はこのようなことをします
#if DEBUG
var newArguments = ProcessInfo.processInfo.arguments
newArguments.append("-FIRDebugEnabled")
ProcessInfo.processInfo.setValue(newArguments, forKey: "arguments")
#endif
デバッグのために保持します。これには、ビルド設定の「その他Swiftフラグ」」で-DDEBUG
を設定する必要があります(もちろん、これをデバッグ値に設定する必要があります。
そして、Firebaseを初期化する前にコードスニペットを配置することを忘れないでください:-)
現在、AdHocビルドまたはリリースビルドでデバッグモードをオンにする方法はなく、意図的なものです。 DebugViewは開発専用です。アプリをビルドすると、実際のトラフィックのみを確認できます。つまり、実行後2〜4時間です。
上記の提案に加えて:
FIREBASE_DEBUG_ENABLED = YES
_またはNO
(つまり、YES
を除くすべての場所でRelease
)FirebaseDebugEnabled
、文字列値:$(FIREBASE_DEBUG_ENABLED)
のエントリを追加します。AppDelegate.m
_のdidFinishLaunchingWithOptions
メソッドに、次のステートメントを追加します。コード:
_NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"Info" ofType:@"plist"];
NSDictionary *plistConfig = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
// Firebase
BOOL isFirebaseDebugEnabled = [[plistConfig valueForKey:@"FirebaseDebugEnabled"] boolValue];
if (isFirebaseDebugEnabled) {
NSLog(@"Firebase debug enabled.");
NSMutableArray *newArguments = [NSMutableArray arrayWithArray:[[NSProcessInfo processInfo] arguments]];
[newArguments addObject:@"-FIRAnalyticsDebugEnabled"];
[newArguments addObject:@"-FIRDebugEnabled"];
[[NSProcessInfo processInfo] setValue:[newArguments copy] forKey:@"arguments"];
}
[FIRApp configure];
_
ターゲットスキームのRun
セクションで、使用するビルド構成(デフォルト:Debug
)を選択してアプリをビルドできるため、Adhoc
モードとRelease
モードでアプリを実行してみてください。