From efcdffc99f1547843f39ead63c82a6aabb7bca75 Mon Sep 17 00:00:00 2001 From: Chris Ballinger Date: Mon, 20 Feb 2017 16:49:57 -0800 Subject: [PATCH 1/2] Add @escaping to handleNextItem completion closure --- YapTaskQueue/Classes/YapTaskQueueBroker.swift | 2 +- YapTaskQueue/ViewController.swift | 2 +- YapTaskQueueTests/YapTaskQueueTests.swift | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/YapTaskQueue/Classes/YapTaskQueueBroker.swift b/YapTaskQueue/Classes/YapTaskQueueBroker.swift index 733a3e6..f11d257 100644 --- a/YapTaskQueue/Classes/YapTaskQueueBroker.swift +++ b/YapTaskQueue/Classes/YapTaskQueueBroker.swift @@ -24,7 +24,7 @@ public enum DatabaseStrings:String { /** This method is called when an item is available to be exectued. Call completion once finished with the action item. */ - func handleNextItem(_ action:YapTaskQueueAction, completion:(_ success:Bool, _ retryTimeout:TimeInterval)->Void) + func handleNextItem(_ action:YapTaskQueueAction, completion:@escaping(_ success:Bool, _ retryTimeout:TimeInterval)->Void) } /// YapTaskQueueBroker is a subclass of YapDatabaseFilteredView. It listens for changes and manages the timing of running an action. diff --git a/YapTaskQueue/ViewController.swift b/YapTaskQueue/ViewController.swift index e110a20..7bee1a4 100644 --- a/YapTaskQueue/ViewController.swift +++ b/YapTaskQueue/ViewController.swift @@ -74,7 +74,7 @@ class MessageSendAction:NSObject, NSCoding, YapTaskQueueAction { class MessageHandler:YapTaskQueueHandler { - @objc func handleNextItem(_ action: YapTaskQueueAction, completion: (_ success: Bool, _ retryTimeout: TimeInterval) -> Void) { + @objc func handleNextItem(_ action: YapTaskQueueAction, completion:@escaping (_ success: Bool, _ retryTimeout: TimeInterval) -> Void) { guard action is MessageSendAction else { completion(false, -1) return diff --git a/YapTaskQueueTests/YapTaskQueueTests.swift b/YapTaskQueueTests/YapTaskQueueTests.swift index e7766fc..849818e 100644 --- a/YapTaskQueueTests/YapTaskQueueTests.swift +++ b/YapTaskQueueTests/YapTaskQueueTests.swift @@ -81,7 +81,7 @@ open class TestHandler:YapTaskQueueHandler { self.handleBlock = handleBlock } - @objc open func handleNextItem(_ action: YapTaskQueueAction, completion: (_ success: Bool, _ retryTimeout: TimeInterval) -> Void) { + @objc open func handleNextItem(_ action: YapTaskQueueAction, completion:@escaping (_ success: Bool, _ retryTimeout: TimeInterval) -> Void) { guard let testObject = action as? TestActionObject else { completion(false, DBL_MAX) From d784806de99de76372418ecfaf9fc94de5a1412d Mon Sep 17 00:00:00 2001 From: Chris Ballinger Date: Thu, 18 May 2017 12:32:15 -0700 Subject: [PATCH 2/2] YapDatabase 3.0 --- .gitignore | 2 +- .travis.yml | 13 +- Podfile | 4 +- Podfile.lock | 106 +- .../CocoaLumberjack/Classes/CocoaLumberjack.h | 81 - .../Classes/CocoaLumberjack.swift | 102 - .../CocoaLumberjack/Classes/DDASLLogCapture.h | 48 - .../CocoaLumberjack/Classes/DDASLLogCapture.m | 230 - Pods/CocoaLumberjack/Classes/DDASLLogger.h | 58 - Pods/CocoaLumberjack/Classes/DDASLLogger.m | 121 - .../Classes/DDAbstractDatabaseLogger.h | 123 - .../Classes/DDAbstractDatabaseLogger.m | 660 -- Pods/CocoaLumberjack/Classes/DDAssertMacros.h | 26 - Pods/CocoaLumberjack/Classes/DDFileLogger.h | 490 -- Pods/CocoaLumberjack/Classes/DDFileLogger.m | 1484 ---- Pods/CocoaLumberjack/Classes/DDLegacyMacros.h | 75 - Pods/CocoaLumberjack/Classes/DDLog+LOGV.h | 83 - Pods/CocoaLumberjack/Classes/DDLog.h | 882 --- Pods/CocoaLumberjack/Classes/DDLog.m | 1348 ---- Pods/CocoaLumberjack/Classes/DDLogMacros.h | 101 - Pods/CocoaLumberjack/Classes/DDTTYLogger.h | 178 - Pods/CocoaLumberjack/Classes/DDTTYLogger.m | 1481 ---- .../Extensions/DDContextFilterLogFormatter.h | 117 - .../Extensions/DDContextFilterLogFormatter.m | 192 - .../Extensions/DDDispatchQueueLogFormatter.h | 178 - .../Extensions/DDDispatchQueueLogFormatter.m | 278 - .../Classes/Extensions/DDMultiFormatter.h | 56 - .../Classes/Extensions/DDMultiFormatter.m | 144 - .../Lumberjack/CocoaLumberjack.modulemap | 36 - Pods/CocoaLumberjack/LICENSE.txt | 18 - Pods/CocoaLumberjack/README.md | 212 - Pods/Manifest.lock | 72 - Pods/Pods.xcodeproj/project.pbxproj | 2193 ------ Pods/Reachability/LICENCE.txt | 24 - Pods/Reachability/README.md | 75 - Pods/Reachability/Reachability.h | 95 - Pods/Reachability/Reachability.m | 469 -- .../CocoaLumberjack/CocoaLumberjack-dummy.m | 5 - .../CocoaLumberjack-prefix.pch | 12 - .../CocoaLumberjack-umbrella.h | 30 - .../CocoaLumberjack/CocoaLumberjack.modulemap | 6 - .../CocoaLumberjack/CocoaLumberjack.xcconfig | 9 - .../CocoaLumberjack/Info.plist | 26 - .../Pods-YapTaskQueue/Info.plist | 26 - ...ods-YapTaskQueue-acknowledgements.markdown | 59 - .../Pods-YapTaskQueue-acknowledgements.plist | 103 - .../Pods-YapTaskQueue-dummy.m | 5 - .../Pods-YapTaskQueue-frameworks.sh | 103 - .../Pods-YapTaskQueue-resources.sh | 99 - .../Pods-YapTaskQueue-umbrella.h | 16 - .../Pods-YapTaskQueue.debug.xcconfig | 8 - .../Pods-YapTaskQueue.modulemap | 6 - .../Pods-YapTaskQueue.release.xcconfig | 8 - .../Pods-YapTaskQueueTests/Info.plist | 26 - ...apTaskQueueTests-acknowledgements.markdown | 59 - ...s-YapTaskQueueTests-acknowledgements.plist | 103 - .../Pods-YapTaskQueueTests-dummy.m | 5 - .../Pods-YapTaskQueueTests-frameworks.sh | 103 - .../Pods-YapTaskQueueTests-resources.sh | 99 - .../Pods-YapTaskQueueTests-umbrella.h | 16 - .../Pods-YapTaskQueueTests.debug.xcconfig | 8 - .../Pods-YapTaskQueueTests.modulemap | 6 - .../Pods-YapTaskQueueTests.release.xcconfig | 8 - .../Reachability/Info.plist | 26 - .../Reachability/Reachability-dummy.m | 5 - .../Reachability/Reachability-prefix.pch | 12 - .../Reachability/Reachability-umbrella.h | 17 - .../Reachability/Reachability.modulemap | 6 - .../Reachability/Reachability.xcconfig | 10 - .../YapDatabase/Info.plist | 26 - .../YapDatabase/YapDatabase-dummy.m | 5 - .../YapDatabase/YapDatabase-prefix.pch | 12 - .../YapDatabase/YapDatabase-umbrella.h | 94 - .../YapDatabase/YapDatabase.modulemap | 6 - .../YapDatabase/YapDatabase.xcconfig | 12 - Pods/YapDatabase/LICENSE.txt | 18 - Pods/YapDatabase/README.md | 38 - .../Internal/YapActionItemPrivate.h | 26 - .../YapDatabaseActionManagerPrivate.h | 30 - .../Extensions/ActionManager/YapActionItem.h | 141 - .../Extensions/ActionManager/YapActionItem.m | 162 - .../Extensions/ActionManager/YapActionable.h | 17 - .../ActionManager/YapDatabaseActionManager.h | 49 - .../ActionManager/YapDatabaseActionManager.m | 734 -- .../YapDatabaseActionManagerConnection.h | 7 - .../YapDatabaseActionManagerConnection.m | 117 - .../YapDatabaseActionManagerTransaction.h | 7 - .../YapDatabaseActionManagerTransaction.m | 203 - .../CloudKit/Internal/YDBCKAttachRequest.h | 12 - .../CloudKit/Internal/YDBCKAttachRequest.m | 11 - .../CloudKit/Internal/YDBCKChangeQueue.h | 269 - .../CloudKit/Internal/YDBCKChangeQueue.m | 1160 --- .../CloudKit/Internal/YDBCKChangeRecord.h | 18 - .../CloudKit/Internal/YDBCKChangeRecord.m | 120 - .../CloudKit/Internal/YDBCKMappingTableInfo.h | 47 - .../CloudKit/Internal/YDBCKMappingTableInfo.m | 60 - .../CloudKit/Internal/YDBCKRecordTableInfo.h | 84 - .../CloudKit/Internal/YDBCKRecordTableInfo.m | 186 - .../Internal/YapDatabaseCloudKitPrivate.h | 257 - .../CloudKit/Utilities/YDBCKChangeSet.h | 36 - .../CloudKit/Utilities/YDBCKChangeSet.m | 228 - .../CloudKit/Utilities/YDBCKMergeInfo.h | 71 - .../CloudKit/Utilities/YDBCKMergeInfo.m | 65 - .../CloudKit/Utilities/YDBCKRecord.h | 54 - .../CloudKit/Utilities/YDBCKRecord.m | 227 - .../CloudKit/Utilities/YDBCKRecordInfo.h | 91 - .../CloudKit/Utilities/YDBCKRecordInfo.m | 13 - .../Extensions/CloudKit/YapDatabaseCloudKit.h | 213 - .../Extensions/CloudKit/YapDatabaseCloudKit.m | 795 -- .../CloudKit/YapDatabaseCloudKitConnection.h | 17 - .../CloudKit/YapDatabaseCloudKitConnection.m | 821 -- .../CloudKit/YapDatabaseCloudKitOptions.h | 35 - .../CloudKit/YapDatabaseCloudKitOptions.m | 15 - .../CloudKit/YapDatabaseCloudKitTransaction.h | 351 - .../CloudKit/YapDatabaseCloudKitTransaction.m | 4558 ----------- .../CloudKit/YapDatabaseCloudKitTypes.h | 133 - .../CloudKit/YapDatabaseCloudKitTypes.m | 83 - .../YapDatabaseConnectionProxy.h | 256 - .../YapDatabaseConnectionProxy.m | 837 -- ...pDatabaseCrossProcessNotificationPrivate.h | 28 - .../YapDatabaseCrossProcessNotification.h | 39 - .../YapDatabaseCrossProcessNotification.m | 136 - ...tabaseCrossProcessNotificationConnection.h | 12 - ...tabaseCrossProcessNotificationConnection.m | 123 - ...abaseCrossProcessNotificationTransaction.h | 12 - ...abaseCrossProcessNotificationTransaction.m | 239 - .../Internal/YapDatabaseFilteredViewPrivate.h | 77 - .../FilteredViews/YapDatabaseFilteredView.h | 60 - .../FilteredViews/YapDatabaseFilteredView.m | 223 - .../YapDatabaseFilteredViewConnection.h | 15 - .../YapDatabaseFilteredViewConnection.m | 225 - .../YapDatabaseFilteredViewTransaction.h | 41 - .../YapDatabaseFilteredViewTransaction.m | 1348 ---- .../YapDatabaseFilteredViewTypes.h | 62 - .../YapDatabaseFilteredViewTypes.m | 83 - .../YapDatabaseFullTextSearchPrivate.h | 112 - .../YapDatabaseFullTextSearch.h | 55 - .../YapDatabaseFullTextSearch.m | 132 - .../YapDatabaseFullTextSearchConnection.h | 36 - .../YapDatabaseFullTextSearchConnection.m | 366 - .../YapDatabaseFullTextSearchHandler.h | 52 - .../YapDatabaseFullTextSearchHandler.m | 83 - .../YapDatabaseFullTextSearchSnippetOptions.h | 83 - .../YapDatabaseFullTextSearchSnippetOptions.m | 95 - .../YapDatabaseFullTextSearchTransaction.h | 71 - .../YapDatabaseFullTextSearchTransaction.m | 1244 --- .../Hooks/Internal/YapDatabaseHooksPrivate.h | 52 - .../Extensions/Hooks/YapDatabaseHooks.h | 142 - .../Extensions/Hooks/YapDatabaseHooks.m | 72 - .../Hooks/YapDatabaseHooksConnection.h | 17 - .../Hooks/YapDatabaseHooksConnection.m | 112 - .../Hooks/YapDatabaseHooksTransaction.h | 10 - .../Hooks/YapDatabaseHooksTransaction.m | 749 -- .../Internal/YapDatabaseExtensionPrivate.h | 193 - .../Protocol/YapDatabaseExtension.h | 27 - .../Protocol/YapDatabaseExtension.m | 186 - .../Protocol/YapDatabaseExtensionConnection.h | 14 - .../Protocol/YapDatabaseExtensionConnection.m | 187 - .../YapDatabaseExtensionTransaction.h | 14 - .../YapDatabaseExtensionTransaction.m | 835 -- .../Protocol/YapDatabaseExtensionTypes.h | 88 - .../Internal/YapDatabaseRTreeIndexPrivate.h | 120 - .../RTreeIndex/YapDatabaseRTreeIndex.h | 151 - .../RTreeIndex/YapDatabaseRTreeIndex.m | 143 - .../YapDatabaseRTreeIndexConnection.h | 33 - .../YapDatabaseRTreeIndexConnection.m | 355 - .../RTreeIndex/YapDatabaseRTreeIndexHandler.h | 53 - .../RTreeIndex/YapDatabaseRTreeIndexHandler.m | 83 - .../RTreeIndex/YapDatabaseRTreeIndexOptions.h | 41 - .../RTreeIndex/YapDatabaseRTreeIndexOptions.m | 27 - .../RTreeIndex/YapDatabaseRTreeIndexSetup.h | 15 - .../RTreeIndex/YapDatabaseRTreeIndexSetup.m | 180 - .../YapDatabaseRTreeIndexTransaction.h | 77 - .../YapDatabaseRTreeIndexTransaction.m | 1347 ---- .../YapDatabaseRelationshipEdgePrivate.h | 74 - .../Internal/YapDatabaseRelationshipPrivate.h | 158 - .../Relationships/YapDatabaseRelationship.h | 56 - .../Relationships/YapDatabaseRelationship.m | 151 - .../YapDatabaseRelationshipConnection.h | 33 - .../YapDatabaseRelationshipConnection.m | 1187 --- .../YapDatabaseRelationshipEdge.h | 165 - .../YapDatabaseRelationshipEdge.m | 403 - .../YapDatabaseRelationshipNode.h | 138 - .../YapDatabaseRelationshipOptions.h | 168 - .../YapDatabaseRelationshipOptions.m | 335 - .../YapDatabaseRelationshipTransaction.h | 437 -- .../YapDatabaseRelationshipTransaction.m | 6823 ----------------- .../Internal/YapDatabaseSearchQueuePrivate.h | 13 - .../YapDatabaseSearchResultsViewPrivate.h | 76 - .../SearchResults/YapDatabaseSearchQueue.h | 70 - .../SearchResults/YapDatabaseSearchQueue.m | 169 - .../YapDatabaseSearchResultsView.h | 103 - .../YapDatabaseSearchResultsView.m | 229 - .../YapDatabaseSearchResultsViewConnection.h | 15 - .../YapDatabaseSearchResultsViewConnection.m | 273 - .../YapDatabaseSearchResultsViewOptions.h | 44 - .../YapDatabaseSearchResultsViewOptions.m | 44 - .../YapDatabaseSearchResultsViewTransaction.h | 53 - .../YapDatabaseSearchResultsViewTransaction.m | 2547 ------ .../YapDatabaseSecondaryIndexPrivate.h | 123 - .../YapDatabaseSecondaryIndex.h | 139 - .../YapDatabaseSecondaryIndex.m | 136 - .../YapDatabaseSecondaryIndexConnection.h | 36 - .../YapDatabaseSecondaryIndexConnection.m | 358 - .../YapDatabaseSecondaryIndexHandler.h | 55 - .../YapDatabaseSecondaryIndexHandler.m | 83 - .../YapDatabaseSecondaryIndexOptions.h | 45 - .../YapDatabaseSecondaryIndexOptions.m | 27 - .../YapDatabaseSecondaryIndexSetup.h | 45 - .../YapDatabaseSecondaryIndexSetup.m | 263 - .../YapDatabaseSecondaryIndexTransaction.h | 92 - .../YapDatabaseSecondaryIndexTransaction.m | 1603 ---- .../Internal/YapDatabaseViewChangePrivate.h | 104 - .../Internal/YapDatabaseViewMappingsPrivate.h | 92 - .../Views/Internal/YapDatabaseViewPage.h | 39 - .../Views/Internal/YapDatabaseViewPage.mm | 311 - .../Internal/YapDatabaseViewPageMetadata.h | 27 - .../Internal/YapDatabaseViewPageMetadata.m | 28 - .../Views/Internal/YapDatabaseViewPrivate.h | 273 - .../YapDatabaseViewRangeOptionsPrivate.h | 17 - .../Views/Internal/YapDatabaseViewState.h | 36 - .../Views/Internal/YapDatabaseViewState.m | 208 - .../Views/Utilities/YapDatabaseViewChange.h | 322 - .../Views/Utilities/YapDatabaseViewChange.m | 2775 ------- .../Views/Utilities/YapDatabaseViewMappings.h | 874 --- .../Views/Utilities/YapDatabaseViewMappings.m | 1757 ----- .../Utilities/YapDatabaseViewRangeOptions.h | 331 - .../Utilities/YapDatabaseViewRangeOptions.m | 141 - .../Extensions/Views/YapDatabaseView.h | 133 - .../Extensions/Views/YapDatabaseView.m | 363 - .../Views/YapDatabaseViewConnection.h | 218 - .../Views/YapDatabaseViewConnection.m | 1043 --- .../Extensions/Views/YapDatabaseViewOptions.h | 75 - .../Extensions/Views/YapDatabaseViewOptions.m | 29 - .../Views/YapDatabaseViewTransaction.h | 628 -- .../Views/YapDatabaseViewTransaction.m | 5619 -------------- .../Extensions/Views/YapDatabaseViewTypes.h | 228 - .../Extensions/Views/YapDatabaseViewTypes.m | 328 - .../YapDatabase/Internal/NSDate+YapDatabase.h | 12 - .../YapDatabase/Internal/NSDate+YapDatabase.m | 42 - .../Internal/NSDictionary+YapDatabase.h | 8 - .../Internal/NSDictionary+YapDatabase.m | 19 - .../Internal/YapDatabaseConnectionDefaults.h | 37 - .../Internal/YapDatabaseConnectionDefaults.m | 86 - .../Internal/YapDatabaseConnectionState.h | 30 - .../Internal/YapDatabaseConnectionState.m | 48 - .../YapDatabase/Internal/YapDatabaseLogging.h | 160 - .../YapDatabase/Internal/YapDatabaseLogging.m | 73 - .../YapDatabase/Internal/YapDatabaseManager.h | 17 - .../YapDatabase/Internal/YapDatabaseManager.m | 57 - .../YapDatabase/Internal/YapDatabasePrivate.h | 480 -- .../Internal/YapDatabaseStatement.h | 13 - .../Internal/YapDatabaseStatement.m | 26 - .../YapDatabase/Internal/YapDatabaseString.h | 121 - .../YapDatabase/Internal/YapMemoryTable.h | 74 - .../YapDatabase/Internal/YapMemoryTable.m | 603 -- .../YapDatabase/Internal/YapNull.h | 17 - .../YapDatabase/Internal/YapNull.m | 35 - .../Internal/YapProxyObjectPrivate.h | 18 - .../YapDatabase/Internal/YapRowidSet.h | 36 - .../YapDatabase/Internal/YapRowidSet.mm | 89 - .../YapDatabase/Internal/YapTouch.h | 15 - .../YapDatabase/Internal/YapTouch.m | 31 - .../YapDatabase/Internal/yap_vfs_shim.h | 112 - .../YapDatabase/Internal/yap_vfs_shim.m | 582 -- .../Utilities/YapBidirectionalCache.h | 145 - .../Utilities/YapBidirectionalCache.m | 711 -- .../YapDatabase/Utilities/YapCache.h | 147 - .../YapDatabase/Utilities/YapCache.m | 538 -- .../YapDatabase/Utilities/YapCollectionKey.h | 39 - .../YapDatabase/Utilities/YapCollectionKey.m | 119 - .../YapDatabase/Utilities/YapDatabaseQuery.h | 107 - .../YapDatabase/Utilities/YapDatabaseQuery.m | 354 - .../YapDatabase/Utilities/YapMurmurHash.h | 21 - .../YapDatabase/Utilities/YapMurmurHash.m | 403 - .../YapDatabase/Utilities/YapMutationStack.h | 61 - .../YapDatabase/Utilities/YapMutationStack.m | 148 - .../YapDatabase/Utilities/YapProxyObject.h | 24 - .../YapDatabase/Utilities/YapProxyObject.m | 99 - .../YapDatabase/Utilities/YapSet.h | 47 - .../YapDatabase/Utilities/YapSet.m | 92 - .../Utilities/YapWhitelistBlacklist.h | 58 - .../Utilities/YapWhitelistBlacklist.m | 61 - Pods/YapDatabase/YapDatabase/YapDatabase.h | 924 --- Pods/YapDatabase/YapDatabase/YapDatabase.m | 3184 -------- .../YapDatabase/YapDatabaseConnection.h | 814 -- .../YapDatabase/YapDatabaseConnection.m | 5972 --------------- .../YapDatabase/YapDatabaseOptions.h | 294 - .../YapDatabase/YapDatabaseOptions.m | 66 - .../YapDatabase/YapDatabaseTransaction.h | 788 -- .../YapDatabase/YapDatabaseTransaction.m | 6243 --------------- YapTaskQueue.podspec | 114 +- YapTaskQueue.xcodeproj/project.pbxproj | 4 +- .../Classes/YapTaskQueueMasterBroker.swift | 4 +- 294 files changed, 70 insertions(+), 93207 deletions(-) delete mode 100644 Pods/CocoaLumberjack/Classes/CocoaLumberjack.h delete mode 100644 Pods/CocoaLumberjack/Classes/CocoaLumberjack.swift delete mode 100644 Pods/CocoaLumberjack/Classes/DDASLLogCapture.h delete mode 100644 Pods/CocoaLumberjack/Classes/DDASLLogCapture.m delete mode 100644 Pods/CocoaLumberjack/Classes/DDASLLogger.h delete mode 100644 Pods/CocoaLumberjack/Classes/DDASLLogger.m delete mode 100644 Pods/CocoaLumberjack/Classes/DDAbstractDatabaseLogger.h delete mode 100644 Pods/CocoaLumberjack/Classes/DDAbstractDatabaseLogger.m delete mode 100644 Pods/CocoaLumberjack/Classes/DDAssertMacros.h delete mode 100644 Pods/CocoaLumberjack/Classes/DDFileLogger.h delete mode 100644 Pods/CocoaLumberjack/Classes/DDFileLogger.m delete mode 100644 Pods/CocoaLumberjack/Classes/DDLegacyMacros.h delete mode 100644 Pods/CocoaLumberjack/Classes/DDLog+LOGV.h delete mode 100644 Pods/CocoaLumberjack/Classes/DDLog.h delete mode 100644 Pods/CocoaLumberjack/Classes/DDLog.m delete mode 100644 Pods/CocoaLumberjack/Classes/DDLogMacros.h delete mode 100644 Pods/CocoaLumberjack/Classes/DDTTYLogger.h delete mode 100644 Pods/CocoaLumberjack/Classes/DDTTYLogger.m delete mode 100644 Pods/CocoaLumberjack/Classes/Extensions/DDContextFilterLogFormatter.h delete mode 100644 Pods/CocoaLumberjack/Classes/Extensions/DDContextFilterLogFormatter.m delete mode 100644 Pods/CocoaLumberjack/Classes/Extensions/DDDispatchQueueLogFormatter.h delete mode 100644 Pods/CocoaLumberjack/Classes/Extensions/DDDispatchQueueLogFormatter.m delete mode 100644 Pods/CocoaLumberjack/Classes/Extensions/DDMultiFormatter.h delete mode 100644 Pods/CocoaLumberjack/Classes/Extensions/DDMultiFormatter.m delete mode 100644 Pods/CocoaLumberjack/Framework/Lumberjack/CocoaLumberjack.modulemap delete mode 100644 Pods/CocoaLumberjack/LICENSE.txt delete mode 100644 Pods/CocoaLumberjack/README.md delete mode 100644 Pods/Manifest.lock delete mode 100644 Pods/Pods.xcodeproj/project.pbxproj delete mode 100644 Pods/Reachability/LICENCE.txt delete mode 100644 Pods/Reachability/README.md delete mode 100644 Pods/Reachability/Reachability.h delete mode 100644 Pods/Reachability/Reachability.m delete mode 100644 Pods/Target Support Files/CocoaLumberjack/CocoaLumberjack-dummy.m delete mode 100644 Pods/Target Support Files/CocoaLumberjack/CocoaLumberjack-prefix.pch delete mode 100644 Pods/Target Support Files/CocoaLumberjack/CocoaLumberjack-umbrella.h delete mode 100644 Pods/Target Support Files/CocoaLumberjack/CocoaLumberjack.modulemap delete mode 100644 Pods/Target Support Files/CocoaLumberjack/CocoaLumberjack.xcconfig delete mode 100644 Pods/Target Support Files/CocoaLumberjack/Info.plist delete mode 100644 Pods/Target Support Files/Pods-YapTaskQueue/Info.plist delete mode 100644 Pods/Target Support Files/Pods-YapTaskQueue/Pods-YapTaskQueue-acknowledgements.markdown delete mode 100644 Pods/Target Support Files/Pods-YapTaskQueue/Pods-YapTaskQueue-acknowledgements.plist delete mode 100644 Pods/Target Support Files/Pods-YapTaskQueue/Pods-YapTaskQueue-dummy.m delete mode 100755 Pods/Target Support Files/Pods-YapTaskQueue/Pods-YapTaskQueue-frameworks.sh delete mode 100755 Pods/Target Support Files/Pods-YapTaskQueue/Pods-YapTaskQueue-resources.sh delete mode 100644 Pods/Target Support Files/Pods-YapTaskQueue/Pods-YapTaskQueue-umbrella.h delete mode 100644 Pods/Target Support Files/Pods-YapTaskQueue/Pods-YapTaskQueue.debug.xcconfig delete mode 100644 Pods/Target Support Files/Pods-YapTaskQueue/Pods-YapTaskQueue.modulemap delete mode 100644 Pods/Target Support Files/Pods-YapTaskQueue/Pods-YapTaskQueue.release.xcconfig delete mode 100644 Pods/Target Support Files/Pods-YapTaskQueueTests/Info.plist delete mode 100644 Pods/Target Support Files/Pods-YapTaskQueueTests/Pods-YapTaskQueueTests-acknowledgements.markdown delete mode 100644 Pods/Target Support Files/Pods-YapTaskQueueTests/Pods-YapTaskQueueTests-acknowledgements.plist delete mode 100644 Pods/Target Support Files/Pods-YapTaskQueueTests/Pods-YapTaskQueueTests-dummy.m delete mode 100755 Pods/Target Support Files/Pods-YapTaskQueueTests/Pods-YapTaskQueueTests-frameworks.sh delete mode 100755 Pods/Target Support Files/Pods-YapTaskQueueTests/Pods-YapTaskQueueTests-resources.sh delete mode 100644 Pods/Target Support Files/Pods-YapTaskQueueTests/Pods-YapTaskQueueTests-umbrella.h delete mode 100644 Pods/Target Support Files/Pods-YapTaskQueueTests/Pods-YapTaskQueueTests.debug.xcconfig delete mode 100644 Pods/Target Support Files/Pods-YapTaskQueueTests/Pods-YapTaskQueueTests.modulemap delete mode 100644 Pods/Target Support Files/Pods-YapTaskQueueTests/Pods-YapTaskQueueTests.release.xcconfig delete mode 100644 Pods/Target Support Files/Reachability/Info.plist delete mode 100644 Pods/Target Support Files/Reachability/Reachability-dummy.m delete mode 100644 Pods/Target Support Files/Reachability/Reachability-prefix.pch delete mode 100644 Pods/Target Support Files/Reachability/Reachability-umbrella.h delete mode 100644 Pods/Target Support Files/Reachability/Reachability.modulemap delete mode 100644 Pods/Target Support Files/Reachability/Reachability.xcconfig delete mode 100644 Pods/Target Support Files/YapDatabase/Info.plist delete mode 100644 Pods/Target Support Files/YapDatabase/YapDatabase-dummy.m delete mode 100644 Pods/Target Support Files/YapDatabase/YapDatabase-prefix.pch delete mode 100644 Pods/Target Support Files/YapDatabase/YapDatabase-umbrella.h delete mode 100644 Pods/Target Support Files/YapDatabase/YapDatabase.modulemap delete mode 100644 Pods/Target Support Files/YapDatabase/YapDatabase.xcconfig delete mode 100644 Pods/YapDatabase/LICENSE.txt delete mode 100644 Pods/YapDatabase/README.md delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/ActionManager/Internal/YapActionItemPrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/ActionManager/Internal/YapDatabaseActionManagerPrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/ActionManager/YapActionItem.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/ActionManager/YapActionItem.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/ActionManager/YapActionable.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/ActionManager/YapDatabaseActionManager.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/ActionManager/YapDatabaseActionManager.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/ActionManager/YapDatabaseActionManagerConnection.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/ActionManager/YapDatabaseActionManagerConnection.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/ActionManager/YapDatabaseActionManagerTransaction.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/ActionManager/YapDatabaseActionManagerTransaction.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/Internal/YDBCKAttachRequest.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/Internal/YDBCKAttachRequest.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/Internal/YDBCKChangeQueue.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/Internal/YDBCKChangeQueue.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/Internal/YDBCKChangeRecord.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/Internal/YDBCKChangeRecord.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/Internal/YDBCKMappingTableInfo.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/Internal/YDBCKMappingTableInfo.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/Internal/YDBCKRecordTableInfo.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/Internal/YDBCKRecordTableInfo.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/Internal/YapDatabaseCloudKitPrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/Utilities/YDBCKChangeSet.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/Utilities/YDBCKChangeSet.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/Utilities/YDBCKMergeInfo.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/Utilities/YDBCKMergeInfo.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/Utilities/YDBCKRecord.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/Utilities/YDBCKRecord.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/Utilities/YDBCKRecordInfo.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/Utilities/YDBCKRecordInfo.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/YapDatabaseCloudKit.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/YapDatabaseCloudKit.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitConnection.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitConnection.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitOptions.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitOptions.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitTransaction.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitTransaction.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitTypes.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CloudKit/YapDatabaseCloudKitTypes.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/ConnectionProxy/YapDatabaseConnectionProxy.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/ConnectionProxy/YapDatabaseConnectionProxy.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CrossProcessNotification/Internal/YapDatabaseCrossProcessNotificationPrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CrossProcessNotification/YapDatabaseCrossProcessNotification.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CrossProcessNotification/YapDatabaseCrossProcessNotification.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CrossProcessNotification/YapDatabaseCrossProcessNotificationConnection.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CrossProcessNotification/YapDatabaseCrossProcessNotificationConnection.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CrossProcessNotification/YapDatabaseCrossProcessNotificationTransaction.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/CrossProcessNotification/YapDatabaseCrossProcessNotificationTransaction.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/Internal/YapDatabaseFilteredViewPrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredView.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredView.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewConnection.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewConnection.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTransaction.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTransaction.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTypes.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTypes.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/Internal/YapDatabaseFullTextSearchPrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearch.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearch.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchConnection.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchConnection.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchHandler.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchHandler.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchSnippetOptions.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchSnippetOptions.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchTransaction.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchTransaction.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Hooks/Internal/YapDatabaseHooksPrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Hooks/YapDatabaseHooks.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Hooks/YapDatabaseHooks.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Hooks/YapDatabaseHooksConnection.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Hooks/YapDatabaseHooksConnection.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Hooks/YapDatabaseHooksTransaction.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Hooks/YapDatabaseHooksTransaction.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Protocol/Internal/YapDatabaseExtensionPrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtension.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtension.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionConnection.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionConnection.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionTransaction.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionTransaction.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionTypes.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/RTreeIndex/Internal/YapDatabaseRTreeIndexPrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndex.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndex.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexConnection.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexConnection.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexHandler.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexHandler.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexOptions.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexOptions.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexSetup.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexSetup.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexTransaction.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/RTreeIndex/YapDatabaseRTreeIndexTransaction.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Relationships/Internal/YapDatabaseRelationshipEdgePrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Relationships/Internal/YapDatabaseRelationshipPrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationship.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationship.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipConnection.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipConnection.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipEdge.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipEdge.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipNode.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipOptions.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipOptions.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipTransaction.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipTransaction.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SearchResults/Internal/YapDatabaseSearchQueuePrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SearchResults/Internal/YapDatabaseSearchResultsViewPrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SearchResults/YapDatabaseSearchQueue.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SearchResults/YapDatabaseSearchQueue.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SearchResults/YapDatabaseSearchResultsView.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SearchResults/YapDatabaseSearchResultsView.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SearchResults/YapDatabaseSearchResultsViewConnection.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SearchResults/YapDatabaseSearchResultsViewConnection.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SearchResults/YapDatabaseSearchResultsViewOptions.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SearchResults/YapDatabaseSearchResultsViewOptions.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SearchResults/YapDatabaseSearchResultsViewTransaction.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SearchResults/YapDatabaseSearchResultsViewTransaction.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/Internal/YapDatabaseSecondaryIndexPrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexConnection.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexConnection.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexHandler.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexHandler.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexOptions.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexOptions.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexSetup.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexSetup.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexTransaction.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexTransaction.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewChangePrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewMappingsPrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPage.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPage.mm delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPageMetadata.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPageMetadata.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewRangeOptionsPrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewState.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewState.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewChange.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewChange.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewMappings.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewMappings.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewRangeOptions.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewRangeOptions.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseView.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseView.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewConnection.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewConnection.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewOptions.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewOptions.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTransaction.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTransaction.m delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTypes.h delete mode 100644 Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTypes.m delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/NSDate+YapDatabase.h delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/NSDate+YapDatabase.m delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/NSDictionary+YapDatabase.h delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/NSDictionary+YapDatabase.m delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapDatabaseConnectionDefaults.h delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapDatabaseConnectionDefaults.m delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapDatabaseConnectionState.h delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapDatabaseConnectionState.m delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapDatabaseLogging.h delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapDatabaseLogging.m delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapDatabaseManager.h delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapDatabaseManager.m delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapDatabasePrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapDatabaseStatement.h delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapDatabaseStatement.m delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapDatabaseString.h delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapMemoryTable.h delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapMemoryTable.m delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapNull.h delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapNull.m delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapProxyObjectPrivate.h delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapRowidSet.h delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapRowidSet.mm delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapTouch.h delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/YapTouch.m delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/yap_vfs_shim.h delete mode 100644 Pods/YapDatabase/YapDatabase/Internal/yap_vfs_shim.m delete mode 100644 Pods/YapDatabase/YapDatabase/Utilities/YapBidirectionalCache.h delete mode 100644 Pods/YapDatabase/YapDatabase/Utilities/YapBidirectionalCache.m delete mode 100644 Pods/YapDatabase/YapDatabase/Utilities/YapCache.h delete mode 100644 Pods/YapDatabase/YapDatabase/Utilities/YapCache.m delete mode 100644 Pods/YapDatabase/YapDatabase/Utilities/YapCollectionKey.h delete mode 100644 Pods/YapDatabase/YapDatabase/Utilities/YapCollectionKey.m delete mode 100644 Pods/YapDatabase/YapDatabase/Utilities/YapDatabaseQuery.h delete mode 100644 Pods/YapDatabase/YapDatabase/Utilities/YapDatabaseQuery.m delete mode 100644 Pods/YapDatabase/YapDatabase/Utilities/YapMurmurHash.h delete mode 100644 Pods/YapDatabase/YapDatabase/Utilities/YapMurmurHash.m delete mode 100644 Pods/YapDatabase/YapDatabase/Utilities/YapMutationStack.h delete mode 100644 Pods/YapDatabase/YapDatabase/Utilities/YapMutationStack.m delete mode 100644 Pods/YapDatabase/YapDatabase/Utilities/YapProxyObject.h delete mode 100644 Pods/YapDatabase/YapDatabase/Utilities/YapProxyObject.m delete mode 100644 Pods/YapDatabase/YapDatabase/Utilities/YapSet.h delete mode 100644 Pods/YapDatabase/YapDatabase/Utilities/YapSet.m delete mode 100644 Pods/YapDatabase/YapDatabase/Utilities/YapWhitelistBlacklist.h delete mode 100644 Pods/YapDatabase/YapDatabase/Utilities/YapWhitelistBlacklist.m delete mode 100644 Pods/YapDatabase/YapDatabase/YapDatabase.h delete mode 100644 Pods/YapDatabase/YapDatabase/YapDatabase.m delete mode 100644 Pods/YapDatabase/YapDatabase/YapDatabaseConnection.h delete mode 100644 Pods/YapDatabase/YapDatabase/YapDatabaseConnection.m delete mode 100644 Pods/YapDatabase/YapDatabase/YapDatabaseOptions.h delete mode 100644 Pods/YapDatabase/YapDatabase/YapDatabaseOptions.m delete mode 100644 Pods/YapDatabase/YapDatabase/YapDatabaseTransaction.h delete mode 100644 Pods/YapDatabase/YapDatabase/YapDatabaseTransaction.m diff --git a/.gitignore b/.gitignore index 7900175..a6aa878 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ #### joe made this: http://goel.io/joe - +Pods/ #####=== OSX ===##### .DS_Store .AppleDouble diff --git a/.travis.yml b/.travis.yml index 2c984b8..c1ce9c4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,22 +1,15 @@ language: objective-c -osx_image: xcode8.2 +osx_image: xcode8.3 cache: cocoapods env: global: - - IOS_SDK=iphonesimulator9.3 + - IOS_SDK=iphonesimulator10.3 - WORKSPACE=YapTaskQueue.xcworkspace - POD_WORKSPACE=YapTaskQueueSpecTest/YapTaskQueueSpecTest.xcworkspace - IOS_FRAMEWORK_SCHEME=YapTaskQueue - POD_IOS_FRAMEWORK_SCHEME=YapTaskQueueSpecTest matrix: - - DESTINATION="OS=8.1,name=iPhone 4S" POD_LINT="YES" - - DESTINATION="OS=8.2,name=iPhone 5" POD_LINT="NO" - - DESTINATION="OS=8.3,name=iPhone 5S" POD_LINT="NO" - - DESTINATION="OS=8.4,name=iPhone 6" POD_LINT="NO" - - DESTINATION="OS=9.0,name=iPhone 6" POD_LINT="NO" - - DESTINATION="OS=9.1,name=iPhone 6 Plus" POD_LINT="NO" - - DESTINATION="OS=9.2,name=iPhone 6S" POD_LINT="NO" - - DESTINATION="OS=9.3,name=iPhone 6S Plus" POD_LINT="NO" + - DESTINATION="OS=10.3,name=iPhone 7" POD_LINT="NO" script: - pod update - pod update --project-directory=YapTaskQueueSpecTest/ diff --git a/Podfile b/Podfile index 49e26f4..e487c44 100644 --- a/Podfile +++ b/Podfile @@ -5,12 +5,12 @@ use_frameworks! target 'YapTaskQueue' do -pod 'YapDatabase', '~> 2.9' +pod 'YapDatabase', '~> 3.0' end target 'YapTaskQueueTests' do -pod 'YapDatabase', '~> 2.9' +pod 'YapDatabase', '~> 3.0' end diff --git a/Podfile.lock b/Podfile.lock index 2fb1a0d..e9d8ec7 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,72 +1,78 @@ PODS: - - CocoaLumberjack (2.4.0): - - CocoaLumberjack/Default (= 2.4.0) - - CocoaLumberjack/Extensions (= 2.4.0) - - CocoaLumberjack/Core (2.4.0) - - CocoaLumberjack/Default (2.4.0): - - CocoaLumberjack/Core - - CocoaLumberjack/Extensions (2.4.0): + - CocoaLumberjack (3.2.0): + - CocoaLumberjack/Default (= 3.2.0) + - CocoaLumberjack/Extensions (= 3.2.0) + - CocoaLumberjack/Default (3.2.0) + - CocoaLumberjack/Extensions (3.2.0): - CocoaLumberjack/Default - - Reachability (3.2) - - YapDatabase (2.9.2): - - YapDatabase/Standard (= 2.9.2) - - YapDatabase/Standard (2.9.2): - - YapDatabase/Standard/Core (= 2.9.2) - - YapDatabase/Standard/Extensions (= 2.9.2) - - YapDatabase/Standard/Core (2.9.2): - - CocoaLumberjack (~> 2) - - YapDatabase/Standard/Extensions (2.9.2): + - YapDatabase (3.0): + - YapDatabase/Standard (= 3.0) + - YapDatabase/Standard (3.0): + - YapDatabase/Standard/Core (= 3.0) + - YapDatabase/Standard/Extensions (= 3.0) + - YapDatabase/Standard/Core (3.0): + - CocoaLumberjack + - YapDatabase/Standard/Extensions (3.0): - YapDatabase/Standard/Core - - YapDatabase/Standard/Extensions/ActionManager (= 2.9.2) - - YapDatabase/Standard/Extensions/CloudKit (= 2.9.2) - - YapDatabase/Standard/Extensions/ConnectionProxy (= 2.9.2) - - YapDatabase/Standard/Extensions/CrossProcessNotification (= 2.9.2) - - YapDatabase/Standard/Extensions/FilteredViews (= 2.9.2) - - YapDatabase/Standard/Extensions/FullTextSearch (= 2.9.2) - - YapDatabase/Standard/Extensions/Hooks (= 2.9.2) - - YapDatabase/Standard/Extensions/Relationships (= 2.9.2) - - YapDatabase/Standard/Extensions/RTreeIndex (= 2.9.2) - - YapDatabase/Standard/Extensions/SearchResults (= 2.9.2) - - YapDatabase/Standard/Extensions/SecondaryIndex (= 2.9.2) - - YapDatabase/Standard/Extensions/Views (= 2.9.2) - - YapDatabase/Standard/Extensions/ActionManager (2.9.2): - - Reachability (~> 3) + - YapDatabase/Standard/Extensions/ActionManager (= 3.0) + - YapDatabase/Standard/Extensions/AutoView (= 3.0) + - YapDatabase/Standard/Extensions/CloudCore (= 3.0) + - YapDatabase/Standard/Extensions/CloudKit (= 3.0) + - YapDatabase/Standard/Extensions/ConnectionProxy (= 3.0) + - YapDatabase/Standard/Extensions/CrossProcessNotification (= 3.0) + - YapDatabase/Standard/Extensions/FilteredView (= 3.0) + - YapDatabase/Standard/Extensions/FullTextSearch (= 3.0) + - YapDatabase/Standard/Extensions/Hooks (= 3.0) + - YapDatabase/Standard/Extensions/ManualView (= 3.0) + - YapDatabase/Standard/Extensions/Relationships (= 3.0) + - YapDatabase/Standard/Extensions/RTreeIndex (= 3.0) + - YapDatabase/Standard/Extensions/SearchResultsView (= 3.0) + - YapDatabase/Standard/Extensions/SecondaryIndex (= 3.0) + - YapDatabase/Standard/Extensions/View (= 3.0) + - YapDatabase/Standard/Extensions/ActionManager (3.0): - YapDatabase/Standard/Core - - YapDatabase/Standard/Extensions/Views - - YapDatabase/Standard/Extensions/CloudKit (2.9.2): + - YapDatabase/Standard/Extensions/AutoView + - YapDatabase/Standard/Extensions/AutoView (3.0): - YapDatabase/Standard/Core - - YapDatabase/Standard/Extensions/ConnectionProxy (2.9.2): + - YapDatabase/Standard/Extensions/View + - YapDatabase/Standard/Extensions/CloudCore (3.0): - YapDatabase/Standard/Core - - YapDatabase/Standard/Extensions/CrossProcessNotification (2.9.2): + - YapDatabase/Standard/Extensions/CloudKit (3.0): - YapDatabase/Standard/Core - - YapDatabase/Standard/Extensions/FilteredViews (2.9.2): + - YapDatabase/Standard/Extensions/ConnectionProxy (3.0): - YapDatabase/Standard/Core - - YapDatabase/Standard/Extensions/Views - - YapDatabase/Standard/Extensions/FullTextSearch (2.9.2): + - YapDatabase/Standard/Extensions/CrossProcessNotification (3.0): - YapDatabase/Standard/Core - - YapDatabase/Standard/Extensions/Hooks (2.9.2): + - YapDatabase/Standard/Extensions/FilteredView (3.0): - YapDatabase/Standard/Core - - YapDatabase/Standard/Extensions/Relationships (2.9.2): + - YapDatabase/Standard/Extensions/View + - YapDatabase/Standard/Extensions/FullTextSearch (3.0): - YapDatabase/Standard/Core - - YapDatabase/Standard/Extensions/RTreeIndex (2.9.2): + - YapDatabase/Standard/Extensions/Hooks (3.0): - YapDatabase/Standard/Core - - YapDatabase/Standard/Extensions/SearchResults (2.9.2): + - YapDatabase/Standard/Extensions/ManualView (3.0): - YapDatabase/Standard/Core + - YapDatabase/Standard/Extensions/View + - YapDatabase/Standard/Extensions/Relationships (3.0): + - YapDatabase/Standard/Core + - YapDatabase/Standard/Extensions/RTreeIndex (3.0): + - YapDatabase/Standard/Core + - YapDatabase/Standard/Extensions/SearchResultsView (3.0): + - YapDatabase/Standard/Core + - YapDatabase/Standard/Extensions/AutoView - YapDatabase/Standard/Extensions/FullTextSearch - - YapDatabase/Standard/Extensions/Views - - YapDatabase/Standard/Extensions/SecondaryIndex (2.9.2): + - YapDatabase/Standard/Extensions/SecondaryIndex (3.0): - YapDatabase/Standard/Core - - YapDatabase/Standard/Extensions/Views (2.9.2): + - YapDatabase/Standard/Extensions/View (3.0): - YapDatabase/Standard/Core DEPENDENCIES: - - YapDatabase (~> 2.9) + - YapDatabase (~> 3.0) SPEC CHECKSUMS: - CocoaLumberjack: aa9dcab71bdf9eaf2a63bbd9ddc87863efe45457 - Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96 - YapDatabase: b1e43555a34a5298e23a045be96817a5ef0da58f + CocoaLumberjack: 9b4aed7073d242f29cc2f62068d995faf67f703a + YapDatabase: 0cef6c79948169c924ae325d430ffcfa8a5231c2 -PODFILE CHECKSUM: 042c51895cdf8fa702f19ecfb82faea5c6fbc5c5 +PODFILE CHECKSUM: f9b255e9bd651b16e75a81f0cb8f6a4ca4f5ca7f -COCOAPODS: 1.2.0 +COCOAPODS: 1.2.1 diff --git a/Pods/CocoaLumberjack/Classes/CocoaLumberjack.h b/Pods/CocoaLumberjack/Classes/CocoaLumberjack.h deleted file mode 100644 index fe5202f..0000000 --- a/Pods/CocoaLumberjack/Classes/CocoaLumberjack.h +++ /dev/null @@ -1,81 +0,0 @@ -// Software License Agreement (BSD License) -// -// Copyright (c) 2010-2016, Deusty, LLC -// All rights reserved. -// -// Redistribution and use of this software in source and binary forms, -// with or without modification, are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Neither the name of Deusty nor the names of its contributors may be used -// to endorse or promote products derived from this software without specific -// prior written permission of Deusty, LLC. - -/** - * Welcome to CocoaLumberjack! - * - * The project page has a wealth of documentation if you have any questions. - * https://github.com/CocoaLumberjack/CocoaLumberjack - * - * If you're new to the project you may wish to read "Getting Started" at: - * Documentation/GettingStarted.md - * - * Otherwise, here is a quick refresher. - * There are three steps to using the macros: - * - * Step 1: - * Import the header in your implementation or prefix file: - * - * #import - * - * Step 2: - * Define your logging level in your implementation file: - * - * // Log levels: off, error, warn, info, verbose - * static const DDLogLevel ddLogLevel = DDLogLevelVerbose; - * - * Step 2 [3rd party frameworks]: - * - * Define your LOG_LEVEL_DEF to a different variable/function than ddLogLevel: - * - * // #undef LOG_LEVEL_DEF // Undefine first only if needed - * #define LOG_LEVEL_DEF myLibLogLevel - * - * Define your logging level in your implementation file: - * - * // Log levels: off, error, warn, info, verbose - * static const DDLogLevel myLibLogLevel = DDLogLevelVerbose; - * - * Step 3: - * Replace your NSLog statements with DDLog statements according to the severity of the message. - * - * NSLog(@"Fatal error, no dohickey found!"); -> DDLogError(@"Fatal error, no dohickey found!"); - * - * DDLog works exactly the same as NSLog. - * This means you can pass it multiple variables just like NSLog. - **/ - -#import - -// Disable legacy macros -#ifndef DD_LEGACY_MACROS - #define DD_LEGACY_MACROS 0 -#endif - -// Core -#import "DDLog.h" - -// Main macros -#import "DDLogMacros.h" -#import "DDAssertMacros.h" - -// Capture ASL -#import "DDASLLogCapture.h" - -// Loggers -#import "DDTTYLogger.h" -#import "DDASLLogger.h" -#import "DDFileLogger.h" - diff --git a/Pods/CocoaLumberjack/Classes/CocoaLumberjack.swift b/Pods/CocoaLumberjack/Classes/CocoaLumberjack.swift deleted file mode 100644 index a4bbf06..0000000 --- a/Pods/CocoaLumberjack/Classes/CocoaLumberjack.swift +++ /dev/null @@ -1,102 +0,0 @@ -// Software License Agreement (BSD License) -// -// Copyright (c) 2014-2016, Deusty, LLC -// All rights reserved. -// -// Redistribution and use of this software in source and binary forms, -// with or without modification, are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Neither the name of Deusty nor the names of its contributors may be used -// to endorse or promote products derived from this software without specific -// prior written permission of Deusty, LLC. - -import Foundation - -extension DDLogFlag { - public static func fromLogLevel(logLevel: DDLogLevel) -> DDLogFlag { - return DDLogFlag(rawValue: logLevel.rawValue) - } - - public init(_ logLevel: DDLogLevel) { - self = DDLogFlag(rawValue: logLevel.rawValue) - } - - ///returns the log level, or the lowest equivalant. - public func toLogLevel() -> DDLogLevel { - if let ourValid = DDLogLevel(rawValue: self.rawValue) { - return ourValid - } else { - let logFlag:DDLogFlag = self - - if logFlag.contains(.Verbose) { - return .Verbose - } else if logFlag.contains(.Debug) { - return .Debug - } else if logFlag.contains(.Info) { - return .Info - } else if logFlag.contains(.Warning) { - return .Warning - } else if logFlag.contains(.Error) { - return .Error - } else { - return .Off - } - } - } -} - -public var defaultDebugLevel = DDLogLevel.Verbose - -public func resetDefaultDebugLevel() { - defaultDebugLevel = DDLogLevel.Verbose -} - -@available(*, deprecated, message="Use one of the DDLog*() functions if appropriate or call _DDLogMessage()") -public func SwiftLogMacro(isAsynchronous: Bool, level: DDLogLevel, flag flg: DDLogFlag, context: Int = 0, file: StaticString = #file, function: StaticString = #function, line: UInt = #line, tag: AnyObject? = nil, @autoclosure string: () -> String, ddlog: DDLog = DDLog.sharedInstance()) { - _DDLogMessage(string, level: level, flag: flg, context: context, file: file, function: function, line: line, tag: tag, asynchronous: isAsynchronous, ddlog: ddlog) -} - -public func _DDLogMessage(@autoclosure message: () -> String, level: DDLogLevel, flag: DDLogFlag, context: Int, file: StaticString, function: StaticString, line: UInt, tag: AnyObject?, asynchronous: Bool, ddlog: DDLog) { - if level.rawValue & flag.rawValue != 0 { - // Tell the DDLogMessage constructor to copy the C strings that get passed to it. - let logMessage = DDLogMessage(message: message(), level: level, flag: flag, context: context, file: file.stringValue, function: function.stringValue, line: line, tag: tag, options: [.CopyFile, .CopyFunction], timestamp: nil) - ddlog.log(asynchronous, message: logMessage) - } -} - -public func DDLogDebug(@autoclosure message: () -> String, level: DDLogLevel = defaultDebugLevel, context: Int = 0, file: StaticString = #file, function: StaticString = #function, line: UInt = #line, tag: AnyObject? = nil, asynchronous async: Bool = true, ddlog: DDLog = DDLog.sharedInstance()) { - _DDLogMessage(message, level: level, flag: .Debug, context: context, file: file, function: function, line: line, tag: tag, asynchronous: async, ddlog: ddlog) -} - -public func DDLogInfo(@autoclosure message: () -> String, level: DDLogLevel = defaultDebugLevel, context: Int = 0, file: StaticString = #file, function: StaticString = #function, line: UInt = #line, tag: AnyObject? = nil, asynchronous async: Bool = true, ddlog: DDLog = DDLog.sharedInstance()) { - _DDLogMessage(message, level: level, flag: .Info, context: context, file: file, function: function, line: line, tag: tag, asynchronous: async, ddlog: ddlog) -} - -public func DDLogWarn(@autoclosure message: () -> String, level: DDLogLevel = defaultDebugLevel, context: Int = 0, file: StaticString = #file, function: StaticString = #function, line: UInt = #line, tag: AnyObject? = nil, asynchronous async: Bool = true, ddlog: DDLog = DDLog.sharedInstance()) { - _DDLogMessage(message, level: level, flag: .Warning, context: context, file: file, function: function, line: line, tag: tag, asynchronous: async, ddlog: ddlog) -} - -public func DDLogVerbose(@autoclosure message: () -> String, level: DDLogLevel = defaultDebugLevel, context: Int = 0, file: StaticString = #file, function: StaticString = #function, line: UInt = #line, tag: AnyObject? = nil, asynchronous async: Bool = true, ddlog: DDLog = DDLog.sharedInstance()) { - _DDLogMessage(message, level: level, flag: .Verbose, context: context, file: file, function: function, line: line, tag: tag, asynchronous: async, ddlog: ddlog) -} - -public func DDLogError(@autoclosure message: () -> String, level: DDLogLevel = defaultDebugLevel, context: Int = 0, file: StaticString = #file, function: StaticString = #function, line: UInt = #line, tag: AnyObject? = nil, asynchronous async: Bool = false, ddlog: DDLog = DDLog.sharedInstance()) { - _DDLogMessage(message, level: level, flag: .Error, context: context, file: file, function: function, line: line, tag: tag, asynchronous: async, ddlog: ddlog) -} - -/// Returns a String of the current filename, without full path or extension. -/// -/// Analogous to the C preprocessor macro `THIS_FILE`. -public func CurrentFileName(fileName: StaticString = #file) -> String { - var str = fileName.stringValue - if let idx = str.rangeOfString("/", options: .BackwardsSearch)?.endIndex { - str = str.substringFromIndex(idx) - } - if let idx = str.rangeOfString(".", options: .BackwardsSearch)?.startIndex { - str = str.substringToIndex(idx) - } - return str -} diff --git a/Pods/CocoaLumberjack/Classes/DDASLLogCapture.h b/Pods/CocoaLumberjack/Classes/DDASLLogCapture.h deleted file mode 100644 index e3d0f02..0000000 --- a/Pods/CocoaLumberjack/Classes/DDASLLogCapture.h +++ /dev/null @@ -1,48 +0,0 @@ -// Software License Agreement (BSD License) -// -// Copyright (c) 2010-2016, Deusty, LLC -// All rights reserved. -// -// Redistribution and use of this software in source and binary forms, -// with or without modification, are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Neither the name of Deusty nor the names of its contributors may be used -// to endorse or promote products derived from this software without specific -// prior written permission of Deusty, LLC. - -#import "DDASLLogger.h" - -@protocol DDLogger; - -/** - * This class provides the ability to capture the ASL (Apple System Logs) - */ -@interface DDASLLogCapture : NSObject - -/** - * Start capturing logs - */ -+ (void)start; - -/** - * Stop capturing logs - */ -+ (void)stop; - -/** - * Returns the current capture level. - * @note Default log level: DDLogLevelVerbose (i.e. capture all ASL messages). - */ -+ (DDLogLevel)captureLevel; - -/** - * Set the capture level - * - * @param level new level - */ -+ (void)setCaptureLevel:(DDLogLevel)level; - -@end diff --git a/Pods/CocoaLumberjack/Classes/DDASLLogCapture.m b/Pods/CocoaLumberjack/Classes/DDASLLogCapture.m deleted file mode 100644 index 4341d6d..0000000 --- a/Pods/CocoaLumberjack/Classes/DDASLLogCapture.m +++ /dev/null @@ -1,230 +0,0 @@ -// Software License Agreement (BSD License) -// -// Copyright (c) 2010-2016, Deusty, LLC -// All rights reserved. -// -// Redistribution and use of this software in source and binary forms, -// with or without modification, are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Neither the name of Deusty nor the names of its contributors may be used -// to endorse or promote products derived from this software without specific -// prior written permission of Deusty, LLC. - -#import "DDASLLogCapture.h" - -// Disable legacy macros -#ifndef DD_LEGACY_MACROS - #define DD_LEGACY_MACROS 0 -#endif - -#import "DDLog.h" - -#include -#include -#include -#include - -static BOOL _cancel = YES; -static DDLogLevel _captureLevel = DDLogLevelVerbose; - -#ifdef __IPHONE_8_0 - #define DDASL_IOS_PIVOT_VERSION __IPHONE_8_0 -#endif -#ifdef __MAC_10_10 - #define DDASL_OSX_PIVOT_VERSION __MAC_10_10 -#endif - -@implementation DDASLLogCapture - -static aslmsg (*dd_asl_next)(aslresponse obj); -static void (*dd_asl_release)(aslresponse obj); - -+ (void)initialize -{ - #if (defined(DDASL_IOS_PIVOT_VERSION) && __IPHONE_OS_VERSION_MAX_ALLOWED >= DDASL_IOS_PIVOT_VERSION) || (defined(DDASL_OSX_PIVOT_VERSION) && __MAC_OS_X_VERSION_MAX_ALLOWED >= DDASL_OSX_PIVOT_VERSION) - #if __IPHONE_OS_VERSION_MIN_REQUIRED < DDASL_IOS_PIVOT_VERSION || __MAC_OS_X_VERSION_MIN_REQUIRED < DDASL_OSX_PIVOT_VERSION - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wdeprecated-declarations" - // Building on falsely advertised SDK, targeting deprecated API - dd_asl_next = &aslresponse_next; - dd_asl_release = &aslresponse_free; - #pragma GCC diagnostic pop - #else - // Building on lastest, correct SDK, targeting latest API - dd_asl_next = &asl_next; - dd_asl_release = &asl_release; - #endif - #else - // Building on old SDKs, targeting deprecated API - dd_asl_next = &aslresponse_next; - dd_asl_release = &aslresponse_free; - #endif -} - -+ (void)start { - // Ignore subsequent calls - if (!_cancel) { - return; - } - - _cancel = NO; - - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) { - [self captureAslLogs]; - }); -} - -+ (void)stop { - _cancel = YES; -} - -+ (DDLogLevel)captureLevel { - return _captureLevel; -} - -+ (void)setCaptureLevel:(DDLogLevel)level { - _captureLevel = level; -} - -#pragma mark - Private methods - -+ (void)configureAslQuery:(aslmsg)query { - const char param[] = "7"; // ASL_LEVEL_DEBUG, which is everything. We'll rely on regular DDlog log level to filter - - asl_set_query(query, ASL_KEY_LEVEL, param, ASL_QUERY_OP_LESS_EQUAL | ASL_QUERY_OP_NUMERIC); - - // Don't retrieve logs from our own DDASLLogger - asl_set_query(query, kDDASLKeyDDLog, kDDASLDDLogValue, ASL_QUERY_OP_NOT_EQUAL); - -#if !TARGET_OS_IPHONE || TARGET_SIMULATOR - int processId = [[NSProcessInfo processInfo] processIdentifier]; - char pid[16]; - sprintf(pid, "%d", processId); - asl_set_query(query, ASL_KEY_PID, pid, ASL_QUERY_OP_EQUAL | ASL_QUERY_OP_NUMERIC); -#endif -} - -+ (void)aslMessageReceived:(aslmsg)msg { - const char* messageCString = asl_get( msg, ASL_KEY_MSG ); - if ( messageCString == NULL ) - return; - - int flag; - BOOL async; - - const char* levelCString = asl_get(msg, ASL_KEY_LEVEL); - switch (levelCString? atoi(levelCString) : 0) { - // By default all NSLog's with a ASL_LEVEL_WARNING level - case ASL_LEVEL_EMERG : - case ASL_LEVEL_ALERT : - case ASL_LEVEL_CRIT : flag = DDLogFlagError; async = NO; break; - case ASL_LEVEL_ERR : flag = DDLogFlagWarning; async = YES; break; - case ASL_LEVEL_WARNING : flag = DDLogFlagInfo; async = YES; break; - case ASL_LEVEL_NOTICE : flag = DDLogFlagDebug; async = YES; break; - case ASL_LEVEL_INFO : - case ASL_LEVEL_DEBUG : - default : flag = DDLogFlagVerbose; async = YES; break; - } - - if (!(_captureLevel & flag)) { - return; - } - - // NSString * sender = [NSString stringWithCString:asl_get(msg, ASL_KEY_SENDER) encoding:NSUTF8StringEncoding]; - NSString *message = @(messageCString); - - const char* secondsCString = asl_get( msg, ASL_KEY_TIME ); - const char* nanoCString = asl_get( msg, ASL_KEY_TIME_NSEC ); - NSTimeInterval seconds = secondsCString ? strtod(secondsCString, NULL) : [NSDate timeIntervalSinceReferenceDate] - NSTimeIntervalSince1970; - double nanoSeconds = nanoCString? strtod(nanoCString, NULL) : 0; - NSTimeInterval totalSeconds = seconds + (nanoSeconds / 1e9); - - NSDate *timeStamp = [NSDate dateWithTimeIntervalSince1970:totalSeconds]; - - DDLogMessage *logMessage = [[DDLogMessage alloc]initWithMessage:message - level:_captureLevel - flag:flag - context:0 - file:@"DDASLLogCapture" - function:0 - line:0 - tag:nil - options:0 - timestamp:timeStamp]; - - [DDLog log:async message:logMessage]; -} - -+ (void)captureAslLogs { - @autoreleasepool - { - /* - We use ASL_KEY_MSG_ID to see each message once, but there's no - obvious way to get the "next" ID. To bootstrap the process, we'll - search by timestamp until we've seen a message. - */ - - struct timeval timeval = { - .tv_sec = 0 - }; - gettimeofday(&timeval, NULL); - unsigned long long startTime = timeval.tv_sec; - __block unsigned long long lastSeenID = 0; - - /* - syslogd posts kNotifyASLDBUpdate (com.apple.system.logger.message) - through the notify API when it saves messages to the ASL database. - There is some coalescing - currently it is sent at most twice per - second - but there is no documented guarantee about this. In any - case, there may be multiple messages per notification. - - Notify notifications don't carry any payload, so we need to search - for the messages. - */ - int notifyToken = 0; // Can be used to unregister with notify_cancel(). - notify_register_dispatch(kNotifyASLDBUpdate, ¬ifyToken, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^(int token) - { - // At least one message has been posted; build a search query. - @autoreleasepool - { - aslmsg query = asl_new(ASL_TYPE_QUERY); - char stringValue[64]; - - if (lastSeenID > 0) { - snprintf(stringValue, sizeof stringValue, "%llu", lastSeenID); - asl_set_query(query, ASL_KEY_MSG_ID, stringValue, ASL_QUERY_OP_GREATER | ASL_QUERY_OP_NUMERIC); - } else { - snprintf(stringValue, sizeof stringValue, "%llu", startTime); - asl_set_query(query, ASL_KEY_TIME, stringValue, ASL_QUERY_OP_GREATER_EQUAL | ASL_QUERY_OP_NUMERIC); - } - - [self configureAslQuery:query]; - - // Iterate over new messages. - aslmsg msg; - aslresponse response = asl_search(NULL, query); - - while ((msg = dd_asl_next(response))) - { - [self aslMessageReceived:msg]; - - // Keep track of which messages we've seen. - lastSeenID = atoll(asl_get(msg, ASL_KEY_MSG_ID)); - } - dd_asl_release(response); - asl_free(query); - - if (_cancel) { - notify_cancel(token); - return; - } - - } - }); - } -} - -@end diff --git a/Pods/CocoaLumberjack/Classes/DDASLLogger.h b/Pods/CocoaLumberjack/Classes/DDASLLogger.h deleted file mode 100644 index 6f6fce1..0000000 --- a/Pods/CocoaLumberjack/Classes/DDASLLogger.h +++ /dev/null @@ -1,58 +0,0 @@ -// Software License Agreement (BSD License) -// -// Copyright (c) 2010-2016, Deusty, LLC -// All rights reserved. -// -// Redistribution and use of this software in source and binary forms, -// with or without modification, are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Neither the name of Deusty nor the names of its contributors may be used -// to endorse or promote products derived from this software without specific -// prior written permission of Deusty, LLC. - -#import - -// Disable legacy macros -#ifndef DD_LEGACY_MACROS - #define DD_LEGACY_MACROS 0 -#endif - -#import "DDLog.h" - -// Custom key set on messages sent to ASL -extern const char* const kDDASLKeyDDLog; - -// Value set for kDDASLKeyDDLog -extern const char* const kDDASLDDLogValue; - -/** - * This class provides a logger for the Apple System Log facility. - * - * As described in the "Getting Started" page, - * the traditional NSLog() function directs its output to two places: - * - * - Apple System Log - * - StdErr (if stderr is a TTY) so log statements show up in Xcode console - * - * To duplicate NSLog() functionality you can simply add this logger and a tty logger. - * However, if you instead choose to use file logging (for faster performance), - * you may choose to use a file logger and a tty logger. - **/ -@interface DDASLLogger : DDAbstractLogger - -/** - * Singleton method - * - * @return the shared instance - */ -+ (instancetype)sharedInstance; - -// Inherited from DDAbstractLogger - -// - (id )logFormatter; -// - (void)setLogFormatter:(id )formatter; - -@end diff --git a/Pods/CocoaLumberjack/Classes/DDASLLogger.m b/Pods/CocoaLumberjack/Classes/DDASLLogger.m deleted file mode 100644 index d399d6a..0000000 --- a/Pods/CocoaLumberjack/Classes/DDASLLogger.m +++ /dev/null @@ -1,121 +0,0 @@ -// Software License Agreement (BSD License) -// -// Copyright (c) 2010-2016, Deusty, LLC -// All rights reserved. -// -// Redistribution and use of this software in source and binary forms, -// with or without modification, are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Neither the name of Deusty nor the names of its contributors may be used -// to endorse or promote products derived from this software without specific -// prior written permission of Deusty, LLC. - -#import "DDASLLogger.h" -#import - -#if !__has_feature(objc_arc) -#error This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC). -#endif - -const char* const kDDASLKeyDDLog = "DDLog"; - -const char* const kDDASLDDLogValue = "1"; - -static DDASLLogger *sharedInstance; - -@interface DDASLLogger () { - aslclient _client; -} - -@end - - -@implementation DDASLLogger - -+ (instancetype)sharedInstance { - static dispatch_once_t DDASLLoggerOnceToken; - - dispatch_once(&DDASLLoggerOnceToken, ^{ - sharedInstance = [[[self class] alloc] init]; - }); - - return sharedInstance; -} - -- (instancetype)init { - if (sharedInstance != nil) { - return nil; - } - - if ((self = [super init])) { - // A default asl client is provided for the main thread, - // but background threads need to create their own client. - - _client = asl_open(NULL, "com.apple.console", 0); - } - - return self; -} - -- (void)logMessage:(DDLogMessage *)logMessage { - // Skip captured log messages - if ([logMessage->_fileName isEqualToString:@"DDASLLogCapture"]) { - return; - } - - NSString * message = _logFormatter ? [_logFormatter formatLogMessage:logMessage] : logMessage->_message; - - if (logMessage) { - const char *msg = [message UTF8String]; - - size_t aslLogLevel; - switch (logMessage->_flag) { - // Note: By default ASL will filter anything above level 5 (Notice). - // So our mappings shouldn't go above that level. - case DDLogFlagError : aslLogLevel = ASL_LEVEL_CRIT; break; - case DDLogFlagWarning : aslLogLevel = ASL_LEVEL_ERR; break; - case DDLogFlagInfo : aslLogLevel = ASL_LEVEL_WARNING; break; // Regular NSLog's level - case DDLogFlagDebug : - case DDLogFlagVerbose : - default : aslLogLevel = ASL_LEVEL_NOTICE; break; - } - - static char const *const level_strings[] = { "0", "1", "2", "3", "4", "5", "6", "7" }; - - // NSLog uses the current euid to set the ASL_KEY_READ_UID. - uid_t const readUID = geteuid(); - - char readUIDString[16]; -#ifndef NS_BLOCK_ASSERTIONS - int l = snprintf(readUIDString, sizeof(readUIDString), "%d", readUID); -#else - snprintf(readUIDString, sizeof(readUIDString), "%d", readUID); -#endif - - NSAssert(l < sizeof(readUIDString), - @"Formatted euid is too long."); - NSAssert(aslLogLevel < (sizeof(level_strings) / sizeof(level_strings[0])), - @"Unhandled ASL log level."); - - aslmsg m = asl_new(ASL_TYPE_MSG); - if (m != NULL) { - if (asl_set(m, ASL_KEY_LEVEL, level_strings[aslLogLevel]) == 0 && - asl_set(m, ASL_KEY_MSG, msg) == 0 && - asl_set(m, ASL_KEY_READ_UID, readUIDString) == 0 && - asl_set(m, kDDASLKeyDDLog, kDDASLDDLogValue) == 0) { - asl_send(_client, m); - } - asl_free(m); - } - //TODO handle asl_* failures non-silently? - } -} - -- (NSString *)loggerName { - return @"cocoa.lumberjack.aslLogger"; -} - -@end diff --git a/Pods/CocoaLumberjack/Classes/DDAbstractDatabaseLogger.h b/Pods/CocoaLumberjack/Classes/DDAbstractDatabaseLogger.h deleted file mode 100644 index 208bb22..0000000 --- a/Pods/CocoaLumberjack/Classes/DDAbstractDatabaseLogger.h +++ /dev/null @@ -1,123 +0,0 @@ -// Software License Agreement (BSD License) -// -// Copyright (c) 2010-2016, Deusty, LLC -// All rights reserved. -// -// Redistribution and use of this software in source and binary forms, -// with or without modification, are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Neither the name of Deusty nor the names of its contributors may be used -// to endorse or promote products derived from this software without specific -// prior written permission of Deusty, LLC. - -// Disable legacy macros -#ifndef DD_LEGACY_MACROS - #define DD_LEGACY_MACROS 0 -#endif - -#import "DDLog.h" - -/** - * This class provides an abstract implementation of a database logger. - * - * That is, it provides the base implementation for a database logger to build atop of. - * All that is needed for a concrete database logger is to extend this class - * and override the methods in the implementation file that are prefixed with "db_". - **/ -@interface DDAbstractDatabaseLogger : DDAbstractLogger { - -@protected - NSUInteger _saveThreshold; - NSTimeInterval _saveInterval; - NSTimeInterval _maxAge; - NSTimeInterval _deleteInterval; - BOOL _deleteOnEverySave; - - BOOL _saveTimerSuspended; - NSUInteger _unsavedCount; - dispatch_time_t _unsavedTime; - dispatch_source_t _saveTimer; - dispatch_time_t _lastDeleteTime; - dispatch_source_t _deleteTimer; -} - -/** - * Specifies how often to save the data to disk. - * Since saving is an expensive operation (disk io) it is not done after every log statement. - * These properties allow you to configure how/when the logger saves to disk. - * - * A save is done when either (whichever happens first): - * - * - The number of unsaved log entries reaches saveThreshold - * - The amount of time since the oldest unsaved log entry was created reaches saveInterval - * - * You can optionally disable the saveThreshold by setting it to zero. - * If you disable the saveThreshold you are entirely dependent on the saveInterval. - * - * You can optionally disable the saveInterval by setting it to zero (or a negative value). - * If you disable the saveInterval you are entirely dependent on the saveThreshold. - * - * It's not wise to disable both saveThreshold and saveInterval. - * - * The default saveThreshold is 500. - * The default saveInterval is 60 seconds. - **/ -@property (assign, readwrite) NSUInteger saveThreshold; - -/** - * See the description for the `saveThreshold` property - */ -@property (assign, readwrite) NSTimeInterval saveInterval; - -/** - * It is likely you don't want the log entries to persist forever. - * Doing so would allow the database to grow infinitely large over time. - * - * The maxAge property provides a way to specify how old a log statement can get - * before it should get deleted from the database. - * - * The deleteInterval specifies how often to sweep for old log entries. - * Since deleting is an expensive operation (disk io) is is done on a fixed interval. - * - * An alternative to the deleteInterval is the deleteOnEverySave option. - * This specifies that old log entries should be deleted during every save operation. - * - * You can optionally disable the maxAge by setting it to zero (or a negative value). - * If you disable the maxAge then old log statements are not deleted. - * - * You can optionally disable the deleteInterval by setting it to zero (or a negative value). - * - * If you disable both deleteInterval and deleteOnEverySave then old log statements are not deleted. - * - * It's not wise to enable both deleteInterval and deleteOnEverySave. - * - * The default maxAge is 7 days. - * The default deleteInterval is 5 minutes. - * The default deleteOnEverySave is NO. - **/ -@property (assign, readwrite) NSTimeInterval maxAge; - -/** - * See the description for the `maxAge` property - */ -@property (assign, readwrite) NSTimeInterval deleteInterval; - -/** - * See the description for the `maxAge` property - */ -@property (assign, readwrite) BOOL deleteOnEverySave; - -/** - * Forces a save of any pending log entries (flushes log entries to disk). - **/ -- (void)savePendingLogEntries; - -/** - * Removes any log entries that are older than maxAge. - **/ -- (void)deleteOldLogEntries; - -@end diff --git a/Pods/CocoaLumberjack/Classes/DDAbstractDatabaseLogger.m b/Pods/CocoaLumberjack/Classes/DDAbstractDatabaseLogger.m deleted file mode 100644 index 0200f7c..0000000 --- a/Pods/CocoaLumberjack/Classes/DDAbstractDatabaseLogger.m +++ /dev/null @@ -1,660 +0,0 @@ -// Software License Agreement (BSD License) -// -// Copyright (c) 2010-2016, Deusty, LLC -// All rights reserved. -// -// Redistribution and use of this software in source and binary forms, -// with or without modification, are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Neither the name of Deusty nor the names of its contributors may be used -// to endorse or promote products derived from this software without specific -// prior written permission of Deusty, LLC. - -#import "DDAbstractDatabaseLogger.h" -#import - - -#if !__has_feature(objc_arc) -#error This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC). -#endif - -@interface DDAbstractDatabaseLogger () - -- (void)destroySaveTimer; -- (void)destroyDeleteTimer; - -@end - -#pragma mark - - -@implementation DDAbstractDatabaseLogger - -- (instancetype)init { - if ((self = [super init])) { - _saveThreshold = 500; - _saveInterval = 60; // 60 seconds - _maxAge = (60 * 60 * 24 * 7); // 7 days - _deleteInterval = (60 * 5); // 5 minutes - } - - return self; -} - -- (void)dealloc { - [self destroySaveTimer]; - [self destroyDeleteTimer]; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -#pragma mark Override Me -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -- (BOOL)db_log:(DDLogMessage *)logMessage { - // Override me and add your implementation. - // - // Return YES if an item was added to the buffer. - // Return NO if the logMessage was ignored. - - return NO; -} - -- (void)db_save { - // Override me and add your implementation. -} - -- (void)db_delete { - // Override me and add your implementation. -} - -- (void)db_saveAndDelete { - // Override me and add your implementation. -} - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -#pragma mark Private API -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -- (void)performSaveAndSuspendSaveTimer { - if (_unsavedCount > 0) { - if (_deleteOnEverySave) { - [self db_saveAndDelete]; - } else { - [self db_save]; - } - } - - _unsavedCount = 0; - _unsavedTime = 0; - - if (_saveTimer && !_saveTimerSuspended) { - dispatch_suspend(_saveTimer); - _saveTimerSuspended = YES; - } -} - -- (void)performDelete { - if (_maxAge > 0.0) { - [self db_delete]; - - _lastDeleteTime = dispatch_time(DISPATCH_TIME_NOW, 0); - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -#pragma mark Timers -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -- (void)destroySaveTimer { - if (_saveTimer) { - dispatch_source_cancel(_saveTimer); - - if (_saveTimerSuspended) { - // Must resume a timer before releasing it (or it will crash) - dispatch_resume(_saveTimer); - _saveTimerSuspended = NO; - } - - #if !OS_OBJECT_USE_OBJC - dispatch_release(_saveTimer); - #endif - _saveTimer = NULL; - } -} - -- (void)updateAndResumeSaveTimer { - if ((_saveTimer != NULL) && (_saveInterval > 0.0) && (_unsavedTime > 0.0)) { - uint64_t interval = (uint64_t)(_saveInterval * NSEC_PER_SEC); - dispatch_time_t startTime = dispatch_time(_unsavedTime, interval); - - dispatch_source_set_timer(_saveTimer, startTime, interval, 1.0); - - if (_saveTimerSuspended) { - dispatch_resume(_saveTimer); - _saveTimerSuspended = NO; - } - } -} - -- (void)createSuspendedSaveTimer { - if ((_saveTimer == NULL) && (_saveInterval > 0.0)) { - _saveTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, self.loggerQueue); - - dispatch_source_set_event_handler(_saveTimer, ^{ @autoreleasepool { - [self performSaveAndSuspendSaveTimer]; - } }); - - _saveTimerSuspended = YES; - } -} - -- (void)destroyDeleteTimer { - if (_deleteTimer) { - dispatch_source_cancel(_deleteTimer); - #if !OS_OBJECT_USE_OBJC - dispatch_release(_deleteTimer); - #endif - _deleteTimer = NULL; - } -} - -- (void)updateDeleteTimer { - if ((_deleteTimer != NULL) && (_deleteInterval > 0.0) && (_maxAge > 0.0)) { - uint64_t interval = (uint64_t)(_deleteInterval * NSEC_PER_SEC); - dispatch_time_t startTime; - - if (_lastDeleteTime > 0) { - startTime = dispatch_time(_lastDeleteTime, interval); - } else { - startTime = dispatch_time(DISPATCH_TIME_NOW, interval); - } - - dispatch_source_set_timer(_deleteTimer, startTime, interval, 1.0); - } -} - -- (void)createAndStartDeleteTimer { - if ((_deleteTimer == NULL) && (_deleteInterval > 0.0) && (_maxAge > 0.0)) { - _deleteTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, self.loggerQueue); - - if (_deleteTimer != NULL) { - dispatch_source_set_event_handler(_deleteTimer, ^{ @autoreleasepool { - [self performDelete]; - } }); - - [self updateDeleteTimer]; - - if (_deleteTimer != NULL) { - dispatch_resume(_deleteTimer); - } - } - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -#pragma mark Configuration -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -- (NSUInteger)saveThreshold { - // The design of this method is taken from the DDAbstractLogger implementation. - // For extensive documentation please refer to the DDAbstractLogger implementation. - - // Note: The internal implementation MUST access the colorsEnabled variable directly, - // This method is designed explicitly for external access. - // - // Using "self." syntax to go through this method will cause immediate deadlock. - // This is the intended result. Fix it by accessing the ivar directly. - // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster. - - NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); - NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax."); - - dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; - - __block NSUInteger result; - - dispatch_sync(globalLoggingQueue, ^{ - dispatch_sync(self.loggerQueue, ^{ - result = _saveThreshold; - }); - }); - - return result; -} - -- (void)setSaveThreshold:(NSUInteger)threshold { - dispatch_block_t block = ^{ - @autoreleasepool { - if (_saveThreshold != threshold) { - _saveThreshold = threshold; - - // Since the saveThreshold has changed, - // we check to see if the current unsavedCount has surpassed the new threshold. - // - // If it has, we immediately save the log. - - if ((_unsavedCount >= _saveThreshold) && (_saveThreshold > 0)) { - [self performSaveAndSuspendSaveTimer]; - } - } - } - }; - - // The design of the setter logic below is taken from the DDAbstractLogger implementation. - // For documentation please refer to the DDAbstractLogger implementation. - - if ([self isOnInternalLoggerQueue]) { - block(); - } else { - dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; - NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); - - dispatch_async(globalLoggingQueue, ^{ - dispatch_async(self.loggerQueue, block); - }); - } -} - -- (NSTimeInterval)saveInterval { - // The design of this method is taken from the DDAbstractLogger implementation. - // For extensive documentation please refer to the DDAbstractLogger implementation. - - // Note: The internal implementation MUST access the colorsEnabled variable directly, - // This method is designed explicitly for external access. - // - // Using "self." syntax to go through this method will cause immediate deadlock. - // This is the intended result. Fix it by accessing the ivar directly. - // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster. - - NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); - NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax."); - - dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; - - __block NSTimeInterval result; - - dispatch_sync(globalLoggingQueue, ^{ - dispatch_sync(self.loggerQueue, ^{ - result = _saveInterval; - }); - }); - - return result; -} - -- (void)setSaveInterval:(NSTimeInterval)interval { - dispatch_block_t block = ^{ - @autoreleasepool { - // C99 recommended floating point comparison macro - // Read: isLessThanOrGreaterThan(floatA, floatB) - - if (/* saveInterval != interval */ islessgreater(_saveInterval, interval)) { - _saveInterval = interval; - - // There are several cases we need to handle here. - // - // 1. If the saveInterval was previously enabled and it just got disabled, - // then we need to stop the saveTimer. (And we might as well release it.) - // - // 2. If the saveInterval was previously disabled and it just got enabled, - // then we need to setup the saveTimer. (Plus we might need to do an immediate save.) - // - // 3. If the saveInterval increased, then we need to reset the timer so that it fires at the later date. - // - // 4. If the saveInterval decreased, then we need to reset the timer so that it fires at an earlier date. - // (Plus we might need to do an immediate save.) - - if (_saveInterval > 0.0) { - if (_saveTimer == NULL) { - // Handles #2 - // - // Since the saveTimer uses the unsavedTime to calculate it's first fireDate, - // if a save is needed the timer will fire immediately. - - [self createSuspendedSaveTimer]; - [self updateAndResumeSaveTimer]; - } else { - // Handles #3 - // Handles #4 - // - // Since the saveTimer uses the unsavedTime to calculate it's first fireDate, - // if a save is needed the timer will fire immediately. - - [self updateAndResumeSaveTimer]; - } - } else if (_saveTimer) { - // Handles #1 - - [self destroySaveTimer]; - } - } - } - }; - - // The design of the setter logic below is taken from the DDAbstractLogger implementation. - // For documentation please refer to the DDAbstractLogger implementation. - - if ([self isOnInternalLoggerQueue]) { - block(); - } else { - dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; - NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); - - dispatch_async(globalLoggingQueue, ^{ - dispatch_async(self.loggerQueue, block); - }); - } -} - -- (NSTimeInterval)maxAge { - // The design of this method is taken from the DDAbstractLogger implementation. - // For extensive documentation please refer to the DDAbstractLogger implementation. - - // Note: The internal implementation MUST access the colorsEnabled variable directly, - // This method is designed explicitly for external access. - // - // Using "self." syntax to go through this method will cause immediate deadlock. - // This is the intended result. Fix it by accessing the ivar directly. - // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster. - - NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); - NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax."); - - dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; - - __block NSTimeInterval result; - - dispatch_sync(globalLoggingQueue, ^{ - dispatch_sync(self.loggerQueue, ^{ - result = _maxAge; - }); - }); - - return result; -} - -- (void)setMaxAge:(NSTimeInterval)interval { - dispatch_block_t block = ^{ - @autoreleasepool { - // C99 recommended floating point comparison macro - // Read: isLessThanOrGreaterThan(floatA, floatB) - - if (/* maxAge != interval */ islessgreater(_maxAge, interval)) { - NSTimeInterval oldMaxAge = _maxAge; - NSTimeInterval newMaxAge = interval; - - _maxAge = interval; - - // There are several cases we need to handle here. - // - // 1. If the maxAge was previously enabled and it just got disabled, - // then we need to stop the deleteTimer. (And we might as well release it.) - // - // 2. If the maxAge was previously disabled and it just got enabled, - // then we need to setup the deleteTimer. (Plus we might need to do an immediate delete.) - // - // 3. If the maxAge was increased, - // then we don't need to do anything. - // - // 4. If the maxAge was decreased, - // then we should do an immediate delete. - - BOOL shouldDeleteNow = NO; - - if (oldMaxAge > 0.0) { - if (newMaxAge <= 0.0) { - // Handles #1 - - [self destroyDeleteTimer]; - } else if (oldMaxAge > newMaxAge) { - // Handles #4 - shouldDeleteNow = YES; - } - } else if (newMaxAge > 0.0) { - // Handles #2 - shouldDeleteNow = YES; - } - - if (shouldDeleteNow) { - [self performDelete]; - - if (_deleteTimer) { - [self updateDeleteTimer]; - } else { - [self createAndStartDeleteTimer]; - } - } - } - } - }; - - // The design of the setter logic below is taken from the DDAbstractLogger implementation. - // For documentation please refer to the DDAbstractLogger implementation. - - if ([self isOnInternalLoggerQueue]) { - block(); - } else { - dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; - NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); - - dispatch_async(globalLoggingQueue, ^{ - dispatch_async(self.loggerQueue, block); - }); - } -} - -- (NSTimeInterval)deleteInterval { - // The design of this method is taken from the DDAbstractLogger implementation. - // For extensive documentation please refer to the DDAbstractLogger implementation. - - // Note: The internal implementation MUST access the colorsEnabled variable directly, - // This method is designed explicitly for external access. - // - // Using "self." syntax to go through this method will cause immediate deadlock. - // This is the intended result. Fix it by accessing the ivar directly. - // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster. - - NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); - NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax."); - - dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; - - __block NSTimeInterval result; - - dispatch_sync(globalLoggingQueue, ^{ - dispatch_sync(self.loggerQueue, ^{ - result = _deleteInterval; - }); - }); - - return result; -} - -- (void)setDeleteInterval:(NSTimeInterval)interval { - dispatch_block_t block = ^{ - @autoreleasepool { - // C99 recommended floating point comparison macro - // Read: isLessThanOrGreaterThan(floatA, floatB) - - if (/* deleteInterval != interval */ islessgreater(_deleteInterval, interval)) { - _deleteInterval = interval; - - // There are several cases we need to handle here. - // - // 1. If the deleteInterval was previously enabled and it just got disabled, - // then we need to stop the deleteTimer. (And we might as well release it.) - // - // 2. If the deleteInterval was previously disabled and it just got enabled, - // then we need to setup the deleteTimer. (Plus we might need to do an immediate delete.) - // - // 3. If the deleteInterval increased, then we need to reset the timer so that it fires at the later date. - // - // 4. If the deleteInterval decreased, then we need to reset the timer so that it fires at an earlier date. - // (Plus we might need to do an immediate delete.) - - if (_deleteInterval > 0.0) { - if (_deleteTimer == NULL) { - // Handles #2 - // - // Since the deleteTimer uses the lastDeleteTime to calculate it's first fireDate, - // if a delete is needed the timer will fire immediately. - - [self createAndStartDeleteTimer]; - } else { - // Handles #3 - // Handles #4 - // - // Since the deleteTimer uses the lastDeleteTime to calculate it's first fireDate, - // if a save is needed the timer will fire immediately. - - [self updateDeleteTimer]; - } - } else if (_deleteTimer) { - // Handles #1 - - [self destroyDeleteTimer]; - } - } - } - }; - - // The design of the setter logic below is taken from the DDAbstractLogger implementation. - // For documentation please refer to the DDAbstractLogger implementation. - - if ([self isOnInternalLoggerQueue]) { - block(); - } else { - dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; - NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); - - dispatch_async(globalLoggingQueue, ^{ - dispatch_async(self.loggerQueue, block); - }); - } -} - -- (BOOL)deleteOnEverySave { - // The design of this method is taken from the DDAbstractLogger implementation. - // For extensive documentation please refer to the DDAbstractLogger implementation. - - // Note: The internal implementation MUST access the colorsEnabled variable directly, - // This method is designed explicitly for external access. - // - // Using "self." syntax to go through this method will cause immediate deadlock. - // This is the intended result. Fix it by accessing the ivar directly. - // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster. - - NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); - NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax."); - - dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; - - __block BOOL result; - - dispatch_sync(globalLoggingQueue, ^{ - dispatch_sync(self.loggerQueue, ^{ - result = _deleteOnEverySave; - }); - }); - - return result; -} - -- (void)setDeleteOnEverySave:(BOOL)flag { - dispatch_block_t block = ^{ - _deleteOnEverySave = flag; - }; - - // The design of the setter logic below is taken from the DDAbstractLogger implementation. - // For documentation please refer to the DDAbstractLogger implementation. - - if ([self isOnInternalLoggerQueue]) { - block(); - } else { - dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; - NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); - - dispatch_async(globalLoggingQueue, ^{ - dispatch_async(self.loggerQueue, block); - }); - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -#pragma mark Public API -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -- (void)savePendingLogEntries { - dispatch_block_t block = ^{ - @autoreleasepool { - [self performSaveAndSuspendSaveTimer]; - } - }; - - if ([self isOnInternalLoggerQueue]) { - block(); - } else { - dispatch_async(self.loggerQueue, block); - } -} - -- (void)deleteOldLogEntries { - dispatch_block_t block = ^{ - @autoreleasepool { - [self performDelete]; - } - }; - - if ([self isOnInternalLoggerQueue]) { - block(); - } else { - dispatch_async(self.loggerQueue, block); - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -#pragma mark DDLogger -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -- (void)didAddLogger { - // If you override me be sure to invoke [super didAddLogger]; - - [self createSuspendedSaveTimer]; - - [self createAndStartDeleteTimer]; -} - -- (void)willRemoveLogger { - // If you override me be sure to invoke [super willRemoveLogger]; - - [self performSaveAndSuspendSaveTimer]; - - [self destroySaveTimer]; - [self destroyDeleteTimer]; -} - -- (void)logMessage:(DDLogMessage *)logMessage { - if ([self db_log:logMessage]) { - BOOL firstUnsavedEntry = (++_unsavedCount == 1); - - if ((_unsavedCount >= _saveThreshold) && (_saveThreshold > 0)) { - [self performSaveAndSuspendSaveTimer]; - } else if (firstUnsavedEntry) { - _unsavedTime = dispatch_time(DISPATCH_TIME_NOW, 0); - [self updateAndResumeSaveTimer]; - } - } -} - -- (void)flush { - // This method is invoked by DDLog's flushLog method. - // - // It is called automatically when the application quits, - // or if the developer invokes DDLog's flushLog method prior to crashing or something. - - [self performSaveAndSuspendSaveTimer]; -} - -@end diff --git a/Pods/CocoaLumberjack/Classes/DDAssertMacros.h b/Pods/CocoaLumberjack/Classes/DDAssertMacros.h deleted file mode 100644 index 7678a9c..0000000 --- a/Pods/CocoaLumberjack/Classes/DDAssertMacros.h +++ /dev/null @@ -1,26 +0,0 @@ -// Software License Agreement (BSD License) -// -// Copyright (c) 2010-2016, Deusty, LLC -// All rights reserved. -// -// Redistribution and use of this software in source and binary forms, -// with or without modification, are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Neither the name of Deusty nor the names of its contributors may be used -// to endorse or promote products derived from this software without specific -// prior written permission of Deusty, LLC. - -/** - * NSAsset replacement that will output a log message even when assertions are disabled. - **/ -#define DDAssert(condition, frmt, ...) \ - if (!(condition)) { \ - NSString *description = [NSString stringWithFormat:frmt, ## __VA_ARGS__]; \ - DDLogError(@"%@", description); \ - NSAssert(NO, description); \ - } -#define DDAssertCondition(condition) DDAssert(condition, @"Condition not satisfied: %s", #condition) - diff --git a/Pods/CocoaLumberjack/Classes/DDFileLogger.h b/Pods/CocoaLumberjack/Classes/DDFileLogger.h deleted file mode 100644 index cf5048d..0000000 --- a/Pods/CocoaLumberjack/Classes/DDFileLogger.h +++ /dev/null @@ -1,490 +0,0 @@ -// Software License Agreement (BSD License) -// -// Copyright (c) 2010-2016, Deusty, LLC -// All rights reserved. -// -// Redistribution and use of this software in source and binary forms, -// with or without modification, are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Neither the name of Deusty nor the names of its contributors may be used -// to endorse or promote products derived from this software without specific -// prior written permission of Deusty, LLC. - -// Disable legacy macros -#ifndef DD_LEGACY_MACROS - #define DD_LEGACY_MACROS 0 -#endif - -#import "DDLog.h" - -@class DDLogFileInfo; - -/** - * This class provides a logger to write log statements to a file. - **/ - - -// Default configuration and safety/sanity values. -// -// maximumFileSize -> kDDDefaultLogMaxFileSize -// rollingFrequency -> kDDDefaultLogRollingFrequency -// maximumNumberOfLogFiles -> kDDDefaultLogMaxNumLogFiles -// logFilesDiskQuota -> kDDDefaultLogFilesDiskQuota -// -// You should carefully consider the proper configuration values for your application. - -extern unsigned long long const kDDDefaultLogMaxFileSize; -extern NSTimeInterval const kDDDefaultLogRollingFrequency; -extern NSUInteger const kDDDefaultLogMaxNumLogFiles; -extern unsigned long long const kDDDefaultLogFilesDiskQuota; - - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -#pragma mark - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -/** - * The LogFileManager protocol is designed to allow you to control all aspects of your log files. - * - * The primary purpose of this is to allow you to do something with the log files after they have been rolled. - * Perhaps you want to compress them to save disk space. - * Perhaps you want to upload them to an FTP server. - * Perhaps you want to run some analytics on the file. - * - * A default LogFileManager is, of course, provided. - * The default LogFileManager simply deletes old log files according to the maximumNumberOfLogFiles property. - * - * This protocol provides various methods to fetch the list of log files. - * - * There are two variants: sorted and unsorted. - * If sorting is not necessary, the unsorted variant is obviously faster. - * The sorted variant will return an array sorted by when the log files were created, - * with the most recently created log file at index 0, and the oldest log file at the end of the array. - * - * You can fetch only the log file paths (full path including name), log file names (name only), - * or an array of `DDLogFileInfo` objects. - * The `DDLogFileInfo` class is documented below, and provides a handy wrapper that - * gives you easy access to various file attributes such as the creation date or the file size. - */ -@protocol DDLogFileManager -@required - -// Public properties - -/** - * The maximum number of archived log files to keep on disk. - * For example, if this property is set to 3, - * then the LogFileManager will only keep 3 archived log files (plus the current active log file) on disk. - * Once the active log file is rolled/archived, then the oldest of the existing 3 rolled/archived log files is deleted. - * - * You may optionally disable this option by setting it to zero. - **/ -@property (readwrite, assign, atomic) NSUInteger maximumNumberOfLogFiles; - -/** - * The maximum space that logs can take. On rolling logfile all old logfiles that exceed logFilesDiskQuota will - * be deleted. - * - * You may optionally disable this option by setting it to zero. - **/ -@property (readwrite, assign, atomic) unsigned long long logFilesDiskQuota; - -// Public methods - -/** - * Returns the logs directory (path) - */ -- (NSString *)logsDirectory; - -/** - * Returns an array of `NSString` objects, - * each of which is the filePath to an existing log file on disk. - **/ -- (NSArray *)unsortedLogFilePaths; - -/** - * Returns an array of `NSString` objects, - * each of which is the fileName of an existing log file on disk. - **/ -- (NSArray *)unsortedLogFileNames; - -/** - * Returns an array of `DDLogFileInfo` objects, - * each representing an existing log file on disk, - * and containing important information about the log file such as it's modification date and size. - **/ -- (NSArray *)unsortedLogFileInfos; - -/** - * Just like the `unsortedLogFilePaths` method, but sorts the array. - * The items in the array are sorted by creation date. - * The first item in the array will be the most recently created log file. - **/ -- (NSArray *)sortedLogFilePaths; - -/** - * Just like the `unsortedLogFileNames` method, but sorts the array. - * The items in the array are sorted by creation date. - * The first item in the array will be the most recently created log file. - **/ -- (NSArray *)sortedLogFileNames; - -/** - * Just like the `unsortedLogFileInfos` method, but sorts the array. - * The items in the array are sorted by creation date. - * The first item in the array will be the most recently created log file. - **/ -- (NSArray *)sortedLogFileInfos; - -// Private methods (only to be used by DDFileLogger) - -/** - * Generates a new unique log file path, and creates the corresponding log file. - **/ -- (NSString *)createNewLogFile; - -@optional - -// Notifications from DDFileLogger - -/** - * Called when a log file was archieved - */ -- (void)didArchiveLogFile:(NSString *)logFilePath; - -/** - * Called when the roll action was executed and the log was archieved - */ -- (void)didRollAndArchiveLogFile:(NSString *)logFilePath; - -@end - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -#pragma mark - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -/** - * Default log file manager. - * - * All log files are placed inside the logsDirectory. - * If a specific logsDirectory isn't specified, the default directory is used. - * On Mac, this is in `~/Library/Logs/`. - * On iPhone, this is in `~/Library/Caches/Logs`. - * - * Log files are named `"