@@ -253,7 +253,6 @@ function promptQuestionsResult(result) {
253253 writePodFile ( result ) ;
254254 writeGoogleServiceCopyHook ( ) ;
255255 writeBuildscriptHookForCrashlytics ( isSelected ( result . crashlytics ) ) ;
256- activateIOSCrashlyticsFramework ( isSelected ( result . crashlytics ) ) ;
257256 activateIOSMLKitCameraFramework ( isSelected ( result . ml_kit ) ) ;
258257 }
259258
@@ -319,14 +318,6 @@ function activateIOSMLKitCameraFramework(enable) {
319318 }
320319}
321320
322- function activateIOSCrashlyticsFramework ( enable ) {
323- if ( enable && fs . existsSync ( path . join ( directories . ios , 'TNSCrashlyticsLogger.framework-disabled' ) ) ) {
324- fs . renameSync ( path . join ( directories . ios , 'TNSCrashlyticsLogger.framework-disabled' ) , path . join ( directories . ios , 'TNSCrashlyticsLogger.framework' ) ) ;
325- } else if ( ! enable && fs . existsSync ( path . join ( directories . ios , 'TNSCrashlyticsLogger.framework' ) ) ) {
326- fs . renameSync ( path . join ( directories . ios , 'TNSCrashlyticsLogger.framework' ) , path . join ( directories . ios , 'TNSCrashlyticsLogger.framework-disabled' ) ) ;
327- }
328- }
329-
330321function askSaveConfigPrompt ( ) {
331322 prompt . get ( {
332323 name : 'save_config' ,
@@ -377,8 +368,7 @@ function writePodFile(result) {
377368` + ( isSelected ( result . performance_monitoring ) ? `` : `#` ) + `pod 'Firebase/Performance'
378369
379370# Crashlytics
380- ` + ( isSelected ( result . crashlytics ) ? `` : `#` ) + `pod 'Fabric'
381- ` + ( isSelected ( result . crashlytics ) ? `` : `#` ) + `pod 'Crashlytics'
371+ ` + ( isSelected ( result . crashlytics ) ? `` : `#` ) + `pod 'Firebase/Crashlytics'
382372` + ( ! isSelected ( result . crashlytics ) ? `` : `
383373# Crashlytics works best without bitcode
384374post_install do |installer|
@@ -465,7 +455,7 @@ const pattern3 = /\\n\\s*\\/\\/Crashlytics 3 BEGIN[\\s\\S]*\\/\\/Crashlytics 3 E
465455const string1 = \`
466456//Crashlytics 1 BEGIN
467457#else
468- # import <Crashlytics/CLSLogging.h>
458+ @ import FirebaseCrashlytics;
469459#endif
470460//Crashlytics 1 END
471461\`;
@@ -475,7 +465,7 @@ const string2 = \`
475465#if DEBUG
476466#else
477467static int redirect_cls(const char *prefix, const char *buffer, int size) {
478- CLSLog( @"%s: %.*s", prefix, size, buffer) ;
468+ [[FIRCrashlytics crashlytics] logWithFormat: @"%s: %.*s", prefix, size, buffer] ;
479469 return size;
480470}
481471
@@ -527,7 +517,7 @@ module.exports = function($logger, $projectData, hookArgs) {
527517
528518 // Xcode 10 requires 'inputPaths' set, see https://firebase.google.com/docs/crashlytics/get-started
529519 var options = {
530- shellPath: '/bin/sh', shellScript: '\"\${PODS_ROOT}/Fabric /run\"',
520+ shellPath: '/bin/sh', shellScript: '\"\${PODS_ROOT}/FirebaseCrashlytics /run\"',
531521 inputPaths: ['"\$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)\"']
532522 };
533523
@@ -660,7 +650,7 @@ dependencies {
660650 ` + ( isSelected ( result . performance_monitoring ) ? `` : `//` ) + ` implementation "com.google.firebase:firebase-perf:19.0.5"
661651
662652 // Crashlytics
663- ` + ( isSelected ( result . crashlytics ) ? `` : `//` ) + ` implementation "com.crashlytics.sdk.android: crashlytics:2.10.1 "
653+ ` + ( isSelected ( result . crashlytics ) ? `` : `//` ) + ` implementation "com.google.firebase:firebase- crashlytics:17.2.2 "
664654
665655 // Cloud Messaging (FCM)
666656 ` + ( isSelected ( result . messaging ) || isSelected ( result . external_push_client_only ) ? `` : `//` ) + ` implementation "com.google.firebase:firebase-messaging:20.1.0"
@@ -705,7 +695,7 @@ dependencies {
705695apply plugin: "com.google.gms.google-services"
706696
707697// Crashlytics
708- ` + ( isSelected ( result . crashlytics ) ? `` : `//` ) + `apply plugin: "io.fabric "
698+ ` + ( isSelected ( result . crashlytics ) ? `` : `//` ) + `apply plugin: "com.google.firebase.crashlytics "
709699` ) ;
710700 console . log ( 'Successfully created Android (include.gradle) file.' ) ;
711701 } catch ( e ) {
@@ -961,27 +951,30 @@ module.exports = function($logger, $projectData) {
961951 if (fs.existsSync(projectBuildGradlePath)) {
962952 let buildGradleContent = fs.readFileSync(projectBuildGradlePath).toString();
963953
964- if (buildGradleContent.indexOf("fabric.io ") === -1) {
954+ if (buildGradleContent.indexOf(" google()\\n ") === -1) {
965955 let repositoriesNode = buildGradleContent.indexOf("repositories", 0);
966956 if (repositoriesNode > -1) {
967957 repositoriesNode = buildGradleContent.indexOf("}", repositoriesNode);
968- buildGradleContent = buildGradleContent.substr(0, repositoriesNode - 1) + '\\t\\tmaven { url "https://maven.fabric.io/public" }\\n\\t\\tmaven { url "https://dl.bintray.com/android/android-tools" }\\n' + buildGradleContent.substr(repositoriesNode - 1);
969- }
970-
971- let dependenciesNode = buildGradleContent.indexOf("dependencies", 0);
972- if (dependenciesNode > -1) {
973- dependenciesNode = buildGradleContent.indexOf("}", dependenciesNode);
974- // see https://docs.fabric.io/android/changelog.html
975- buildGradleContent = buildGradleContent.substr(0, dependenciesNode - 1) + ' classpath "io.fabric.tools:gradle:1.26.1"\\n' + buildGradleContent.substr(dependenciesNode - 1);
958+ buildGradleContent = buildGradleContent.substr(0, repositoriesNode - 1) + '\\t\\tgoogle()\\n' + buildGradleContent.substr(repositoriesNode - 1);
976959 }
977960
978- } else if (buildGradleContent.indexOf("https://dl.bintray.com/android/android-tools") === -1) {
961+ }
962+
963+ if (buildGradleContent.indexOf("https://dl.bintray.com/android/android-tools") === -1) {
979964 let repositoriesNode = buildGradleContent.indexOf("repositories", 0);
980965 if (repositoriesNode > -1) {
981966 repositoriesNode = buildGradleContent.indexOf("}", repositoriesNode);
982967 buildGradleContent = buildGradleContent.substr(0, repositoriesNode - 1) + '\\t\\tmaven { url "https://dl.bintray.com/android/android-tools" }\\n' + buildGradleContent.substr(repositoriesNode - 1);
983968 }
984969 }
970+
971+ if (buildGradleContent.indexOf("com.google.firebase:firebase-crashlytics-gradle") === -1) {
972+ let dependenciesNode = buildGradleContent.indexOf("dependencies", 0);
973+ if (dependenciesNode > -1) {
974+ dependenciesNode = buildGradleContent.indexOf("}", dependenciesNode);
975+ buildGradleContent = buildGradleContent.substr(0, dependenciesNode - 1) + ' classpath "com.google.firebase:firebase-crashlytics-gradle:2.3.0"\\n' + buildGradleContent.substr(dependenciesNode - 1);
976+ }
977+ }
985978
986979 let gradlePattern = /classpath ('|")com\\.android\\.tools\\.build:gradle:\\d+\\.\\d+\\.\\d+('|")/;
987980 let googleServicesPattern = /classpath ('|")com\\.google\\.gms:google-services:\\d+\\.\\d+\\.\\d+('|")/;
0 commit comments