dogsgod
dogsgod

Reputation: 6387

After update to Fabric the Mac App does not configure my project

I just updated from Crashlytics to Fabric. But when I open the Mac App and try to update my projects it stops at "Build your project".

My project setup is a little bit complicated, I have multiple targets to build but it works with none of them (nor all of them)

Is there a way to manually do the update? I could not find a hint on the Crashlytics pages, nor is this a duplicate of Crashlytics in iOS won't proceed past "Build Your Project" in Fabric app

Upvotes: 1

Views: 1188

Answers (3)

Oleg Danu
Oleg Danu

Reputation: 4159

I have solved this issue by the following way. Following the advise from above, I began adding a new app to crashlytics. When I reached to adding new "Run script" build phase, I just copied that text and pasted it over the previous one(created with Crashlytics). I have also unchecked "Run script only when installing".

After this, I canceleed adding a new app and procedeed back to the UPGRADE. At this moment, building the app, can pass you to the next step and you don't get stuck on that screen anymore.

Upvotes: 0

dogsgod
dogsgod

Reputation: 6387

I had to simplify my build setup. Make sure you have the ./Crashlytics.framework/run in your build setup run script and not in an external script called from there - otherwise it will fail.

Also make sure you have the Crashlytics call [Crashlytics startWithAPIKey:@"1234"] in your app for all build configurations at setup time, otherwise again the setup will fail.

If you did any mistake your only option is to kill the Fabric Mac App and start over again. So make sure you have a versioning system set up, so you can get back to the initial phase.

I also had to change the build setup run script manually from ./Crashlytics.framework/run to ./Fabric.framework/run, thanks to @Tapani for the hint

Upvotes: 0

Tapani
Tapani

Reputation: 3231

You can add the Fabric.framework and Crashlytics.framework manually and enable them for selected targets. Also, add this to your Info.plist:

<key>Fabric</key>
<dict>
    <key>Kits</key>
    <array>
        <dict>
            <key>KitInfo</key>
            <dict/>
            <key>KitName</key>
            <string>Crashlytics</string>
        </dict>
    </array>
    <key>APIKey</key>
    <string>YOUR_FABRIC_KEY</string>
</dict>

And this to your Build Phases - Run Script for every target where you wish to use Crashlytics. You can use the same key with every target as it's company, not application specific:

Shell: /bin/sh

./Fabric.framework/run YOUR_FABRIC_KEY BUILD_SECRET

I assume you already have this in your AppDelegate:

[Fabric with:@[CrashlyticsKit]];

Upvotes: 2

Related Questions