Skip to content

Commit

Permalink
Merge pull request #475 from mixpanel/archive-refactoring-sqlite
Browse files Browse the repository at this point in the history
Replace NSKeyedArchiver with SQLite for offline tracking
  • Loading branch information
jaredmixpanel authored Sep 7, 2021
2 parents f78d0f4 + 6ee1f2c commit c705868
Show file tree
Hide file tree
Showing 48 changed files with 3,401 additions and 3,030 deletions.
1 change: 1 addition & 0 deletions .swiftlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,4 @@ disabled_rules:
- type_body_length
- variable_name
- trailing_whitespace
- unused_optional_binding
6 changes: 3 additions & 3 deletions Mixpanel-swift.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'Mixpanel-swift'
s.version = '3.0.0.beta.2'
s.version = '3.0.0.beta.4'
s.module_name = 'Mixpanel'
s.license = 'Apache License, Version 2.0'
s.summary = 'Mixpanel tracking library for iOS (Swift)'
Expand All @@ -18,9 +18,9 @@ Pod::Spec.new do |s|
base_source_files = ['Sources/Network.swift', 'Sources/FlushRequest.swift', 'Sources/PrintLogging.swift', 'Sources/FileLogging.swift',
'Sources/Logger.swift', 'Sources/JSONHandler.swift', 'Sources/Error.swift', 'Sources/AutomaticProperties.swift',
'Sources/Constants.swift', 'Sources/MixpanelType.swift', 'Sources/Mixpanel.swift', 'Sources/MixpanelInstance.swift',
'Sources/Persistence.swift', 'Sources/Flush.swift','Sources/Track.swift', 'Sources/People.swift', 'Sources/AutomaticEvents.swift',
'Sources/Flush.swift','Sources/Track.swift', 'Sources/People.swift', 'Sources/AutomaticEvents.swift',
'Sources/Group.swift',
'Sources/ReadWriteLock.swift', 'Sources/SessionMetadata.swift']
'Sources/ReadWriteLock.swift', 'Sources/SessionMetadata.swift', 'Sources/MPDB.swift', 'Sources/MixpanelPersistence.swift']
s.tvos.deployment_target = '9.0'
s.tvos.frameworks = 'UIKit', 'Foundation'
s.tvos.pod_target_xcconfig = {
Expand Down
30 changes: 20 additions & 10 deletions Mixpanel.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@
673ABE3A21360CBE00B1784B /* Group.swift in Sources */ = {isa = PBXBuildFile; fileRef = 673ABE3921360CBE00B1784B /* Group.swift */; };
67FF65E421878414005161FA /* Group.swift in Sources */ = {isa = PBXBuildFile; fileRef = 673ABE3921360CBE00B1784B /* Group.swift */; };
67FF65E521878416005161FA /* Group.swift in Sources */ = {isa = PBXBuildFile; fileRef = 673ABE3921360CBE00B1784B /* Group.swift */; };
8625BEBB26D045CE0009BAA9 /* MPDB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8625BEBA26D045CE0009BAA9 /* MPDB.swift */; };
8625BEBC26D045CE0009BAA9 /* MPDB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8625BEBA26D045CE0009BAA9 /* MPDB.swift */; };
8625BEBD26D045CE0009BAA9 /* MPDB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8625BEBA26D045CE0009BAA9 /* MPDB.swift */; };
8625BEBE26D045CE0009BAA9 /* MPDB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8625BEBA26D045CE0009BAA9 /* MPDB.swift */; };
868550AC2699096F001FCDDC /* MixpanelPersistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 868550AB2699096F001FCDDC /* MixpanelPersistence.swift */; };
868550AD2699096F001FCDDC /* MixpanelPersistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 868550AB2699096F001FCDDC /* MixpanelPersistence.swift */; };
868550AE2699096F001FCDDC /* MixpanelPersistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 868550AB2699096F001FCDDC /* MixpanelPersistence.swift */; };
868550AF2699096F001FCDDC /* MixpanelPersistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 868550AB2699096F001FCDDC /* MixpanelPersistence.swift */; };
86F86EB7224439D300B69832 /* Mixpanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E115948A1CFF1538007F8B4F /* Mixpanel.swift */; };
86F86EB8224439D300B69832 /* MixpanelInstance.swift in Sources */ = {isa = PBXBuildFile; fileRef = E115948D1D000709007F8B4F /* MixpanelInstance.swift */; };
86F86EB9224439DC00B69832 /* AutomaticProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1D335CF1D3059A800E68E12 /* AutomaticProperties.swift */; };
Expand All @@ -21,7 +29,6 @@
86F86EBC224439F100B69832 /* PrintLogging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51DD56801D306B7B0045D3DB /* PrintLogging.swift */; };
86F86EBD224439F500B69832 /* Flush.swift in Sources */ = {isa = PBXBuildFile; fileRef = E115949E1D01BE14007F8B4F /* Flush.swift */; };
86F86EBE224439FA00B69832 /* Network.swift in Sources */ = {isa = PBXBuildFile; fileRef = E11594961D006022007F8B4F /* Network.swift */; };
86F86EBF22443A0000B69832 /* Persistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = E11594921D0036E1007F8B4F /* Persistence.swift */; };
86F86EC022443A0800B69832 /* MixpanelType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E165228E1D6781DF000D5949 /* MixpanelType.swift */; };
86F86EC122443A0E00B69832 /* JSONHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = E11594981D01689F007F8B4F /* JSONHandler.swift */; };
86F86EC222443A1300B69832 /* Track.swift in Sources */ = {isa = PBXBuildFile; fileRef = E11594A01D01C597007F8B4F /* Track.swift */; };
Expand All @@ -38,7 +45,6 @@
E10D118D1EC0F30900195CCD /* AutomaticEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = E151FA371E70DFB5002EF53D /* AutomaticEvents.swift */; };
E115948B1CFF1538007F8B4F /* Mixpanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E115948A1CFF1538007F8B4F /* Mixpanel.swift */; };
E115948E1D000709007F8B4F /* MixpanelInstance.swift in Sources */ = {isa = PBXBuildFile; fileRef = E115948D1D000709007F8B4F /* MixpanelInstance.swift */; };
E11594931D0036E1007F8B4F /* Persistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = E11594921D0036E1007F8B4F /* Persistence.swift */; };
E11594971D006022007F8B4F /* Network.swift in Sources */ = {isa = PBXBuildFile; fileRef = E11594961D006022007F8B4F /* Network.swift */; };
E11594991D01689F007F8B4F /* JSONHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = E11594981D01689F007F8B4F /* JSONHandler.swift */; };
E115949F1D01BE14007F8B4F /* Flush.swift in Sources */ = {isa = PBXBuildFile; fileRef = E115949E1D01BE14007F8B4F /* Flush.swift */; };
Expand All @@ -48,7 +54,6 @@
E12782BD1D4AB5CB0025FB05 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51DD56791D306B740045D3DB /* Logger.swift */; };
E12782BE1D4AB5CB0025FB05 /* Mixpanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E115948A1CFF1538007F8B4F /* Mixpanel.swift */; };
E12782BF1D4AB5CB0025FB05 /* MixpanelInstance.swift in Sources */ = {isa = PBXBuildFile; fileRef = E115948D1D000709007F8B4F /* MixpanelInstance.swift */; };
E12782C01D4AB5CB0025FB05 /* Persistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = E11594921D0036E1007F8B4F /* Persistence.swift */; };
E12782C11D4AB5CB0025FB05 /* Network.swift in Sources */ = {isa = PBXBuildFile; fileRef = E11594961D006022007F8B4F /* Network.swift */; };
E12782C21D4AB5CB0025FB05 /* JSONHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = E11594981D01689F007F8B4F /* JSONHandler.swift */; };
E12782C31D4AB5CB0025FB05 /* Flush.swift in Sources */ = {isa = PBXBuildFile; fileRef = E115949E1D01BE14007F8B4F /* Flush.swift */; };
Expand Down Expand Up @@ -86,7 +91,6 @@
E1F15FDE1E64B60A00391AE3 /* MixpanelType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E165228E1D6781DF000D5949 /* MixpanelType.swift */; };
E1F15FDF1E64B60D00391AE3 /* Mixpanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E115948A1CFF1538007F8B4F /* Mixpanel.swift */; };
E1F15FE01E64B60D00391AE3 /* MixpanelInstance.swift in Sources */ = {isa = PBXBuildFile; fileRef = E115948D1D000709007F8B4F /* MixpanelInstance.swift */; };
E1F15FE11E64B60D00391AE3 /* Persistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = E11594921D0036E1007F8B4F /* Persistence.swift */; };
E1F15FE21E64B60D00391AE3 /* Flush.swift in Sources */ = {isa = PBXBuildFile; fileRef = E115949E1D01BE14007F8B4F /* Flush.swift */; };
E1F15FE31E64B60D00391AE3 /* Track.swift in Sources */ = {isa = PBXBuildFile; fileRef = E11594A01D01C597007F8B4F /* Track.swift */; };
E1F15FE41E64B60D00391AE3 /* People.swift in Sources */ = {isa = PBXBuildFile; fileRef = E15FF7C71D0435670076CDE3 /* People.swift */; };
Expand All @@ -98,13 +102,14 @@
51DD56801D306B7B0045D3DB /* PrintLogging.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrintLogging.swift; sourceTree = "<group>"; };
51DD56811D306B7B0045D3DB /* FileLogging.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FileLogging.swift; sourceTree = "<group>"; };
673ABE3921360CBE00B1784B /* Group.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Group.swift; sourceTree = "<group>"; };
8625BEBA26D045CE0009BAA9 /* MPDB.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MPDB.swift; sourceTree = "<group>"; };
868550AB2699096F001FCDDC /* MixpanelPersistence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MixpanelPersistence.swift; sourceTree = "<group>"; };
86F86E81224404BD00B69832 /* Mixpanel.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Mixpanel.framework; sourceTree = BUILT_PRODUCTS_DIR; };
BB9614161F3BB87700C3EF3E /* ReadWriteLock.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReadWriteLock.swift; sourceTree = "<group>"; };
E115947D1CFF1491007F8B4F /* Mixpanel.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Mixpanel.framework; sourceTree = BUILT_PRODUCTS_DIR; };
E11594821CFF1491007F8B4F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
E115948A1CFF1538007F8B4F /* Mixpanel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Mixpanel.swift; sourceTree = "<group>"; };
E115948D1D000709007F8B4F /* MixpanelInstance.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MixpanelInstance.swift; sourceTree = "<group>"; };
E11594921D0036E1007F8B4F /* Persistence.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Persistence.swift; sourceTree = "<group>"; };
E11594961D006022007F8B4F /* Network.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Network.swift; sourceTree = "<group>"; };
E11594981D01689F007F8B4F /* JSONHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JSONHandler.swift; sourceTree = "<group>"; };
E115949E1D01BE14007F8B4F /* Flush.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Flush.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -215,7 +220,6 @@
E189D8FA1D5A692A007F3F29 /* Utilities */,
E115948A1CFF1538007F8B4F /* Mixpanel.swift */,
E115948D1D000709007F8B4F /* MixpanelInstance.swift */,
E11594921D0036E1007F8B4F /* Persistence.swift */,
E115949E1D01BE14007F8B4F /* Flush.swift */,
E11594A01D01C597007F8B4F /* Track.swift */,
E15FF7C71D0435670076CDE3 /* People.swift */,
Expand Down Expand Up @@ -258,8 +262,10 @@
E151FA371E70DFB5002EF53D /* AutomaticEvents.swift */,
E1D335CD1D30578E00E68E12 /* Constants.swift */,
E165228E1D6781DF000D5949 /* MixpanelType.swift */,
8625BEBA26D045CE0009BAA9 /* MPDB.swift */,
BB9614161F3BB87700C3EF3E /* ReadWriteLock.swift */,
E190522C1F9FC1BC00900E5D /* SessionMetadata.swift */,
868550AB2699096F001FCDDC /* MixpanelPersistence.swift */,
);
name = Utilities;
sourceTree = "<group>";
Expand Down Expand Up @@ -484,13 +490,14 @@
86F86EC622443A3100B69832 /* Error.swift in Sources */,
86F86EC522443A2C00B69832 /* People.swift in Sources */,
86F86EC422443A2300B69832 /* ReadWriteLock.swift in Sources */,
8625BEBE26D045CE0009BAA9 /* MPDB.swift in Sources */,
86F86EC222443A1300B69832 /* Track.swift in Sources */,
86F86EC122443A0E00B69832 /* JSONHandler.swift in Sources */,
86F86EC022443A0800B69832 /* MixpanelType.swift in Sources */,
86F86EBF22443A0000B69832 /* Persistence.swift in Sources */,
86F86EBE224439FA00B69832 /* Network.swift in Sources */,
86F86EBD224439F500B69832 /* Flush.swift in Sources */,
86F86EBC224439F100B69832 /* PrintLogging.swift in Sources */,
868550AF2699096F001FCDDC /* MixpanelPersistence.swift in Sources */,
86F86EBB224439EB00B69832 /* FlushRequest.swift in Sources */,
86F86EBA224439E300B69832 /* Logger.swift in Sources */,
86F86EB9224439DC00B69832 /* AutomaticProperties.swift in Sources */,
Expand All @@ -509,7 +516,6 @@
E151FA381E70DFB5002EF53D /* AutomaticEvents.swift in Sources */,
E1D335CE1D30578E00E68E12 /* Constants.swift in Sources */,
E115949F1D01BE14007F8B4F /* Flush.swift in Sources */,
E11594931D0036E1007F8B4F /* Persistence.swift in Sources */,
E189D8F61D54ECBF007F3F29 /* Decide.swift in Sources */,
E11594971D006022007F8B4F /* Network.swift in Sources */,
E15FF7C81D0435670076CDE3 /* People.swift in Sources */,
Expand All @@ -521,6 +527,8 @@
E165228F1D6781DF000D5949 /* MixpanelType.swift in Sources */,
BB9614171F3BB87700C3EF3E /* ReadWriteLock.swift in Sources */,
E190522D1F9FC1BC00900E5D /* SessionMetadata.swift in Sources */,
8625BEBB26D045CE0009BAA9 /* MPDB.swift in Sources */,
868550AC2699096F001FCDDC /* MixpanelPersistence.swift in Sources */,
E1982BFF1D0AC2E2006B7330 /* Error.swift in Sources */,
51DD56841D306B7B0045D3DB /* FileLogging.swift in Sources */,
E1D335CC1D303A0D00E68E12 /* FlushRequest.swift in Sources */,
Expand All @@ -540,14 +548,15 @@
E12782BD1D4AB5CB0025FB05 /* Logger.swift in Sources */,
E12782BE1D4AB5CB0025FB05 /* Mixpanel.swift in Sources */,
E12782BF1D4AB5CB0025FB05 /* MixpanelInstance.swift in Sources */,
E12782C01D4AB5CB0025FB05 /* Persistence.swift in Sources */,
E12782C11D4AB5CB0025FB05 /* Network.swift in Sources */,
8625BEBC26D045CE0009BAA9 /* MPDB.swift in Sources */,
E12782C21D4AB5CB0025FB05 /* JSONHandler.swift in Sources */,
E12782C31D4AB5CB0025FB05 /* Flush.swift in Sources */,
E12782C41D4AB5CB0025FB05 /* FlushRequest.swift in Sources */,
E12782C51D4AB5CB0025FB05 /* Track.swift in Sources */,
E12782C61D4AB5CB0025FB05 /* People.swift in Sources */,
E19052001F9548F000900E5D /* ReadWriteLock.swift in Sources */,
868550AD2699096F001FCDDC /* MixpanelPersistence.swift in Sources */,
E12782C71D4AB5CB0025FB05 /* Error.swift in Sources */,
E16522901D67D421000D5949 /* MixpanelType.swift in Sources */,
E12782C81D4AB5CB0025FB05 /* Constants.swift in Sources */,
Expand All @@ -568,13 +577,14 @@
E1F15FD91E64B60600391AE3 /* Logger.swift in Sources */,
E1F15FD61E64B5FC00391AE3 /* FlushRequest.swift in Sources */,
E1F15FD71E64B60200391AE3 /* PrintLogging.swift in Sources */,
8625BEBD26D045CE0009BAA9 /* MPDB.swift in Sources */,
E1F15FE21E64B60D00391AE3 /* Flush.swift in Sources */,
E1F15FD51E64B5F800391AE3 /* Network.swift in Sources */,
E1F15FE11E64B60D00391AE3 /* Persistence.swift in Sources */,
E1F15FDE1E64B60A00391AE3 /* MixpanelType.swift in Sources */,
E1F15FDA1E64B60A00391AE3 /* JSONHandler.swift in Sources */,
E1F15FE31E64B60D00391AE3 /* Track.swift in Sources */,
E19052011F9548F000900E5D /* ReadWriteLock.swift in Sources */,
868550AE2699096F001FCDDC /* MixpanelPersistence.swift in Sources */,
E1F15FE41E64B60D00391AE3 /* People.swift in Sources */,
E1F15FDB1E64B60A00391AE3 /* Error.swift in Sources */,
E1F15FD81E64B60200391AE3 /* FileLogging.swift in Sources */,
Expand Down
Loading

0 comments on commit c705868

Please sign in to comment.