[英]How to integrate Crashlytics into an iOS framework target?
我有一個iOS框架目標,我需要為它集成Crash報告系統。
所以Crashlytics看起來不錯,但是
此Xcode項目沒有任何Mac或iOS目標
那么,有沒有辦法將Crashlytics直接集成到iOS框架中?
感謝Mike Bonnell在這里的評論 ,其中說:
當然,我們的SDK僅支持初始化一次。 在框架和應用程序中初始化會導致沖突。 您和應用程序開發人員將擁有不同的API密鑰,並且無法讓應用程序開發人員授予您的SDK權限,以便與您的框架共享代碼中的堆棧跟蹤。 在我們的框架中包含我們將導致您的框架和使用它的任何人的問題,所以這就是為什么我說不包括我們! 完全理解SDK開發人員希望看到這種支持。
這里有一個解決方案,允許您的lib用戶使用crashlytics進行日志記錄。
您的lib可以提供一個默認的日志功能,可以調用NSLog或Print或您想要的任何機制。 但也有你的庫提供一種機制來覆蓋使用的打印方法。
例如,假設您在庫中定義了Logger類:
public class Logger {
private static var printer: (message: String) -> Void = nil
public static func setPrinter(newPrinter: (message: String) -> Void) {
Logger.printer = newPrinter
}
debug(format: String, ...) {
// convert params into a single formatted:String, then ...
if(Logger.printer != nil) {
Logger.printer(message: formatted)
} else {
print(formatted)
// or
NSLog(formatted)
}
}
}
現在,當人們使用您的庫時,他們將獲得您實施的默認打印。 但是,如果他們有自己的日志記錄解決方案,比如crashlytics他們可以像這樣覆蓋它:
// in their App code
Logger.setPrinter((message:String) -> Void {
CLSNSLog(message)
});
按照鏈接中提供的以下步驟集成Crashlytics。
最強大,最輕量級的重量損失報告解決方案。 花費更少的時間尋找和更多的時間來解決崩潰問題。 在iOS和Android上被命名為#1性能SDK,Crashlytics提供深入且可操作的見解,甚至是應用程序崩潰的確切代碼行。
雖然Crashlytics為您提供了強大的崩潰報告功能,但只需再點擊一次,您就可以啟用實時分析,幫助您了解應用中發生的情況。 Fabric的分析引擎可以深入了解您的核心目標,例如增長,保留和參與度。 最后,您不需要分析分析。
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.