簡體   English   中英

通過CocoaPods集成Fabric / Crashlytics

[英]Integrate Fabric/Crashlytics via CocoaPods

我嘗試通過CocoaPods集成Fabric / Crashlytics,我的Podfile看起來像這樣:

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

但是當我嘗試構建我的應用程序時,構建失敗並且我得到一個Shell Script Invocation Error ,找不到運行腳本:

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

是否可以僅使用CocoaPods安裝Fabric?

Fabric現在支持使用CocoaPods進行安裝: http ://docs.fabric.io/ios/fabric/cocoapods.html

如果您只是在尋找Crashlytics您可以使用這兩個pod:

pod 'Fabric'
pod 'Crashlytics'

除了添加以下構建階段腳本(注意:如果您的repo的路徑包含空格,您將需要引號):

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

運行腳本構建階段

如果您想使用TwitterKit您需要包括:

pod 'TwitterKit'

通過更改以下行來解決我的同樣問題:

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

至:

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

換句話說,只是添加一個額外的'。' 指定'Pods'目錄是兄弟而不是構建目錄的子節點。 因人而異。

我有同樣的問題,使用$PODS_ROOT環境變量指向你的Pods文件夾; 一定要引用它,以防你的路徑中有空格; 而不是

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

使用

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

嘗試:

  1. 在podfile中刪除Fabric和Crashlytics。

  2. pod安裝

  3. 再次將Fabric和Crashlytics添加到podfile

  4. pod安裝

  5. 像上面的回答一樣添加Run腳本。

希望它有所幫助。

macOS Sierra,Swift 3

更改

${PODS_ROOT}/Fabric/run

"${PODS_ROOT}/Fabric/run"

我不得不使用CocoaPods 0.39在Xcode 7中使用不同的路徑:

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

podfile:

pod 'Crashlytics'
pod 'Fabric'

我剛剛將Fabric更新為3.4.1,並且該路徑^稍微改變為Fabric/run 確保仔細檢查${SRCROOT}之后的位,並將其與Fabric應用程序推薦的內容進行比較。 有關詳細信息,請參閱3.4.1的更改日志

Fabric (1.6.7)

你應該改變路徑

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

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

使用Cocoapods時,在構建階段執行的腳本路徑會有所不同。 https://github.com/bpoplauschi/CrashlyticsFramework上的github頁面建議使用./Pods/CrashlyticsFramework/Crashlytics.framework/run但是,我發現我必須使用./Pods/Fabric/Fabric.framework/run安裝。 無論如何,你必須挖掘Pods目錄才能找到你想要的東西。

如果您依賴於舊版Podspecs的特定內容並且無法更新到官方庫,則可以添加

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

在Podfile的頂部,它將在新的版本之前查找舊的-unofficial-版本。 有關更多詳細信息,請參閱FabricSpecs倉庫

對於我的項目,這工作:

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

如果您從舊版本更新到FabricCrashlytics

  1. 如果您的info.plist文件中有關鍵Fabric任何數據,請確保刪除所有該信息以及密鑰。
  2. 使用簡單的"${PODS_ROOT}/Fabric/run"腳本。 不要添加任何API_KEY和BUILD_SECRET

這對我有用,希望這會有所幫助。

通常我會建議不要反對谷物並使用Fabric App進行安裝。 鑒於它們提供的復雜性,它是我見過的最簡單的集成工具。

話雖這么說,既然你已經開始使用Cocoapods了,那么唯一的方法就是如下

  1. 運行Crashlytics App安裝程序,直到他們為您提供構建階段腳本。
  2. 復制腳本
  3. 撤消安裝
  4. 通過Cocoapods安裝
  5. 將復制的腳本添加到buildphase

我以前遇到過這個問題。 這是我的解決方案。 在運行腳本之前自動添加運行文件的執行模式。

Build Phase -> Run Script添加以下行:

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

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

刪除podfile.lock和manifest.lock,然后重新運行podfile安裝,然后使用Fabric中的“easy”配置應用程序從那里繼續。

在Fabric.io的網站上有一些非常漂亮的屏幕截圖幻燈片演示。 我在谷歌找到了它們 - 看不到它們可從網站訪問的位置。

僅供參考,如果您遇到問題,那不是您:)。 基本上(截至8月3日),Fabric板載過程的每一步都可能被破壞。

  • 如果你很幸運,你可能沒有問題。
  • 如果你不是,:(你可能在每一步都要解決問題,包括注冊服務,這可以讓你進入無休止的注冊循環,等等。

希望這些都能很快得到修復。

警告:您通過搜索找到的大部分答案都將過時,因為很明顯,fabric.io在7月15日發生了很大變化,但是如果您向下滾動堆棧/ o上找到的任何內容,您可能會找到更新的答案。

如果您之前在項目中使用Fabric,請確保從您的pod中卸載pod'Answers','〜> 1.3'。

正如官方文檔中所述,只需更新您的pods repo

pod repo update

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM