web-dev-qa-db-fra.com

Intégrer Fabric/Crashlytics via CocoaPods

J'essaie d'intégrer Fabric/Crashlytics via CocoaPods, mon fichier Podfile ressemble à ceci:

pod 'Fabric/Core', '1.2'
pod 'Fabric/Crashlytics', '1.2'

Mais lorsque j'essaie de créer mon application, la construction échoue et j'obtiens un Shell Script Invocation Error indiquant que le script d'exécution n'est pas trouvé:

.../Script-F8D74CB61AB5D7A50013D134.sh: line 2: ./Fabric.framework/run: No such file or directory

Est-il possible d'installer Fabric uniquement à l'aide de CocoaPods?

47
swalkner

Fabric prend désormais en charge l’installation avec CocoaPods: http://docs.fabric.io/ios/fabric/cocoapods.html

Si vous cherchez simplement Crashlytics, vous pouvez utiliser ces deux modules:

pod 'Fabric'
pod 'Crashlytics'

Outre l'ajout du script de phase de construction suivant (remarque: si le chemin d'accès à votre référentiel contient des espaces, vous aurez besoin des guillemets):

"${PODS_ROOT}"/Fabric/run <API Key> <Build Secret>

Run Script Build Phase

Si vous souhaitez utiliser TwitterKit, vous devez inclure:

pod 'TwitterKit'
160
Steven Hepting

Le même problème pour moi a été résolu en changeant la ligne de:

./Pods/Fabric/Fabric.framework/run YOUR_API_KEY YOUR_BUILD_SECRET

à:

../Pods/Fabric/Fabric.framework/run YOUR_API_KEY YOUR_BUILD_SECRET

En d'autres termes, il suffit de prévoir un extra '.' pour indiquer que le répertoire 'Pods' est un frère plutôt qu'un enfant du répertoire de construction. YMMV.

10
c3r34l

J'ai eu le même problème, utilisez la variable d'environnement $PODS_ROOT qui pointe vers votre dossier Pods; assurez-vous de le citer au cas où vous auriez des espaces sur votre chemin; alors au lieu de

./Pods/Fabric/Fabric.framework/run YOUR_API_KEY YOUR_BUILD_SECRET

utilisation

"$PODS_ROOT"/Fabric/Fabric.framework/run YOUR_API_KEY YOUR_BUILD_SECRET

9
jaygooby

Essayer:

  1. Supprimez Fabric et Crashlytics dans le fichier podfile. 

  2. installation de pod

  3. Ajouter Fabric et Crashlytics à podfile à nouveau

  4. installation de pod

  5. Ajouter un script d'exécution comme ci-dessus pour la réponse.

J'espère que ça vous aidera.

8
eric long

macOS Sierra, Swift 3

changement

${PODS_ROOT}/Fabric/run

à

"${PODS_ROOT}/Fabric/run"
6
Adam Smaka

dans 

Fabric (1.6.7)

Vous devriez changer le chemin de 

"${PODS_ROOT}/Fabric/Fabric.framework/run" YOUR_API_KEY YOUR_BUILD_SECRET

à

"${PODS_ROOT}/Fabric/run"  YOUR_API_KEY YOUR_BUILD_SECRET
5
UnRewa

J'ai dû utiliser un chemin différent dans Xcode 7 en utilisant CocoaPods 0.39:

${SRCROOT}/Pods/Fabric/Fabric.framework/run <key> <secret>

podfile:

pod 'Crashlytics'
pod 'Fabric'

Je viens également de mettre à jour Fabric vers 3.4.1, et ce chemin ^ a légèrement changé pour Fabric/run. Assurez-vous de vérifier soigneusement les bits après ${SRCROOT} et de les comparer aux recommandations de l'application Fabric. Voir le journal des modifications pour 3.4.1 pour plus de détails.

5
brandonscript

Le chemin d'accès au script exécuté lors de la phase de construction est différent lorsque vous utilisez Cocoapods. La page github sur https://github.com/bpoplauschi/CrashlyticsFramework conseille d’utiliser ./Pods/CrashlyticsFramework/Crashlytics.framework/run; cependant, j’ai dû utiliser ./Pods/Fabric/Fabric.framework/run pour mon installation. Quoi qu'il en soit, vous devrez parcourir le répertoire Pods pour trouver ce que vous recherchez.

3
keyboardsamurai

Pour mon projet, cela a fonctionné:

"${PODS_ROOT}/Fabric/Fabric.framework/run" YOUR_API_KEY YOUR_BUILD_SECRET
1
deepax11

Si vous vous êtes fondé sur quelque chose de spécifique aux anciennes Podspecs et que vous ne pouvez pas encore mettre à jour les bibliothèques officielles, vous pouvez ajouter 

source 'https://github.com/orta/FabricSpecs.git'
source 'https://github.com/CocoaPods/Specs.git'

Au sommet de votre fichier podfile, et il recherchera les anciennes versions (non officielles) avant les nouvelles. Voir le référentiel FabricSpecs pour plus de détails.

1
orta

Si vous mettez à jour Fabric & Crashlytics à partir d'une version antérieure:

  1. Si vous avez des données dans votre fichier info.plist avec la clé Fabric, veillez à supprimer toutes ces informations avec la clé.
  2. Utilisez un script "${PODS_ROOT}/Fabric/run" simple. Ne pas ajouter de API_KEY et BUILD_SECRET

Cela a fonctionné pour moi, espérons que cela aide.

1

J'ai rencontré ce problème avant .. .. Voici ma solution… .. pour ajouter le mode d'exécution du fichier d'exécution automatiquement avant que vous n'exécutiez le script.

Dans le Build Phase -> Run Script, ajoutez la ligne suivante:

chmod +x ./Pods/CrashlyticsFramework/Crashlytics.framework/run

./Pods/CrashlyticsFramework/Crashlytics.framework/run YOUR_API_KEY YOUR_BUILD_SECRET
0
StevenChen

Supprimez podfile.lock et manifest.lock, puis réexécutez l'installation de podfile, puis continuez à partir de là en utilisant l'application de configuration "easy" de Fabric.

Il y a de très jolies démonstrations de diaporamas sur le site de Fabric.io. Je les ai trouvés avec Google. Je ne vois pas où ils sont accessibles depuis le site.

Pour votre information, si vous rencontrez des problèmes, ce n'est pas vous :). Fondamentalement (à compter du 3 août), chaque étape du processus Fabric onboard est potentiellement interrompue. 

  • Si vous avez de la chance, vous n'aurez peut-être aucun problème. 
  • Si ce n'est pas le cas :(, vous pourriez avoir des problèmes à résoudre à chaque étape, y compris pour vous abonner au service, ce qui peut vous mettre dans une boucle d'inscription sans fin, et ainsi de suite. 

Espérons que tous ces problèmes seront bientôt réparés.

Attention: la plupart des réponses que vous trouverez via une recherche seront obsolètes, car apparemment, fabric.io a beaucoup changé le 15 juillet, mais si vous faites défiler tout ce que vous trouvez sur stack/o, vous pourrez trouver une réponse plus récente.

0
Richard Grossman

Comme mentionné dans la documentation officielle, il vous suffit de mettre à jour votre rapport de pods

pod repo update
0
Vitor Reis

En règle générale, je vous recommande de ne pas aller à contre-courant et d'utiliser l'application Fabric pour l'installation. C'est l'outil d'intégration le plus simple que j'ai jamais vu, compte tenu de la complexité de ce logiciel.

Cela étant dit, puisque vous êtes décidé à utiliser des cocoapodes, la seule façon de faire avancer les choses serait la suivante:

  1. Exécutez le programme d’installation de l’application Crashlytics jusqu’à ce qu’il vous transmette le script de la phase de construction. 
  2. Copier le script
  3. Annuler l'installation
  4. Installer via Cocoapods
  5. Ajouter le script copié à votre phase de construction
0
Daniel Galasko

Assurez-vous de désinstaller le pod 'Réponses', '~> 1.3' de vos pods si vous utilisez Fabric dans votre projet auparavant.

0
Maximo Lucosi