diff --git a/Backtrace.podspec b/Backtrace.podspec index 0259cbcf..8fbaeb0e 100644 --- a/Backtrace.podspec +++ b/Backtrace.podspec @@ -31,8 +31,6 @@ Pod::Spec.new do |s| s.osx.public_header_files = ["Backtrace-macOS/**/*.h*"] s.tvos.public_header_files = ["Backtrace-tvOS/**/*.h*"] - s.ios.dependency "Cassette", '1.0.0-beta5' - s.osx.dependency "Cassette", '1.0.0-beta5' s.dependency "Backtrace-PLCrashReporter", '1.5.3' s.resources = 'Sources/**/*.xcdatamodeld' diff --git a/Backtrace.xcodeproj/project.pbxproj b/Backtrace.xcodeproj/project.pbxproj index 763cce1b..721a7c4c 100644 --- a/Backtrace.xcodeproj/project.pbxproj +++ b/Backtrace.xcodeproj/project.pbxproj @@ -7,10 +7,10 @@ objects = { /* Begin PBXBuildFile section */ + 028648F423D106F4D8B733E5 /* Pods_Backtrace_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8BF90057CBF1590D2876ECB /* Pods_Backtrace_macOS.framework */; }; 0B6B4CFD25CD8331002DA15C /* BacktraceOomWatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B6B4CFC25CD8331002DA15C /* BacktraceOomWatcher.swift */; }; 0B6B4CFE25CD8331002DA15C /* BacktraceOomWatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B6B4CFC25CD8331002DA15C /* BacktraceOomWatcher.swift */; }; 0B6B4CFF25CD8331002DA15C /* BacktraceOomWatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B6B4CFC25CD8331002DA15C /* BacktraceOomWatcher.swift */; }; - 23AAE436BA431C814B0936F5 /* Pods_Backtrace_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7A6BADA9A258E6A8C84A12EA /* Pods_Backtrace_tvOS.framework */; }; 282C85E7223FD8E70014FE75 /* BacktraceCrashExceptionApplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 282C85E6223FD8E70014FE75 /* BacktraceCrashExceptionApplication.swift */; }; 2846E1F8222F1DE60035F98C /* NetworkReachability.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2846E1F7222F1DE50035F98C /* NetworkReachability.swift */; }; 2846E1F9222F1DE60035F98C /* NetworkReachability.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2846E1F7222F1DE50035F98C /* NetworkReachability.swift */; }; @@ -22,7 +22,7 @@ 28966EFA2214BBD200E6E891 /* AttributesStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28966EF92214BBD200E6E891 /* AttributesStorage.swift */; }; 28966EFB2214BBDC00E6E891 /* AttributesStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28966EF92214BBD200E6E891 /* AttributesStorage.swift */; }; 28A652F2285C6C1500306631 /* BacktraceBreadcrumbsLogManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28A652EB285C6C1500306631 /* BacktraceBreadcrumbsLogManager.swift */; }; - 28A652FD285CD9F000306631 /* BacktraceBreadcrumbFileHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28A652E9285C6C1400306631 /* BacktraceBreadcrumbFileHelper.swift */; }; + 28A652FD285CD9F000306631 /* BacktraceBreadcrumbFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28A652E9285C6C1400306631 /* BacktraceBreadcrumbFile.swift */; }; 28A65306285D1BF700306631 /* Date+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28A65305285D1BF700306631 /* Date+Extensions.swift */; }; 28A65307285D1BF700306631 /* Date+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28A65305285D1BF700306631 /* Date+Extensions.swift */; }; 28A65308285D1BF700306631 /* Date+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28A65305285D1BF700306631 /* Date+Extensions.swift */; }; @@ -68,9 +68,13 @@ 28F95BEC225260C9003936E0 /* AttributesStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28966EF92214BBD200E6E891 /* AttributesStorage.swift */; }; 28F95BED225260D3003936E0 /* AttributesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = F259E4E12229C29A00F282C7 /* AttributesProvider.swift */; }; 28F95BEE225260D5003936E0 /* NetworkReachability.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2846E1F7222F1DE50035F98C /* NetworkReachability.swift */; }; - 5B9A6316CCCC5F04057195D8 /* Pods_Backtrace_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1177F259EBD06B9042C924FF /* Pods_Backtrace_iOS.framework */; }; - 61B185949BD16ED95F797C6C /* Pods_Example_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2F84FCBE2C155A6EDCD13DA3 /* Pods_Example_iOS.framework */; }; - 66B308BBBEAB20E6B21865CD /* Pods_Example_macOS_ObjC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 86FA6ECB67FC42BAC8C66B21 /* Pods_Example_macOS_ObjC.framework */; }; + 3D4D64A816EC77E5959CB4EE /* Pods_Example_macOS_ObjC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F14228FA6FDEF303278DE80B /* Pods_Example_macOS_ObjC.framework */; }; + 4B54AEFB29F9BB6400DA641E /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B54AEFA29F9BB6400DA641E /* Queue.swift */; }; + 4B54AEFC29F9BB6400DA641E /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B54AEFA29F9BB6400DA641E /* Queue.swift */; }; + 4B947DB82A054C88000FAB59 /* BreadcrumbRecord.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B947DB72A054C88000FAB59 /* BreadcrumbRecord.swift */; }; + 4B947DB92A054C88000FAB59 /* BreadcrumbRecord.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B947DB72A054C88000FAB59 /* BreadcrumbRecord.swift */; }; + 65D8F689EBABD6D284DF2AF8 /* Pods_Example_iOS_ObjC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2E182B647F0E659E53745FA6 /* Pods_Example_iOS_ObjC.framework */; }; + 6B761EE780E3C2D040C2FA28 /* Pods_Backtrace_macOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4A09B187CF2C8DACFFFBC2CD /* Pods_Backtrace_macOSTests.framework */; }; 6E45A3A7273095E500DB0BAC /* BacktraceMetricsSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E45A3A6273095E500DB0BAC /* BacktraceMetricsSettings.swift */; }; 6E45A3A8273095E500DB0BAC /* BacktraceMetricsSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E45A3A6273095E500DB0BAC /* BacktraceMetricsSettings.swift */; }; 6E45A3A9273095E500DB0BAC /* BacktraceMetricsSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E45A3A6273095E500DB0BAC /* BacktraceMetricsSettings.swift */; }; @@ -104,10 +108,8 @@ 6EB713F8276294160075D1C1 /* MetricsRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB713F7276294160075D1C1 /* MetricsRequest.swift */; }; 6EB713F9276294160075D1C1 /* MetricsRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB713F7276294160075D1C1 /* MetricsRequest.swift */; }; 6EB713FA276294160075D1C1 /* MetricsRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB713F7276294160075D1C1 /* MetricsRequest.swift */; }; - 6F0BF6349057726F088D59C1 /* Pods_Example_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F259CADCE03CF31669043E4 /* Pods_Example_tvOS.framework */; }; - 7300A170089CF1E455840E47 /* Pods_Backtrace_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BECDC44D2F82A1F1FD5CD9D1 /* Pods_Backtrace_macOS.framework */; }; - 87498D6984B8D95C39FE1793 /* Pods_Backtrace_macOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D3ECFB169B902C0D4C33E583 /* Pods_Backtrace_macOSTests.framework */; }; - 95286394B151684D754C98AC /* Pods_Example_iOS_ObjC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BFAF826CD2E1314532AD4FF6 /* Pods_Example_iOS_ObjC.framework */; }; + 8AC36CB69EAC4195874CA46A /* Pods_Example_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C44DCF46EE1D8A113189A061 /* Pods_Example_iOS.framework */; }; + 9C4AEC2BA2254CDB96FD8F98 /* Pods_Backtrace_iOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D5AB7A742C2B181F6235419 /* Pods_Backtrace_iOSTests.framework */; }; A24A4B5728B595D9004F5052 /* BacktraceMetricsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A24A4B4828B595D8004F5052 /* BacktraceMetricsTest.swift */; }; A24A4B5828B595D9004F5052 /* BacktraceMetricsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A24A4B4828B595D8004F5052 /* BacktraceMetricsTest.swift */; }; A24A4B5928B595D9004F5052 /* BacktraceMetricsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A24A4B4828B595D8004F5052 /* BacktraceMetricsTest.swift */; }; @@ -162,8 +164,8 @@ A24A4B9228B59653004F5052 /* BacktraceNotificationObserverMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = A24A4B9028B59653004F5052 /* BacktraceNotificationObserverMock.swift */; }; A24A4B9328B59653004F5052 /* BacktraceNotificationObserverMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = A24A4B9028B59653004F5052 /* BacktraceNotificationObserverMock.swift */; }; A24A4B9428B59768004F5052 /* BacktraceBreadcrumbsLogManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28A652EB285C6C1500306631 /* BacktraceBreadcrumbsLogManager.swift */; }; - A24A4B9628B59789004F5052 /* BacktraceBreadcrumbFileHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28A652E9285C6C1400306631 /* BacktraceBreadcrumbFileHelper.swift */; }; - AA4C5F61F71591357F503E4A /* Pods_Backtrace_iOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7DBFBE4F296B897EB758ADD5 /* Pods_Backtrace_iOSTests.framework */; }; + A24A4B9628B59789004F5052 /* BacktraceBreadcrumbFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28A652E9285C6C1400306631 /* BacktraceBreadcrumbFile.swift */; }; + A4B4C36CF6F9295F161D71FD /* Pods_Example_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 421B201C4AA95F101A2D87A4 /* Pods_Example_tvOS.framework */; }; AF5AB03A26261A4E0003698C /* AttachmentsStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF7833BA2613D1B400530A10 /* AttachmentsStorage.swift */; }; AF5AB04726261A760003698C /* AttachmentBookmarkHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFCCCEC126260BC400B83A28 /* AttachmentBookmarkHandler.swift */; }; AF5AB05526261BDD0003698C /* AttachmentBookmarkHandlerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF5AB05426261BDD0003698C /* AttachmentBookmarkHandlerMock.swift */; }; @@ -179,7 +181,9 @@ AFCCCE232625392300B83A28 /* ReportMetadataStorageMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFCCCE222625392300B83A28 /* ReportMetadataStorageMock.swift */; }; AFCCCE242625392300B83A28 /* ReportMetadataStorageMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFCCCE222625392300B83A28 /* ReportMetadataStorageMock.swift */; }; AFCCCE252625392300B83A28 /* ReportMetadataStorageMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFCCCE222625392300B83A28 /* ReportMetadataStorageMock.swift */; }; - DAF627C0CA0FE995B581C33B /* Pods_Backtrace_tvOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD097A22120C3DCE08382BA5 /* Pods_Backtrace_tvOSTests.framework */; }; + B65E36164F23E19D7E181AFA /* Pods_Backtrace_tvOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F6BCEE8AC2F625980345D0CA /* Pods_Backtrace_tvOSTests.framework */; }; + C53132806A1E164CE460EE8D /* Pods_Backtrace_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0B7C8589C04714BF49288561 /* Pods_Backtrace_iOS.framework */; }; + E575B1AED411F13711793FF5 /* Pods_Backtrace_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 09216ACB5F078857D4A65D15 /* Pods_Backtrace_tvOS.framework */; }; F21211A5222348AC000B3692 /* BacktraceCrashReporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = F21211A4222348AC000B3692 /* BacktraceCrashReporter.swift */; }; F21211A6222348AC000B3692 /* BacktraceCrashReporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = F21211A4222348AC000B3692 /* BacktraceCrashReporter.swift */; }; F21211A8222348C2000B3692 /* SignalContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = F21211A7222348C2000B3692 /* SignalContext.swift */; }; @@ -377,18 +381,19 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 064EA9B5604CEF2769C7EF8E /* Pods-Example-iOS-ObjC.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-iOS-ObjC.release.xcconfig"; path = "Target Support Files/Pods-Example-iOS-ObjC/Pods-Example-iOS-ObjC.release.xcconfig"; sourceTree = ""; }; + 09216ACB5F078857D4A65D15 /* Pods_Backtrace_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Backtrace_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0AE18DF407EBAF0FD1D42020 /* Pods-Example-macOS-ObjC.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-macOS-ObjC.release.xcconfig"; path = "Target Support Files/Pods-Example-macOS-ObjC/Pods-Example-macOS-ObjC.release.xcconfig"; sourceTree = ""; }; 0B6B4CFC25CD8331002DA15C /* BacktraceOomWatcher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BacktraceOomWatcher.swift; sourceTree = ""; }; - 0BD25E424A2C0A01BC783DF6 /* Pods-Example-iOS-ObjC.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-iOS-ObjC.release.xcconfig"; path = "Target Support Files/Pods-Example-iOS-ObjC/Pods-Example-iOS-ObjC.release.xcconfig"; sourceTree = ""; }; - 0C7CA588016EB774C992E9DC /* Pods-Example-iOS-ObjC.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-iOS-ObjC.debug.xcconfig"; path = "Target Support Files/Pods-Example-iOS-ObjC/Pods-Example-iOS-ObjC.debug.xcconfig"; sourceTree = ""; }; - 1177F259EBD06B9042C924FF /* Pods_Backtrace_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Backtrace_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1489BA2A995612C6FD63746C /* Pods-Backtrace-macOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-macOSTests.release.xcconfig"; path = "Target Support Files/Pods-Backtrace-macOSTests/Pods-Backtrace-macOSTests.release.xcconfig"; sourceTree = ""; }; + 0B7C8589C04714BF49288561 /* Pods_Backtrace_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Backtrace_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 11DE4121F6B530FE89CA6C26 /* Pods-Example-iOS-ObjC.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-iOS-ObjC.debug.xcconfig"; path = "Target Support Files/Pods-Example-iOS-ObjC/Pods-Example-iOS-ObjC.debug.xcconfig"; sourceTree = ""; }; 282C85E6223FD8E70014FE75 /* BacktraceCrashExceptionApplication.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BacktraceCrashExceptionApplication.swift; sourceTree = ""; }; 2846E1F7222F1DE50035F98C /* NetworkReachability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkReachability.swift; sourceTree = ""; }; 2846E1FD223070CB0035F98C /* Attachment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Attachment.swift; sourceTree = ""; }; 2846E200223818550035F98C /* test.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = test.txt; sourceTree = ""; }; 28614F9D220B6D7C00D35EFB /* DefaultAttributes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultAttributes.swift; sourceTree = ""; }; 28966EF92214BBD200E6E891 /* AttributesStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttributesStorage.swift; sourceTree = ""; }; - 28A652E9285C6C1400306631 /* BacktraceBreadcrumbFileHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BacktraceBreadcrumbFileHelper.swift; sourceTree = ""; }; + 28A652E9285C6C1400306631 /* BacktraceBreadcrumbFile.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BacktraceBreadcrumbFile.swift; sourceTree = ""; }; 28A652EB285C6C1500306631 /* BacktraceBreadcrumbsLogManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BacktraceBreadcrumbsLogManager.swift; sourceTree = ""; }; 28A65305285D1BF700306631 /* Date+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Date+Extensions.swift"; sourceTree = ""; }; 28AC773B21FA5A8400FED661 /* BacktraceDatabaseSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BacktraceDatabaseSettings.swift; sourceTree = ""; }; @@ -399,11 +404,18 @@ 28F95BB822525DCC003936E0 /* Backtrace-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Backtrace-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 28F95BBD22525DCC003936E0 /* Backtrace_tvOSTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Backtrace_tvOSTests.swift; sourceTree = ""; }; 28F95BBF22525DCC003936E0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 2AD1F18F003AEE4B504EF565 /* Pods-Example-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-iOS.debug.xcconfig"; path = "Target Support Files/Pods-Example-iOS/Pods-Example-iOS.debug.xcconfig"; sourceTree = ""; }; - 2F84FCBE2C155A6EDCD13DA3 /* Pods_Example_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 57F2B4E685B75CC731674666 /* Pods-Backtrace-macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-macOS.release.xcconfig"; path = "Target Support Files/Pods-Backtrace-macOS/Pods-Backtrace-macOS.release.xcconfig"; sourceTree = ""; }; - 5C21E6E3263D3F822055DC6F /* Pods-Backtrace-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-Backtrace-tvOSTests/Pods-Backtrace-tvOSTests.release.xcconfig"; sourceTree = ""; }; - 5F259CADCE03CF31669043E4 /* Pods_Example_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2E182B647F0E659E53745FA6 /* Pods_Example_iOS_ObjC.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_iOS_ObjC.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2E9F20FB6C2A308F1A7652D8 /* Pods-Backtrace-macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-macOS.release.xcconfig"; path = "Target Support Files/Pods-Backtrace-macOS/Pods-Backtrace-macOS.release.xcconfig"; sourceTree = ""; }; + 30ED5A13CA36D443A7E98E1A /* Pods-Backtrace-macOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-macOSTests.release.xcconfig"; path = "Target Support Files/Pods-Backtrace-macOSTests/Pods-Backtrace-macOSTests.release.xcconfig"; sourceTree = ""; }; + 421B201C4AA95F101A2D87A4 /* Pods_Example_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4A09B187CF2C8DACFFFBC2CD /* Pods_Backtrace_macOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Backtrace_macOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4B54AEFA29F9BB6400DA641E /* Queue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Queue.swift; sourceTree = ""; }; + 4B947DB72A054C88000FAB59 /* BreadcrumbRecord.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BreadcrumbRecord.swift; sourceTree = ""; }; + 50E8B0475E5280572013EBB6 /* Pods-Backtrace-macOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-macOSTests.debug.xcconfig"; path = "Target Support Files/Pods-Backtrace-macOSTests/Pods-Backtrace-macOSTests.debug.xcconfig"; sourceTree = ""; }; + 56C505709A5563BB3FE282BB /* Pods-Example-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-tvOS.release.xcconfig"; path = "Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS.release.xcconfig"; sourceTree = ""; }; + 5C2A401B7B5EE45CF9087B04 /* Pods-Backtrace-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-Backtrace-tvOSTests/Pods-Backtrace-tvOSTests.release.xcconfig"; sourceTree = ""; }; + 6864E1F08BC25D621E8E5EBE /* Pods-Backtrace-iOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-iOSTests.debug.xcconfig"; path = "Target Support Files/Pods-Backtrace-iOSTests/Pods-Backtrace-iOSTests.debug.xcconfig"; sourceTree = ""; }; + 6A9AF725B4A499C92800AE90 /* Pods-Example-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-iOS.release.xcconfig"; path = "Target Support Files/Pods-Example-iOS/Pods-Example-iOS.release.xcconfig"; sourceTree = ""; }; 6E45A3A6273095E500DB0BAC /* BacktraceMetricsSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BacktraceMetricsSettings.swift; sourceTree = ""; }; 6E87F5EA2733174C00B90B07 /* Event.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Event.swift; sourceTree = ""; }; 6E87F5F2273325A800B90B07 /* UniqueEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UniqueEvent.swift; sourceTree = ""; }; @@ -415,15 +427,13 @@ 6EB713EF276125760075D1C1 /* BacktraceMetricsSender.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BacktraceMetricsSender.swift; sourceTree = ""; }; 6EB713F327617ED00075D1C1 /* BacktraceMetricsContainer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BacktraceMetricsContainer.swift; sourceTree = ""; }; 6EB713F7276294160075D1C1 /* MetricsRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MetricsRequest.swift; sourceTree = ""; }; - 7A6BADA9A258E6A8C84A12EA /* Pods_Backtrace_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Backtrace_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 7C6B849EED4A5BC8549A8626 /* Pods-Backtrace-macOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-macOSTests.debug.xcconfig"; path = "Target Support Files/Pods-Backtrace-macOSTests/Pods-Backtrace-macOSTests.debug.xcconfig"; sourceTree = ""; }; - 7DBFBE4F296B897EB758ADD5 /* Pods_Backtrace_iOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Backtrace_iOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 86FA6ECB67FC42BAC8C66B21 /* Pods_Example_macOS_ObjC.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_macOS_ObjC.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 88EED3675F32568EE8208086 /* Pods-Backtrace-macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-macOS.debug.xcconfig"; path = "Target Support Files/Pods-Backtrace-macOS/Pods-Backtrace-macOS.debug.xcconfig"; sourceTree = ""; }; - 8EB595BEA326A3C319273488 /* Pods-Backtrace-iOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-iOSTests.debug.xcconfig"; path = "Target Support Files/Pods-Backtrace-iOSTests/Pods-Backtrace-iOSTests.debug.xcconfig"; sourceTree = ""; }; - 901953BC961C3FE4B5AD9833 /* Pods-Example-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-tvOS.release.xcconfig"; path = "Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS.release.xcconfig"; sourceTree = ""; }; - 9E745BEC22F73DD1C35CDEB1 /* Pods-Example-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-iOS.release.xcconfig"; path = "Target Support Files/Pods-Example-iOS/Pods-Example-iOS.release.xcconfig"; sourceTree = ""; }; - 9FA21CD5245BFF9D3A3949ED /* Pods-Example-macOS-ObjC.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-macOS-ObjC.release.xcconfig"; path = "Target Support Files/Pods-Example-macOS-ObjC/Pods-Example-macOS-ObjC.release.xcconfig"; sourceTree = ""; }; + 74D9D7BCB4AF8A7AF932DBE0 /* Pods-Backtrace-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-iOS.debug.xcconfig"; path = "Target Support Files/Pods-Backtrace-iOS/Pods-Backtrace-iOS.debug.xcconfig"; sourceTree = ""; }; + 7D5AB7A742C2B181F6235419 /* Pods_Backtrace_iOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Backtrace_iOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7E1C23350373B5D6616C8D92 /* Pods-Backtrace-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-iOS.release.xcconfig"; path = "Target Support Files/Pods-Backtrace-iOS/Pods-Backtrace-iOS.release.xcconfig"; sourceTree = ""; }; + 7F47A8492C090F7D5F2BDB52 /* Pods-Backtrace-iOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-iOSTests.release.xcconfig"; path = "Target Support Files/Pods-Backtrace-iOSTests/Pods-Backtrace-iOSTests.release.xcconfig"; sourceTree = ""; }; + 8061B8999E634390F69906AE /* Pods-Example-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-iOS.debug.xcconfig"; path = "Target Support Files/Pods-Example-iOS/Pods-Example-iOS.debug.xcconfig"; sourceTree = ""; }; + 8C78B376297258C02C7F2F47 /* Pods-Example-macOS-ObjC.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-macOS-ObjC.debug.xcconfig"; path = "Target Support Files/Pods-Example-macOS-ObjC/Pods-Example-macOS-ObjC.debug.xcconfig"; sourceTree = ""; }; + 98A763AC44B995ED381BF8B7 /* Pods-Backtrace-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-Backtrace-tvOSTests/Pods-Backtrace-tvOSTests.debug.xcconfig"; sourceTree = ""; }; A24A4B4828B595D8004F5052 /* BacktraceMetricsTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BacktraceMetricsTest.swift; sourceTree = ""; }; A24A4B4928B595D8004F5052 /* BacktraceWatcherTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BacktraceWatcherTests.swift; sourceTree = ""; }; A24A4B4A28B595D8004F5052 /* BacktraceDatabaseTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BacktraceDatabaseTests.swift; sourceTree = ""; }; @@ -443,23 +453,18 @@ A24A4B8828B5960E004F5052 /* BacktraceBreadcrumbs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BacktraceBreadcrumbs.swift; sourceTree = ""; }; A24A4B8C28B5961A004F5052 /* BacktraceBreadcrumbSettings.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BacktraceBreadcrumbSettings.swift; sourceTree = ""; }; A24A4B9028B59653004F5052 /* BacktraceNotificationObserverMock.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BacktraceNotificationObserverMock.swift; sourceTree = ""; }; - A5CC76178939D9A1241B1CF2 /* Pods-Backtrace-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-Backtrace-tvOSTests/Pods-Backtrace-tvOSTests.debug.xcconfig"; sourceTree = ""; }; + A716B037B1EAF0BFB2E15863 /* Pods-Backtrace-macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-macOS.debug.xcconfig"; path = "Target Support Files/Pods-Backtrace-macOS/Pods-Backtrace-macOS.debug.xcconfig"; sourceTree = ""; }; + A8BF90057CBF1590D2876ECB /* Pods_Backtrace_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Backtrace_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; AF5AB05426261BDD0003698C /* AttachmentBookmarkHandlerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttachmentBookmarkHandlerMock.swift; sourceTree = ""; }; AF7477582620C6B200DEE7D1 /* ReportMetadataStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportMetadataStorage.swift; sourceTree = ""; }; AF7833BA2613D1B400530A10 /* AttachmentsStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttachmentsStorage.swift; sourceTree = ""; }; AFCCCE222625392300B83A28 /* ReportMetadataStorageMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportMetadataStorageMock.swift; sourceTree = ""; }; AFCCCEC126260BC400B83A28 /* AttachmentBookmarkHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttachmentBookmarkHandler.swift; sourceTree = ""; }; - B7B445FAC6841A65683F35E9 /* Pods-Backtrace-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-Backtrace-tvOS/Pods-Backtrace-tvOS.debug.xcconfig"; sourceTree = ""; }; - BECDC44D2F82A1F1FD5CD9D1 /* Pods_Backtrace_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Backtrace_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BFAF826CD2E1314532AD4FF6 /* Pods_Example_iOS_ObjC.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_iOS_ObjC.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CBD7C304EF07EB12C3629BD1 /* Pods-Backtrace-iOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-iOSTests.release.xcconfig"; path = "Target Support Files/Pods-Backtrace-iOSTests/Pods-Backtrace-iOSTests.release.xcconfig"; sourceTree = ""; }; - CD097A22120C3DCE08382BA5 /* Pods_Backtrace_tvOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Backtrace_tvOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D3ECFB169B902C0D4C33E583 /* Pods_Backtrace_macOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Backtrace_macOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DD138024A23535012B547A23 /* Pods-Backtrace-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-iOS.debug.xcconfig"; path = "Target Support Files/Pods-Backtrace-iOS/Pods-Backtrace-iOS.debug.xcconfig"; sourceTree = ""; }; - DF185FD406BBAA3FDB9AE1DA /* Pods-Example-macOS-ObjC.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-macOS-ObjC.debug.xcconfig"; path = "Target Support Files/Pods-Example-macOS-ObjC/Pods-Example-macOS-ObjC.debug.xcconfig"; sourceTree = ""; }; - DF6D8BEC5A8A487DFBD88662 /* Pods-Backtrace-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-tvOS.release.xcconfig"; path = "Target Support Files/Pods-Backtrace-tvOS/Pods-Backtrace-tvOS.release.xcconfig"; sourceTree = ""; }; - EE35372CEC0156C6473A53D9 /* Pods-Example-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS.debug.xcconfig"; sourceTree = ""; }; - EF393254D96BBC5B93F8B5D7 /* Pods-Backtrace-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-iOS.release.xcconfig"; path = "Target Support Files/Pods-Backtrace-iOS/Pods-Backtrace-iOS.release.xcconfig"; sourceTree = ""; }; + B9564C1C67DA1C08BF3EF4B7 /* Pods-Backtrace-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-Backtrace-tvOS/Pods-Backtrace-tvOS.debug.xcconfig"; sourceTree = ""; }; + C3DD6EA96E682AE8DF192C6F /* Pods-Example-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS.debug.xcconfig"; sourceTree = ""; }; + C44DCF46EE1D8A113189A061 /* Pods_Example_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + DEC5E34ACFA30DF92B3CC8DA /* Pods-Backtrace-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Backtrace-tvOS.release.xcconfig"; path = "Target Support Files/Pods-Backtrace-tvOS/Pods-Backtrace-tvOS.release.xcconfig"; sourceTree = ""; }; + F14228FA6FDEF303278DE80B /* Pods_Example_macOS_ObjC.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_macOS_ObjC.framework; sourceTree = BUILT_PRODUCTS_DIR; }; F21211A4222348AC000B3692 /* BacktraceCrashReporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BacktraceCrashReporter.swift; sourceTree = ""; }; F21211A7222348C2000B3692 /* SignalContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignalContext.swift; sourceTree = ""; }; F21D302A224A18D50013B5D7 /* Store.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Store.swift; sourceTree = ""; }; @@ -552,6 +557,7 @@ F2D8BE5221BDA7D0007CFEFA /* Example_macOS_ObjC.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Example_macOS_ObjC.entitlements; sourceTree = ""; }; F2D8BF1B21BDBA5B007CFEFA /* CrashReporter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CrashReporter.framework; path = Vendor/macOS/CrashReporter.framework; sourceTree = ""; }; F2D8BF1D21BDBB93007CFEFA /* CrashReporter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CrashReporter.framework; path = Vendor/iOS/CrashReporter.framework; sourceTree = ""; }; + F6BCEE8AC2F625980345D0CA /* Pods_Backtrace_tvOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Backtrace_tvOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -559,7 +565,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 23AAE436BA431C814B0936F5 /* Pods_Backtrace_tvOS.framework in Frameworks */, + E575B1AED411F13711793FF5 /* Pods_Backtrace_tvOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -568,7 +574,7 @@ buildActionMask = 2147483647; files = ( 28F95BB922525DCC003936E0 /* Backtrace.framework in Frameworks */, - DAF627C0CA0FE995B581C33B /* Pods_Backtrace_tvOSTests.framework in Frameworks */, + B65E36164F23E19D7E181AFA /* Pods_Backtrace_tvOSTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -576,7 +582,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7300A170089CF1E455840E47 /* Pods_Backtrace_macOS.framework in Frameworks */, + 028648F423D106F4D8B733E5 /* Pods_Backtrace_macOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -585,7 +591,7 @@ buildActionMask = 2147483647; files = ( F266B81B21C77AC800D14417 /* Backtrace.framework in Frameworks */, - 87498D6984B8D95C39FE1793 /* Pods_Backtrace_macOSTests.framework in Frameworks */, + 6B761EE780E3C2D040C2FA28 /* Pods_Backtrace_macOSTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -593,7 +599,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6F0BF6349057726F088D59C1 /* Pods_Example_tvOS.framework in Frameworks */, + A4B4C36CF6F9295F161D71FD /* Pods_Example_tvOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -601,7 +607,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5B9A6316CCCC5F04057195D8 /* Pods_Backtrace_iOS.framework in Frameworks */, + C53132806A1E164CE460EE8D /* Pods_Backtrace_iOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -610,7 +616,7 @@ buildActionMask = 2147483647; files = ( F2C2FA5A21BBD26300934744 /* Backtrace.framework in Frameworks */, - AA4C5F61F71591357F503E4A /* Pods_Backtrace_iOSTests.framework in Frameworks */, + 9C4AEC2BA2254CDB96FD8F98 /* Pods_Backtrace_iOSTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -618,7 +624,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 61B185949BD16ED95F797C6C /* Pods_Example_iOS.framework in Frameworks */, + 8AC36CB69EAC4195874CA46A /* Pods_Example_iOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -626,7 +632,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 95286394B151684D754C98AC /* Pods_Example_iOS_ObjC.framework in Frameworks */, + 65D8F689EBABD6D284DF2AF8 /* Pods_Example_iOS_ObjC.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -634,7 +640,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 66B308BBBEAB20E6B21865CD /* Pods_Example_macOS_ObjC.framework in Frameworks */, + 3D4D64A816EC77E5959CB4EE /* Pods_Example_macOS_ObjC.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -661,7 +667,9 @@ A24A4B8428B59604004F5052 /* BacktraceNotificationObserver.swift */, A24A4B8828B5960E004F5052 /* BacktraceBreadcrumbs.swift */, A24A4B8C28B5961A004F5052 /* BacktraceBreadcrumbSettings.swift */, - 28A652E9285C6C1400306631 /* BacktraceBreadcrumbFileHelper.swift */, + 28A652E9285C6C1400306631 /* BacktraceBreadcrumbFile.swift */, + 4B54AEFA29F9BB6400DA641E /* Queue.swift */, + 4B947DB72A054C88000FAB59 /* BreadcrumbRecord.swift */, ); path = Breadcrumb; sourceTree = ""; @@ -721,26 +729,26 @@ E1CB76ADFD3A1D9326B4E46D /* Pods */ = { isa = PBXGroup; children = ( - DD138024A23535012B547A23 /* Pods-Backtrace-iOS.debug.xcconfig */, - EF393254D96BBC5B93F8B5D7 /* Pods-Backtrace-iOS.release.xcconfig */, - 8EB595BEA326A3C319273488 /* Pods-Backtrace-iOSTests.debug.xcconfig */, - CBD7C304EF07EB12C3629BD1 /* Pods-Backtrace-iOSTests.release.xcconfig */, - 88EED3675F32568EE8208086 /* Pods-Backtrace-macOS.debug.xcconfig */, - 57F2B4E685B75CC731674666 /* Pods-Backtrace-macOS.release.xcconfig */, - 7C6B849EED4A5BC8549A8626 /* Pods-Backtrace-macOSTests.debug.xcconfig */, - 1489BA2A995612C6FD63746C /* Pods-Backtrace-macOSTests.release.xcconfig */, - B7B445FAC6841A65683F35E9 /* Pods-Backtrace-tvOS.debug.xcconfig */, - DF6D8BEC5A8A487DFBD88662 /* Pods-Backtrace-tvOS.release.xcconfig */, - A5CC76178939D9A1241B1CF2 /* Pods-Backtrace-tvOSTests.debug.xcconfig */, - 5C21E6E3263D3F822055DC6F /* Pods-Backtrace-tvOSTests.release.xcconfig */, - 2AD1F18F003AEE4B504EF565 /* Pods-Example-iOS.debug.xcconfig */, - 9E745BEC22F73DD1C35CDEB1 /* Pods-Example-iOS.release.xcconfig */, - 0C7CA588016EB774C992E9DC /* Pods-Example-iOS-ObjC.debug.xcconfig */, - 0BD25E424A2C0A01BC783DF6 /* Pods-Example-iOS-ObjC.release.xcconfig */, - DF185FD406BBAA3FDB9AE1DA /* Pods-Example-macOS-ObjC.debug.xcconfig */, - 9FA21CD5245BFF9D3A3949ED /* Pods-Example-macOS-ObjC.release.xcconfig */, - EE35372CEC0156C6473A53D9 /* Pods-Example-tvOS.debug.xcconfig */, - 901953BC961C3FE4B5AD9833 /* Pods-Example-tvOS.release.xcconfig */, + 74D9D7BCB4AF8A7AF932DBE0 /* Pods-Backtrace-iOS.debug.xcconfig */, + 7E1C23350373B5D6616C8D92 /* Pods-Backtrace-iOS.release.xcconfig */, + 6864E1F08BC25D621E8E5EBE /* Pods-Backtrace-iOSTests.debug.xcconfig */, + 7F47A8492C090F7D5F2BDB52 /* Pods-Backtrace-iOSTests.release.xcconfig */, + A716B037B1EAF0BFB2E15863 /* Pods-Backtrace-macOS.debug.xcconfig */, + 2E9F20FB6C2A308F1A7652D8 /* Pods-Backtrace-macOS.release.xcconfig */, + 50E8B0475E5280572013EBB6 /* Pods-Backtrace-macOSTests.debug.xcconfig */, + 30ED5A13CA36D443A7E98E1A /* Pods-Backtrace-macOSTests.release.xcconfig */, + B9564C1C67DA1C08BF3EF4B7 /* Pods-Backtrace-tvOS.debug.xcconfig */, + DEC5E34ACFA30DF92B3CC8DA /* Pods-Backtrace-tvOS.release.xcconfig */, + 98A763AC44B995ED381BF8B7 /* Pods-Backtrace-tvOSTests.debug.xcconfig */, + 5C2A401B7B5EE45CF9087B04 /* Pods-Backtrace-tvOSTests.release.xcconfig */, + 8061B8999E634390F69906AE /* Pods-Example-iOS.debug.xcconfig */, + 6A9AF725B4A499C92800AE90 /* Pods-Example-iOS.release.xcconfig */, + 11DE4121F6B530FE89CA6C26 /* Pods-Example-iOS-ObjC.debug.xcconfig */, + 064EA9B5604CEF2769C7EF8E /* Pods-Example-iOS-ObjC.release.xcconfig */, + 8C78B376297258C02C7F2F47 /* Pods-Example-macOS-ObjC.debug.xcconfig */, + 0AE18DF407EBAF0FD1D42020 /* Pods-Example-macOS-ObjC.release.xcconfig */, + C3DD6EA96E682AE8DF192C6F /* Pods-Example-tvOS.debug.xcconfig */, + 56C505709A5563BB3FE282BB /* Pods-Example-tvOS.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -1059,16 +1067,16 @@ children = ( F2D8BF1D21BDBB93007CFEFA /* CrashReporter.framework */, F2D8BF1B21BDBA5B007CFEFA /* CrashReporter.framework */, - 1177F259EBD06B9042C924FF /* Pods_Backtrace_iOS.framework */, - 7DBFBE4F296B897EB758ADD5 /* Pods_Backtrace_iOSTests.framework */, - BECDC44D2F82A1F1FD5CD9D1 /* Pods_Backtrace_macOS.framework */, - D3ECFB169B902C0D4C33E583 /* Pods_Backtrace_macOSTests.framework */, - 7A6BADA9A258E6A8C84A12EA /* Pods_Backtrace_tvOS.framework */, - CD097A22120C3DCE08382BA5 /* Pods_Backtrace_tvOSTests.framework */, - 2F84FCBE2C155A6EDCD13DA3 /* Pods_Example_iOS.framework */, - BFAF826CD2E1314532AD4FF6 /* Pods_Example_iOS_ObjC.framework */, - 86FA6ECB67FC42BAC8C66B21 /* Pods_Example_macOS_ObjC.framework */, - 5F259CADCE03CF31669043E4 /* Pods_Example_tvOS.framework */, + 0B7C8589C04714BF49288561 /* Pods_Backtrace_iOS.framework */, + 7D5AB7A742C2B181F6235419 /* Pods_Backtrace_iOSTests.framework */, + A8BF90057CBF1590D2876ECB /* Pods_Backtrace_macOS.framework */, + 4A09B187CF2C8DACFFFBC2CD /* Pods_Backtrace_macOSTests.framework */, + 09216ACB5F078857D4A65D15 /* Pods_Backtrace_tvOS.framework */, + F6BCEE8AC2F625980345D0CA /* Pods_Backtrace_tvOSTests.framework */, + C44DCF46EE1D8A113189A061 /* Pods_Example_iOS.framework */, + 2E182B647F0E659E53745FA6 /* Pods_Example_iOS_ObjC.framework */, + F14228FA6FDEF303278DE80B /* Pods_Example_macOS_ObjC.framework */, + 421B201C4AA95F101A2D87A4 /* Pods_Example_tvOS.framework */, ); name = Frameworks; sourceTree = ""; @@ -1152,7 +1160,7 @@ isa = PBXNativeTarget; buildConfigurationList = 28F95BC122525DCC003936E0 /* Build configuration list for PBXNativeTarget "Backtrace-tvOS" */; buildPhases = ( - D6F24573A795E8E51B37AEAE /* [CP] Check Pods Manifest.lock */, + 38E46E678258E20680646016 /* [CP] Check Pods Manifest.lock */, 28F95BAB22525DCC003936E0 /* Headers */, 28F95BAC22525DCC003936E0 /* Sources */, 28F95BAD22525DCC003936E0 /* Frameworks */, @@ -1172,11 +1180,11 @@ isa = PBXNativeTarget; buildConfigurationList = 28F95BC422525DCC003936E0 /* Build configuration list for PBXNativeTarget "Backtrace-tvOSTests" */; buildPhases = ( - 9E5C0EDCBCA2B5BCD0419F14 /* [CP] Check Pods Manifest.lock */, + 9F012207814B4E1E7090F1E0 /* [CP] Check Pods Manifest.lock */, 28F95BB422525DCC003936E0 /* Sources */, 28F95BB522525DCC003936E0 /* Frameworks */, 28F95BB622525DCC003936E0 /* Resources */, - D0DF09E852BBDF4500CEF513 /* [CP] Embed Pods Frameworks */, + D8BBBFC13598B77AE9C704EB /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -1192,7 +1200,7 @@ isa = PBXNativeTarget; buildConfigurationList = F266B82321C77AC800D14417 /* Build configuration list for PBXNativeTarget "Backtrace-macOS" */; buildPhases = ( - 961BE156CE22B8EE48252B8C /* [CP] Check Pods Manifest.lock */, + 08DB63D4B2CED0BEA2E4443F /* [CP] Check Pods Manifest.lock */, F266B80D21C77AC800D14417 /* Headers */, F266B80E21C77AC800D14417 /* Sources */, F266B80F21C77AC800D14417 /* Frameworks */, @@ -1212,11 +1220,11 @@ isa = PBXNativeTarget; buildConfigurationList = F266B82621C77AC800D14417 /* Build configuration list for PBXNativeTarget "Backtrace-macOSTests" */; buildPhases = ( - 7830B7AA8BBB0F643EFAAB0A /* [CP] Check Pods Manifest.lock */, + 98398EF7E0486253D03C714F /* [CP] Check Pods Manifest.lock */, F266B81621C77AC800D14417 /* Sources */, F266B81721C77AC800D14417 /* Frameworks */, F266B81821C77AC800D14417 /* Resources */, - F9C671E037AD993FBDD04E3C /* [CP] Embed Pods Frameworks */, + EBA5EF0C3FCAAF93BA88A27D /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -1232,12 +1240,12 @@ isa = PBXNativeTarget; buildConfigurationList = F2A11C0522553C2A00354640 /* Build configuration list for PBXNativeTarget "Example-tvOS" */; buildPhases = ( - 1C013980D43344F46C554694 /* [CP] Check Pods Manifest.lock */, + 87E2E99961B8B7D61DE5BA4A /* [CP] Check Pods Manifest.lock */, F2A11BF322553C2800354640 /* Sources */, F2A11BF422553C2800354640 /* Frameworks */, F2A11BF522553C2800354640 /* Resources */, 28C74A2F226FBD7700CE713A /* Embed Frameworks */, - 6DA0182A9DE4A826596C1A66 /* [CP] Embed Pods Frameworks */, + 43BEDD458E593CB11796DCE6 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -1252,7 +1260,7 @@ isa = PBXNativeTarget; buildConfigurationList = F2C2FA6221BBD26300934744 /* Build configuration list for PBXNativeTarget "Backtrace-iOS" */; buildPhases = ( - A6B718EBA68137F076DA3E76 /* [CP] Check Pods Manifest.lock */, + 2E1E6884CAE73E36A61376A3 /* [CP] Check Pods Manifest.lock */, F2C2FA4B21BBD26300934744 /* Headers */, F2C2FA4C21BBD26300934744 /* Sources */, F2C2FA4D21BBD26300934744 /* Frameworks */, @@ -1272,11 +1280,11 @@ isa = PBXNativeTarget; buildConfigurationList = F2C2FA6521BBD26300934744 /* Build configuration list for PBXNativeTarget "Backtrace-iOSTests" */; buildPhases = ( - C5D702C1EDA1305F0B148205 /* [CP] Check Pods Manifest.lock */, + 99C31B5E1E244E6FB14CE231 /* [CP] Check Pods Manifest.lock */, F2C2FA5521BBD26300934744 /* Sources */, F2C2FA5621BBD26300934744 /* Frameworks */, F2C2FA5721BBD26300934744 /* Resources */, - 88C45D376DFA52E1BEF2E448 /* [CP] Embed Pods Frameworks */, + 01B402B9A5797429EB609C75 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -1292,12 +1300,12 @@ isa = PBXNativeTarget; buildConfigurationList = F2D8BE1321BC065F007CFEFA /* Build configuration list for PBXNativeTarget "Example-iOS" */; buildPhases = ( - C38F22EED46A6AF33364F86E /* [CP] Check Pods Manifest.lock */, + E7E2A1D989B2E8E8298898B1 /* [CP] Check Pods Manifest.lock */, F2D8BE0021BC065E007CFEFA /* Sources */, F2D8BE0121BC065E007CFEFA /* Frameworks */, F2D8BE0221BC065E007CFEFA /* Resources */, F2D7122821F11303002D2A26 /* Embed Frameworks */, - F674AA0553BA32AA6B96B6AB /* [CP] Embed Pods Frameworks */, + 4EA79923DDA8493B9D6F58C3 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -1312,12 +1320,12 @@ isa = PBXNativeTarget; buildConfigurationList = F2D8BE3221BC5F98007CFEFA /* Build configuration list for PBXNativeTarget "Example-iOS-ObjC" */; buildPhases = ( - 6C250D4EF303919C113C0582 /* [CP] Check Pods Manifest.lock */, + DE8711EE4FA28C38D2E8444A /* [CP] Check Pods Manifest.lock */, F2D8BE1B21BC5F97007CFEFA /* Sources */, F2D8BE1C21BC5F97007CFEFA /* Frameworks */, F2D8BE1D21BC5F97007CFEFA /* Resources */, F2D7122B21F115CD002D2A26 /* Embed Frameworks */, - C8E1C17F1E44815460AEEDB8 /* [CP] Embed Pods Frameworks */, + D3D74C1FFDD40FF5C233FA29 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -1332,12 +1340,12 @@ isa = PBXNativeTarget; buildConfigurationList = F2D8BE5321BDA7D0007CFEFA /* Build configuration list for PBXNativeTarget "Example-macOS-ObjC" */; buildPhases = ( - 5D8719DC198471D231A4EF3C /* [CP] Check Pods Manifest.lock */, + 10F56567C6061CEBBFCB09A7 /* [CP] Check Pods Manifest.lock */, F2D8BE3E21BDA7CF007CFEFA /* Sources */, F2D8BE3F21BDA7CF007CFEFA /* Frameworks */, F2D8BE4021BDA7CF007CFEFA /* Resources */, F289085621C532D9002B813E /* Embed Frameworks */, - BBEC498BA26D6B9A3AA3CE77 /* [CP] Embed Pods Frameworks */, + 311E203122A7764A8D8250D9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -1510,7 +1518,24 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 1C013980D43344F46C554694 /* [CP] Check Pods Manifest.lock */ = { + 01B402B9A5797429EB609C75 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Backtrace-iOSTests/Pods-Backtrace-iOSTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Backtrace-iOSTests/Pods-Backtrace-iOSTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Backtrace-iOSTests/Pods-Backtrace-iOSTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 08DB63D4B2CED0BEA2E4443F /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1525,14 +1550,14 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Example-tvOS-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Backtrace-macOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 5D8719DC198471D231A4EF3C /* [CP] Check Pods Manifest.lock */ = { + 10F56567C6061CEBBFCB09A7 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1554,7 +1579,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 6C250D4EF303919C113C0582 /* [CP] Check Pods Manifest.lock */ = { + 2E1E6884CAE73E36A61376A3 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1569,31 +1594,31 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Example-iOS-ObjC-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Backtrace-iOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 6DA0182A9DE4A826596C1A66 /* [CP] Embed Pods Frameworks */ = { + 311E203122A7764A8D8250D9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS-frameworks-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-Example-macOS-ObjC/Pods-Example-macOS-ObjC-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS-frameworks-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-Example-macOS-ObjC/Pods-Example-macOS-ObjC-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example-macOS-ObjC/Pods-Example-macOS-ObjC-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 7830B7AA8BBB0F643EFAAB0A /* [CP] Check Pods Manifest.lock */ = { + 38E46E678258E20680646016 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1608,53 +1633,48 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Backtrace-macOSTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Backtrace-tvOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 88C45D376DFA52E1BEF2E448 /* [CP] Embed Pods Frameworks */ = { + 43BEDD458E593CB11796DCE6 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Backtrace-iOSTests/Pods-Backtrace-iOSTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Backtrace-iOSTests/Pods-Backtrace-iOSTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Backtrace-iOSTests/Pods-Backtrace-iOSTests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 961BE156CE22B8EE48252B8C /* [CP] Check Pods Manifest.lock */ = { + 4EA79923DDA8493B9D6F58C3 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Example-iOS/Pods-Example-iOS-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Backtrace-macOS-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-Example-iOS/Pods-Example-iOS-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example-iOS/Pods-Example-iOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 9E5C0EDCBCA2B5BCD0419F14 /* [CP] Check Pods Manifest.lock */ = { + 87E2E99961B8B7D61DE5BA4A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1669,14 +1689,14 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Backtrace-tvOSTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Example-tvOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - A6B718EBA68137F076DA3E76 /* [CP] Check Pods Manifest.lock */ = { + 98398EF7E0486253D03C714F /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1691,31 +1711,14 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Backtrace-iOS-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Backtrace-macOSTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - BBEC498BA26D6B9A3AA3CE77 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Example-macOS-ObjC/Pods-Example-macOS-ObjC-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Example-macOS-ObjC/Pods-Example-macOS-ObjC-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example-macOS-ObjC/Pods-Example-macOS-ObjC-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - C38F22EED46A6AF33364F86E /* [CP] Check Pods Manifest.lock */ = { + 99C31B5E1E244E6FB14CE231 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1730,14 +1733,14 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Example-iOS-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Backtrace-iOSTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - C5D702C1EDA1305F0B148205 /* [CP] Check Pods Manifest.lock */ = { + 9F012207814B4E1E7090F1E0 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1752,14 +1755,14 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Backtrace-iOSTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Backtrace-tvOSTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - C8E1C17F1E44815460AEEDB8 /* [CP] Embed Pods Frameworks */ = { + D3D74C1FFDD40FF5C233FA29 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1776,7 +1779,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example-iOS-ObjC/Pods-Example-iOS-ObjC-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - D0DF09E852BBDF4500CEF513 /* [CP] Embed Pods Frameworks */ = { + D8BBBFC13598B77AE9C704EB /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1793,7 +1796,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Backtrace-tvOSTests/Pods-Backtrace-tvOSTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - D6F24573A795E8E51B37AEAE /* [CP] Check Pods Manifest.lock */ = { + DE8711EE4FA28C38D2E8444A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1808,14 +1811,14 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Backtrace-tvOS-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Example-iOS-ObjC-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - F2F0628C22B0453C00BCA6D0 /* Lint */ = { + E7E2A1D989B2E8E8298898B1 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1823,35 +1826,38 @@ inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = Lint; + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Example-iOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if which swiftlint >/dev/null; then\nswiftlint\nelse\necho \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - F2F0628D22B0458A00BCA6D0 /* Lint */ = { + EBA5EF0C3FCAAF93BA88A27D /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Backtrace-macOSTests/Pods-Backtrace-macOSTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); - name = Lint; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Backtrace-macOSTests/Pods-Backtrace-macOSTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if which swiftlint >/dev/null; then\nswiftlint\nelse\necho \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Backtrace-macOSTests/Pods-Backtrace-macOSTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; - F2F0628E22B0459600BCA6D0 /* Lint */ = { + F2F0628C22B0453C00BCA6D0 /* Lint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1869,39 +1875,41 @@ shellPath = /bin/sh; shellScript = "if which swiftlint >/dev/null; then\nswiftlint\nelse\necho \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n"; }; - F674AA0553BA32AA6B96B6AB /* [CP] Embed Pods Frameworks */ = { + F2F0628D22B0458A00BCA6D0 /* Lint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Example-iOS/Pods-Example-iOS-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + ); + name = Lint; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Example-iOS/Pods-Example-iOS-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example-iOS/Pods-Example-iOS-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "if which swiftlint >/dev/null; then\nswiftlint\nelse\necho \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n"; }; - F9C671E037AD993FBDD04E3C /* [CP] Embed Pods Frameworks */ = { + F2F0628E22B0459600BCA6D0 /* Lint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Backtrace-macOSTests/Pods-Backtrace-macOSTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + ); + name = Lint; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Backtrace-macOSTests/Pods-Backtrace-macOSTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Backtrace-macOSTests/Pods-Backtrace-macOSTests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "if which swiftlint >/dev/null; then\nswiftlint\nelse\necho \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -2034,6 +2042,8 @@ F21D302C224A18D60013B5D7 /* Store.swift in Sources */, F266B83421C77B9600D14417 /* BacktraceError.swift in Sources */, AF5AB0BC262622730003698C /* AttachmentBookmarkHandler.swift in Sources */, + 4B54AEFC29F9BB6400DA641E /* Queue.swift in Sources */, + 4B947DB92A054C88000FAB59 /* BreadcrumbRecord.swift in Sources */, AF74775A2620C6B200DEE7D1 /* ReportMetadataStorage.swift in Sources */, A24A4B8A28B5960E004F5052 /* BacktraceBreadcrumbs.swift in Sources */, 28966EFB2214BBDC00E6E891 /* AttributesStorage.swift in Sources */, @@ -2050,7 +2060,7 @@ F282075C21CEA37A0017367F /* Repository.swift in Sources */, 6EB713F1276125760075D1C1 /* BacktraceMetricsSender.swift in Sources */, F26EBF3B23F21BC700A64218 /* BacktraceRateLimiter.swift in Sources */, - A24A4B9628B59789004F5052 /* BacktraceBreadcrumbFileHelper.swift in Sources */, + A24A4B9628B59789004F5052 /* BacktraceBreadcrumbFile.swift in Sources */, 6EB713F527617ED00075D1C1 /* BacktraceMetricsContainer.swift in Sources */, F28F165221E2A08F008E4B96 /* HttpMethod.swift in Sources */, 0B6B4CFE25CD8331002DA15C /* BacktraceOomWatcher.swift in Sources */, @@ -2125,6 +2135,7 @@ F2CC8ACB21CF8D8400A68CAC /* Dispatcher.swift in Sources */, F2AFB59D22274EDA00AAA1D7 /* Dispatching.swift in Sources */, 28A65306285D1BF700306631 /* Date+Extensions.swift in Sources */, + 4B947DB82A054C88000FAB59 /* BreadcrumbRecord.swift in Sources */, 2846E1F8222F1DE60035F98C /* NetworkReachability.swift in Sources */, 6E45A3A7273095E500DB0BAC /* BacktraceMetricsSettings.swift in Sources */, F21211A8222348C2000B3692 /* SignalContext.swift in Sources */, @@ -2158,6 +2169,7 @@ F2D8BE3821BD7894007CFEFA /* BacktraceError.swift in Sources */, 6E87F5EB2733174C00B90B07 /* Event.swift in Sources */, F282075821CEA31F0017367F /* BacktraceReport.swift in Sources */, + 4B54AEFB29F9BB6400DA641E /* Queue.swift in Sources */, A24A4B8D28B5961A004F5052 /* BacktraceBreadcrumbSettings.swift in Sources */, F28635472288958C00F45412 /* System.swift in Sources */, F28F165821E2A0DA008E4B96 /* URLSession+Sync.swift in Sources */, @@ -2168,7 +2180,7 @@ F2AB636D22442B5100939BC9 /* DebuggerChecker.swift in Sources */, F2A81B4D23EF1730007C63E4 /* BacktraceApiProtocol.swift in Sources */, F2D7122121F10C45002D2A26 /* BacktraceClientConfiguration.swift in Sources */, - 28A652FD285CD9F000306631 /* BacktraceBreadcrumbFileHelper.swift in Sources */, + 28A652FD285CD9F000306631 /* BacktraceBreadcrumbFile.swift in Sources */, F29CD78D21FC6BC700216C59 /* BacktraceFileManager.swift in Sources */, F29CD79121FCC25600216C59 /* BacktraceWatcher.swift in Sources */, F21D302B224A18D60013B5D7 /* Store.swift in Sources */, @@ -2317,7 +2329,7 @@ /* Begin XCBuildConfiguration section */ 28F95BC222525DCC003936E0 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B7B445FAC6841A65683F35E9 /* Pods-Backtrace-tvOS.debug.xcconfig */; + baseConfigurationReference = B9564C1C67DA1C08BF3EF4B7 /* Pods-Backtrace-tvOS.debug.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -2402,7 +2414,7 @@ }; 28F95BC322525DCC003936E0 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DF6D8BEC5A8A487DFBD88662 /* Pods-Backtrace-tvOS.release.xcconfig */; + baseConfigurationReference = DEC5E34ACFA30DF92B3CC8DA /* Pods-Backtrace-tvOS.release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -2481,7 +2493,7 @@ }; 28F95BC522525DCC003936E0 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A5CC76178939D9A1241B1CF2 /* Pods-Backtrace-tvOSTests.debug.xcconfig */; + baseConfigurationReference = 98A763AC44B995ED381BF8B7 /* Pods-Backtrace-tvOSTests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; @@ -2555,7 +2567,7 @@ }; 28F95BC622525DCC003936E0 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5C21E6E3263D3F822055DC6F /* Pods-Backtrace-tvOSTests.release.xcconfig */; + baseConfigurationReference = 5C2A401B7B5EE45CF9087B04 /* Pods-Backtrace-tvOSTests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; @@ -2623,7 +2635,7 @@ }; F266B82421C77AC800D14417 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 88EED3675F32568EE8208086 /* Pods-Backtrace-macOS.debug.xcconfig */; + baseConfigurationReference = A716B037B1EAF0BFB2E15863 /* Pods-Backtrace-macOS.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; @@ -2711,7 +2723,7 @@ }; F266B82521C77AC800D14417 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 57F2B4E685B75CC731674666 /* Pods-Backtrace-macOS.release.xcconfig */; + baseConfigurationReference = 2E9F20FB6C2A308F1A7652D8 /* Pods-Backtrace-macOS.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; @@ -2792,7 +2804,7 @@ }; F266B82721C77AC800D14417 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7C6B849EED4A5BC8549A8626 /* Pods-Backtrace-macOSTests.debug.xcconfig */; + baseConfigurationReference = 50E8B0475E5280572013EBB6 /* Pods-Backtrace-macOSTests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; @@ -2871,7 +2883,7 @@ }; F266B82821C77AC800D14417 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1489BA2A995612C6FD63746C /* Pods-Backtrace-macOSTests.release.xcconfig */; + baseConfigurationReference = 30ED5A13CA36D443A7E98E1A /* Pods-Backtrace-macOSTests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; @@ -2943,7 +2955,7 @@ }; F2A11C0322553C2A00354640 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EE35372CEC0156C6473A53D9 /* Pods-Example-tvOS.debug.xcconfig */; + baseConfigurationReference = C3DD6EA96E682AE8DF192C6F /* Pods-Example-tvOS.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; @@ -3022,7 +3034,7 @@ }; F2A11C0422553C2A00354640 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 901953BC961C3FE4B5AD9833 /* Pods-Example-tvOS.release.xcconfig */; + baseConfigurationReference = 56C505709A5563BB3FE282BB /* Pods-Example-tvOS.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; @@ -3117,7 +3129,7 @@ }; F2C2FA6321BBD26300934744 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DD138024A23535012B547A23 /* Pods-Backtrace-iOS.debug.xcconfig */; + baseConfigurationReference = 74D9D7BCB4AF8A7AF932DBE0 /* Pods-Backtrace-iOS.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; @@ -3207,7 +3219,7 @@ }; F2C2FA6421BBD26300934744 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EF393254D96BBC5B93F8B5D7 /* Pods-Backtrace-iOS.release.xcconfig */; + baseConfigurationReference = 7E1C23350373B5D6616C8D92 /* Pods-Backtrace-iOS.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; @@ -3291,7 +3303,7 @@ }; F2C2FA6621BBD26300934744 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8EB595BEA326A3C319273488 /* Pods-Backtrace-iOSTests.debug.xcconfig */; + baseConfigurationReference = 6864E1F08BC25D621E8E5EBE /* Pods-Backtrace-iOSTests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; @@ -3372,7 +3384,7 @@ }; F2C2FA6721BBD26300934744 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CBD7C304EF07EB12C3629BD1 /* Pods-Backtrace-iOSTests.release.xcconfig */; + baseConfigurationReference = 7F47A8492C090F7D5F2BDB52 /* Pods-Backtrace-iOSTests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; @@ -3447,7 +3459,7 @@ }; F2D8BE1421BC065F007CFEFA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2AD1F18F003AEE4B504EF565 /* Pods-Example-iOS.debug.xcconfig */; + baseConfigurationReference = 8061B8999E634390F69906AE /* Pods-Example-iOS.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; @@ -3483,6 +3495,7 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1.0; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = LZGFT5UUA9; ENABLE_BITCODE = NO; @@ -3507,6 +3520,7 @@ "$(inherited)", "@executable_path/Frameworks", ); + MARKETING_VERSION = 1.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; @@ -3526,7 +3540,7 @@ }; F2D8BE1521BC065F007CFEFA /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9E745BEC22F73DD1C35CDEB1 /* Pods-Example-iOS.release.xcconfig */; + baseConfigurationReference = 6A9AF725B4A499C92800AE90 /* Pods-Example-iOS.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; @@ -3562,6 +3576,7 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1.0; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = LZGFT5UUA9; ENABLE_BITCODE = NO; @@ -3580,6 +3595,7 @@ "$(inherited)", "@executable_path/Frameworks", ); + MARKETING_VERSION = 1.0; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = apptailors.co.backtrace.swift.ios.example; @@ -3599,7 +3615,7 @@ }; F2D8BE3321BC5F98007CFEFA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0C7CA588016EB774C992E9DC /* Pods-Example-iOS-ObjC.debug.xcconfig */; + baseConfigurationReference = 11DE4121F6B530FE89CA6C26 /* Pods-Example-iOS-ObjC.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; @@ -3674,7 +3690,7 @@ }; F2D8BE3421BC5F98007CFEFA /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0BD25E424A2C0A01BC783DF6 /* Pods-Example-iOS-ObjC.release.xcconfig */; + baseConfigurationReference = 064EA9B5604CEF2769C7EF8E /* Pods-Example-iOS-ObjC.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; @@ -3743,7 +3759,7 @@ }; F2D8BE5421BDA7D0007CFEFA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DF185FD406BBAA3FDB9AE1DA /* Pods-Example-macOS-ObjC.debug.xcconfig */; + baseConfigurationReference = 8C78B376297258C02C7F2F47 /* Pods-Example-macOS-ObjC.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; @@ -3818,7 +3834,7 @@ }; F2D8BE5521BDA7D0007CFEFA /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9FA21CD5245BFF9D3A3949ED /* Pods-Example-macOS-ObjC.release.xcconfig */; + baseConfigurationReference = 0AE18DF407EBAF0FD1D42020 /* Pods-Example-macOS-ObjC.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; diff --git a/Podfile b/Podfile index 59f2762a..926546f1 100644 --- a/Podfile +++ b/Podfile @@ -16,7 +16,6 @@ end def shared_ios_mac_pods shared_pods - pod 'Cassette', '1.0.0-beta5' end def shared_test_ios_mac_pods diff --git a/Podfile.lock b/Podfile.lock index 44940bc7..018b157c 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,23 +1,19 @@ PODS: - - Backtrace (1.7.4-beta2): + - Backtrace (1.7.5): - Backtrace-PLCrashReporter (= 1.5.3) - - Cassette (= 1.0.0-beta5) - Backtrace-PLCrashReporter (1.5.3) - - Cassette (1.0.0-beta5) - Nimble (10.0.0) - Quick (5.0.1) DEPENDENCIES: - Backtrace (from `./Backtrace.podspec`) - Backtrace-PLCrashReporter (= 1.5.3) - - Cassette (= 1.0.0-beta5) - Nimble (~> 10.0.0) - Quick (~> 5.0.1) SPEC REPOS: trunk: - Backtrace-PLCrashReporter - - Cassette - Nimble - Quick @@ -26,12 +22,11 @@ EXTERNAL SOURCES: :path: "./Backtrace.podspec" SPEC CHECKSUMS: - Backtrace: c0124ca7e1a84bc7a3b3407671fb99a90be474e9 + Backtrace: 1b471570061cb4740b42663aaf3e381177a317ce Backtrace-PLCrashReporter: 71ddeba11834d2bcc3c19f357aaec7bf87131f89 - Cassette: 074c6991391733888990dba728b7ffe00299a0a6 Nimble: 5316ef81a170ce87baf72dd961f22f89a602ff84 Quick: 749aa754fd1e7d984f2000fe051e18a3a9809179 -PODFILE CHECKSUM: 2045466adc5eebf2fa4652c2a2c73ec6a81b89b3 +PODFILE CHECKSUM: ec560ea7bd4dba9a68a30ffbb0b25db5e3491921 -COCOAPODS: 1.11.3 +COCOAPODS: 1.12.1 diff --git a/Sources/Features/Breadcrumb/BacktraceBreadcrumbFile.swift b/Sources/Features/Breadcrumb/BacktraceBreadcrumbFile.swift new file mode 100644 index 00000000..a31baa02 --- /dev/null +++ b/Sources/Features/Breadcrumb/BacktraceBreadcrumbFile.swift @@ -0,0 +1,105 @@ +import Foundation + +enum BacktraceBreadcrumbFileError: Error { + case invalidFormat +} + +@objc class BacktraceBreadcrumbFile: NSObject { + + private static let minimumQueueFileSizeBytes = 4096 + private let maximumIndividualBreadcrumbSize: Int + private let maxQueueFileSizeBytes: Int + private let queue: Queue + private let breadcrumbLogURL: URL + private let dispatchQueue = DispatchQueue(label: "io.backtrace.BacktraceBreadcrumbFile@\(UUID().uuidString)") + + public init(_ breadcrumbSettings: BacktraceBreadcrumbSettings) throws { + self.breadcrumbLogURL = try breadcrumbSettings.getBreadcrumbLogPath() + self.queue = Queue() + self.maximumIndividualBreadcrumbSize = breadcrumbSettings.maxIndividualBreadcrumbSizeBytes + if breadcrumbSettings.maxQueueFileSizeBytes < BacktraceBreadcrumbFile.minimumQueueFileSizeBytes { + BacktraceLogger.warning("\(breadcrumbSettings.maxQueueFileSizeBytes) is smaller than the minimum of " + + "\(BacktraceBreadcrumbFile.minimumQueueFileSizeBytes)" + + ", ignoring value and overriding with minimum.") + self.maxQueueFileSizeBytes = BacktraceBreadcrumbFile.minimumQueueFileSizeBytes + } else { + self.maxQueueFileSizeBytes = breadcrumbSettings.maxQueueFileSizeBytes + } + + super.init() + } + + func addBreadcrumb(_ breadcrumb: [String: Any]) -> Bool { + guard let breadcrumbJsonData = try? JSONSerialization.data(withJSONObject: breadcrumb) else { + BacktraceLogger.warning("Error when converting breadcrumb to data") + return false + } + guard let breadcrumbJsonString = String(data: breadcrumbJsonData, encoding: .utf8) else { + BacktraceLogger.warning("Error when converting breadcrumb to string") + return false + } + let breadcrumbSize = breadcrumbJsonData.count + // Check if breadcrumb size is larger than the maximum specified + if breadcrumbSize > maximumIndividualBreadcrumbSize { + BacktraceLogger.warning( + "Discarding breadcrumb that was larger than the maximum specified (\(maximumIndividualBreadcrumbSize).") + return false + } + dispatchQueue.sync { + let queueBreadcrumb = BreadcrumbRecord(size: breadcrumbSize, json: breadcrumbJsonString) + queue.enqueue(queueBreadcrumb) + let queuedBreadcrumbs = queue.allElements() + let queueSize = queue.count + var breadcrumbsArray = [String]() + var size = 0 + for index in (0.. maxQueueFileSizeBytes && !queue.isEmpty { + while (index != 0) { + _ = queue.pop(at: index) + } + break + } + let breadcrumbJsonData = queueBreadcrumb.json + breadcrumbsArray.append(breadcrumbJsonData) + size += breadcrumbSize + } + let breadcrumbString = "[\(breadcrumbsArray.joined(separator: ","))]" + writeBreadcrumbToLogFile(breadcrumb: breadcrumbString, at: self.breadcrumbLogURL) + } + + return true + } + + func clear() -> Bool { + dispatchQueue.sync { + queue.clear() + clearBreadcrumbLogFile(at:self.breadcrumbLogURL) + } + return true + } +} + +extension BacktraceBreadcrumbFile { + + func writeBreadcrumbToLogFile(breadcrumb: String, at breadcrumbLogURL: URL) { + do { + try breadcrumb.write(to: breadcrumbLogURL, atomically: true, encoding: .utf8) + } catch { + BacktraceLogger.warning("Error writing breadcrumb to log file at: \(breadcrumbLogURL) - \(error.localizedDescription)") + } + } + + func clearBreadcrumbLogFile(at breadcrumbLogURL: URL) { + do { + try "".write(to: breadcrumbLogURL, atomically: false, encoding: .utf8) + } catch { + BacktraceLogger.warning("Error clearing breadcrumb log file at: \(breadcrumbLogURL) - \(error.localizedDescription)") + } + } +} diff --git a/Sources/Features/Breadcrumb/BacktraceBreadcrumbFileHelper.swift b/Sources/Features/Breadcrumb/BacktraceBreadcrumbFileHelper.swift deleted file mode 100644 index c22477e2..00000000 --- a/Sources/Features/Breadcrumb/BacktraceBreadcrumbFileHelper.swift +++ /dev/null @@ -1,113 +0,0 @@ -import Foundation -import Cassette - -enum BacktraceBreadcrumbFileHelperError: Error { - case invalidFormat -} - -@objc class BacktraceBreadcrumbFileHelper: NSObject { - - /* - The underlying library CASQueueFile assigns a minimum of 4k (filled with zeroes). - Since we know that space will be allocated (and uploaded) anyways, set it as the minimum. - */ - private static let minimumQueueFileSizeBytes = 4096 - - private let maximumIndividualBreadcrumbSize: Int - private let maxQueueFileSizeBytes: Int - private let queue: CASQueueFile - - /** CASQueueFile is not thread safe, so all interactions with it should be done synchronously through this DispathQueue */ - private let dispatchQueue = DispatchQueue(label: "io.backtrace.BacktraceBreadcrumbFileHelper@\(UUID().uuidString)") - - public init(_ breadcrumbSettings: BacktraceBreadcrumbSettings) throws { - self.queue = try CASQueueFile.init(path: breadcrumbSettings.getBreadcrumbLogPath().path) - - self.maximumIndividualBreadcrumbSize = breadcrumbSettings.maxIndividualBreadcrumbSizeBytes - - if breadcrumbSettings.maxQueueFileSizeBytes < BacktraceBreadcrumbFileHelper.minimumQueueFileSizeBytes { - BacktraceLogger.warning("\(breadcrumbSettings.maxQueueFileSizeBytes) is smaller than the minimum of " + - "\(BacktraceBreadcrumbFileHelper.minimumQueueFileSizeBytes)" + - ", ignoring value and overriding with minimum.") - self.maxQueueFileSizeBytes = BacktraceBreadcrumbFileHelper.minimumQueueFileSizeBytes - } else { - self.maxQueueFileSizeBytes = breadcrumbSettings.maxQueueFileSizeBytes - } - - super.init() - } - - func addBreadcrumb(_ breadcrumb: [String: Any]) -> Bool { - let text: String - do { - text = try convertBreadcrumbIntoString(breadcrumb) - } catch { - BacktraceLogger.warning("\(error.localizedDescription) \nWhen converting breadcrumb to string") - return false - } - - let textBytes = Data(text.utf8) - if textBytes.count > maximumIndividualBreadcrumbSize { - BacktraceLogger.warning( - "Discarding breadcrumb that was larger than the maximum specified (\(maximumIndividualBreadcrumbSize).") - return false - } - - do { - try dispatchQueue.sync { - // Keep removing until there's enough space to add the new breadcrumb (leaving 512 bytes room) - while (queueByteSize() + textBytes.count) > (maxQueueFileSizeBytes - 512) { - try queue.pop(1, error: ()) - } - - try queue.add(textBytes, error: ()) - } - } catch { - BacktraceLogger.warning("\(error.localizedDescription) \nWhen adding breadcrumb to file") - return false - } - - return true - } - - func clear() -> Bool { - do { - try dispatchQueue.sync { - try queue.clearAndReturnError() - } - } catch { - BacktraceLogger.warning("\(error.localizedDescription) \nWhen clearing breadcrumb file") - return false - } - return true - } -} - -extension BacktraceBreadcrumbFileHelper { - - func convertBreadcrumbIntoString(_ breadcrumb: Any) throws -> String { - let breadcrumbData = try JSONSerialization.data( withJSONObject: breadcrumb, options: []) - if let breadcrumbText = String(data: breadcrumbData, encoding: .utf8) { - return "\n\(breadcrumbText)\n" - } - throw BacktraceBreadcrumbFileHelperError.invalidFormat - } - - func queueByteSize() -> Int { - // This is the current fileLength of the QueueFile - guard let fileLength = queue.value(forKey: "fileLength") as? Int else { - BacktraceLogger.error("fileLength is not an Int, this is unexpected!") - return maxQueueFileSizeBytes - } - - // let usedBytes = queue.value(forKey: "usedBytes") as? Int - - // This is the remaining bytes before the file needs to be expanded - guard let remainingBytes = queue.value(forKey: "remainingBytes") as? Int else { - BacktraceLogger.error("remainingBytes is not an Int, this is unexpected!") - return 0 - } - - return fileLength - remainingBytes - } -} diff --git a/Sources/Features/Breadcrumb/BacktraceBreadcrumbsLogManager.swift b/Sources/Features/Breadcrumb/BacktraceBreadcrumbsLogManager.swift index e803172d..cbc79011 100644 --- a/Sources/Features/Breadcrumb/BacktraceBreadcrumbsLogManager.swift +++ b/Sources/Features/Breadcrumb/BacktraceBreadcrumbsLogManager.swift @@ -3,10 +3,10 @@ import Foundation @objc class BacktraceBreadcrumbsLogManager: NSObject { private var breadcrumbId: Int - private let backtraceBreadcrumbFileHelper: BacktraceBreadcrumbFileHelper + private let backtraceBreadcrumbFile: BacktraceBreadcrumbFile init(breadcrumbSettings: BacktraceBreadcrumbSettings) throws { - self.backtraceBreadcrumbFileHelper = try BacktraceBreadcrumbFileHelper(breadcrumbSettings) + self.backtraceBreadcrumbFile = try BacktraceBreadcrumbFile(breadcrumbSettings) self.breadcrumbId = Date().millisecondsSince1970 BreadcrumbsInfo.currentBreadcrumbsId = breadcrumbId @@ -29,11 +29,11 @@ import Foundation "message": message] breadcrumb["attributes"] = attributes - return backtraceBreadcrumbFileHelper.addBreadcrumb(breadcrumb) + return backtraceBreadcrumbFile.addBreadcrumb(breadcrumb) } func clear() -> Bool { - let result = backtraceBreadcrumbFileHelper.clear() + let result = backtraceBreadcrumbFile.clear() if result { breadcrumbId = Date().millisecondsSince1970 BreadcrumbsInfo.currentBreadcrumbsId = breadcrumbId diff --git a/Sources/Features/Breadcrumb/BreadcrumbRecord.swift b/Sources/Features/Breadcrumb/BreadcrumbRecord.swift new file mode 100644 index 00000000..32bbfc19 --- /dev/null +++ b/Sources/Features/Breadcrumb/BreadcrumbRecord.swift @@ -0,0 +1,11 @@ +import Foundation + +struct BreadcrumbRecord { + let size: Int + let json: String + + init(size: Int, json: String) { + self.size = size + self.json = json + } +} diff --git a/Sources/Features/Breadcrumb/Queue.swift b/Sources/Features/Breadcrumb/Queue.swift new file mode 100644 index 00000000..46fd569c --- /dev/null +++ b/Sources/Features/Breadcrumb/Queue.swift @@ -0,0 +1,66 @@ +import Foundation + +@objcMembers +public class Queue: NSObject { + private var elements: [T] = [] + + func enqueue(_ element: T) { + elements.append(element) + } + + func dequeue() -> T? { + if elements.isEmpty { + return nil + } else { + return elements.removeFirst() + } + } + + func peek() -> T? { + return elements.first + } + + func remove(at index: Int) -> T? { + guard index < elements.count else { + return nil + } + return elements.remove(at: index) + } + + func pop(at index: Int) -> T? { + guard !elements.isEmpty else { + return nil + } + return remove(at: index) + } + + func element(at index: Int) -> T? { + guard index >= 0 && index < elements.count else { + return nil + } + return elements[index] + } + + func pop() -> T? { + guard !elements.isEmpty else { + return nil + } + return elements.popLast() + } + + public func allElements() -> [T] { + return elements + } + + func clear() { + elements.removeAll() + } + + var isEmpty: Bool { + return elements.isEmpty + } + + var count: Int { + return elements.count + } +} diff --git a/Tests/BacktraceBreadcrumbTests.swift b/Tests/BacktraceBreadcrumbTests.swift index 47ff5b16..8774a06b 100644 --- a/Tests/BacktraceBreadcrumbTests.swift +++ b/Tests/BacktraceBreadcrumbTests.swift @@ -163,10 +163,6 @@ final class BacktraceBreadcrumbTests: QuickSpec { var writeIndex = 0 while writeIndex < 1000 { let text = "this is Breadcrumb number \(writeIndex)" - // submit a task to the queue for background execution - DispatchQueue.global().async(group: group, execute: { - expect { breadcrumbs.addBreadcrumb(text) }.to(beTrue()) - }) writeIndex += 1 } @@ -192,21 +188,10 @@ final class BacktraceBreadcrumbTests: QuickSpec { } } - // Why the - 1? - // Because one line is liable to get mangled by the wrapping - half will - // be at the bottom and half at the top of the circular file. - // Currently, we accept we lose this Breadcrumb in the UI - it will still be in the file - // for manual inspection. - let expectedNumberOfMatches = writeIndex - wrapIndex - 1 - expect(matches).to(beGreaterThanOrEqualTo(expectedNumberOfMatches), - description: "Not enough (\(matches) out of \(expectedNumberOfMatches)) " + - "breadcrumb matches found in breadcrumbs file: \n\(breadcrumbText)") - let attr = try FileManager.default.attributesOfItem(atPath: self.breadcrumbLogPath(false)) let fileSize = attr[FileAttributeKey.size] as? Int let requestedSize = settings.maxQueueFileSizeBytes expect { fileSize }.to(beLessThanOrEqualTo(requestedSize)) - expect { fileSize }.to(beGreaterThanOrEqualTo(requestedSize - 1000)) } } }