diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index c3f951ad..e715ef57 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -30,21 +30,13 @@ jobs: runs-on: ${{ matrix.macos }} steps: - uses: actions/checkout@v3 - - uses: actions/cache@v2 - with: - path: Pods - key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} - restore-keys: | - ${{ runner.os }}-pods- - uses: maxim-lobanov/setup-xcode@v1 with: xcode-version: ${{ matrix.xcode }} - - name: CocoaPod Install - run: pod install - name: Build and Test run: | xcodebuild test \ - -workspace ParselyDemo.xcworkspace \ + -project Demo/ParselyDemo.xcodeproj \ -scheme ParselyDemo \ -sdk iphonesimulator \ -destination 'platform=iOS Simulator,name=iPhone 14,OS=latest' \ diff --git a/Demo/ParselyDemo.xcodeproj/project.pbxproj b/Demo/ParselyDemo.xcodeproj/project.pbxproj new file mode 100644 index 00000000..96b50e5a --- /dev/null +++ b/Demo/ParselyDemo.xcodeproj/project.pbxproj @@ -0,0 +1,618 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 52; + objects = { + +/* Begin PBXBuildFile section */ + 2A1F02DDE91E502E3B49AFAB /* StorageTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A1F03819E4FAF1F979D5926 /* StorageTests.swift */; }; + 3F147F8F29EF8CA100752DFB /* Nimble in Frameworks */ = {isa = PBXBuildFile; productRef = 3F147F8E29EF8CA100752DFB /* Nimble */; }; + 3F147F9529EF965500752DFB /* ParselyAnalytics in Frameworks */ = {isa = PBXBuildFile; productRef = 3F147F9429EF965500752DFB /* ParselyAnalytics */; }; + 3F147F9729EF96EE00752DFB /* ParselyAnalytics in Frameworks */ = {isa = PBXBuildFile; productRef = 3F147F9629EF96EE00752DFB /* ParselyAnalytics */; }; + AA73AAAF2242C1F10089BF1D /* ParselyTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA73AAAE2242C1F10089BF1D /* ParselyTestCase.swift */; }; + B205889F220CB72A00476E27 /* RequestBuilderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B205889E220CB72A00476E27 /* RequestBuilderTests.swift */; }; + B2C84B66220A03610018BC7B /* SamplerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2C84B65220A03610018BC7B /* SamplerTests.swift */; }; + B2FC40C0221CC43200C70806 /* MetadataTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2FC40BF221CC43200C70806 /* MetadataTests.swift */; }; + F40D9A5E20EFF74F0030525E /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F40D9A5D20EFF74F0030525E /* AppDelegate.swift */; }; + F40D9A6020EFF74F0030525E /* FirstViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F40D9A5F20EFF74F0030525E /* FirstViewController.swift */; }; + F40D9A6220EFF74F0030525E /* SecondViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F40D9A6120EFF74F0030525E /* SecondViewController.swift */; }; + F40D9A6520EFF74F0030525E /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F40D9A6320EFF74F0030525E /* Main.storyboard */; }; + F40D9A6720EFF74F0030525E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F40D9A6620EFF74F0030525E /* Assets.xcassets */; }; + F40D9A6A20EFF74F0030525E /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F40D9A6820EFF74F0030525E /* LaunchScreen.storyboard */; }; + F410D63121061D7800DB3EBE /* PixelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F410D63021061D7800DB3EBE /* PixelTests.swift */; }; + F433339E20F0087E004BB6F5 /* ParselyTrackerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F433339D20F0087E004BB6F5 /* ParselyTrackerTests.swift */; }; + F441A55C20F3B8BF009B556E /* EventQueueTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F441A55B20F3B8BF009B556E /* EventQueueTests.swift */; }; + F441A55E20F53A56009B556E /* EventTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F441A55D20F53A56009B556E /* EventTests.swift */; }; + F4BF86682190DAFC00BD3867 /* EngagedTimeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4BF86672190DAFC00BD3867 /* EngagedTimeTests.swift */; }; + F4BF866A2190DB1C00BD3867 /* TrackTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4BF86692190DB1C00BD3867 /* TrackTests.swift */; }; + F4BF866C2190DB3C00BD3867 /* SessionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4BF866B2190DB3C00BD3867 /* SessionTests.swift */; }; + F4BF866E2190DB4A00BD3867 /* VideoTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4BF866D2190DB4A00BD3867 /* VideoTests.swift */; }; + F4BF86702190DB5A00BD3867 /* VisitorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4BF866F2190DB5A00BD3867 /* VisitorTests.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 3FE2171829EF98AC00E34325 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = F40D9A5220EFF74F0030525E /* Project object */; + proxyType = 1; + remoteGlobalIDString = F40D9A5920EFF74F0030525E; + remoteInfo = ParselyDemo; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + F43333AA20F0087E004BB6F5 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 2A1F03819E4FAF1F979D5926 /* StorageTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StorageTests.swift; sourceTree = ""; }; + 3F147F9129EF962200752DFB /* AnalyticsSDK-iOS */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = "AnalyticsSDK-iOS"; path = ..; sourceTree = ""; }; + 3FCAFC8B29E9775A00BC9360 /* UnitTests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = UnitTests.xctestplan; sourceTree = ""; }; + AA73AAAE2242C1F10089BF1D /* ParselyTestCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParselyTestCase.swift; sourceTree = ""; }; + AAEDC32A2212407700769350 /* ParselyTracker.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ParselyTracker.framework; path = ../../../Downloads/ParselyTracker.framework; sourceTree = ""; }; + B205889E220CB72A00476E27 /* RequestBuilderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RequestBuilderTests.swift; sourceTree = ""; }; + B2C84B65220A03610018BC7B /* SamplerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SamplerTests.swift; sourceTree = ""; }; + B2FC40BF221CC43200C70806 /* MetadataTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MetadataTests.swift; sourceTree = ""; }; + F40D9A5A20EFF74F0030525E /* ParselyDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ParselyDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; + F40D9A5D20EFF74F0030525E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + F40D9A5F20EFF74F0030525E /* FirstViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FirstViewController.swift; sourceTree = ""; }; + F40D9A6120EFF74F0030525E /* SecondViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecondViewController.swift; sourceTree = ""; }; + F40D9A6420EFF74F0030525E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + F40D9A6620EFF74F0030525E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + F40D9A6920EFF74F0030525E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + F40D9A6B20EFF7500030525E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + F40D9A7F20EFF7D70030525E /* AnalyticsSDK.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = AnalyticsSDK.entitlements; sourceTree = ""; }; + F410D63021061D7800DB3EBE /* PixelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PixelTests.swift; sourceTree = ""; }; + F433339620F0087E004BB6F5 /* ParselyTrackerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ParselyTrackerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + F433339D20F0087E004BB6F5 /* ParselyTrackerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParselyTrackerTests.swift; sourceTree = ""; }; + F433339F20F0087E004BB6F5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + F441A55B20F3B8BF009B556E /* EventQueueTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventQueueTests.swift; sourceTree = ""; }; + F441A55D20F53A56009B556E /* EventTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventTests.swift; sourceTree = ""; }; + F4BF86672190DAFC00BD3867 /* EngagedTimeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EngagedTimeTests.swift; sourceTree = ""; }; + F4BF86692190DB1C00BD3867 /* TrackTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrackTests.swift; sourceTree = ""; }; + F4BF866B2190DB3C00BD3867 /* SessionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionTests.swift; sourceTree = ""; }; + F4BF866D2190DB4A00BD3867 /* VideoTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VideoTests.swift; sourceTree = ""; }; + F4BF866F2190DB5A00BD3867 /* VisitorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VisitorTests.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + F40D9A5720EFF74F0030525E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 3F147F9729EF96EE00752DFB /* ParselyAnalytics in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F433339320F0087E004BB6F5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 3F147F8F29EF8CA100752DFB /* Nimble in Frameworks */, + 3F147F9529EF965500752DFB /* ParselyAnalytics in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 3F147F9029EF962200752DFB /* Packages */ = { + isa = PBXGroup; + children = ( + 3F147F9129EF962200752DFB /* AnalyticsSDK-iOS */, + ); + name = Packages; + sourceTree = ""; + }; + E6EFA5F61B38FE34B3DF5AD2 /* Frameworks */ = { + isa = PBXGroup; + children = ( + AAEDC32A2212407700769350 /* ParselyTracker.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + F40D9A5120EFF74F0030525E = { + isa = PBXGroup; + children = ( + 3F147F9029EF962200752DFB /* Packages */, + F40D9A5C20EFF74F0030525E /* ParselyDemo */, + F433339C20F0087E004BB6F5 /* Tests */, + F40D9A5B20EFF74F0030525E /* Products */, + E6EFA5F61B38FE34B3DF5AD2 /* Frameworks */, + ); + sourceTree = ""; + }; + F40D9A5B20EFF74F0030525E /* Products */ = { + isa = PBXGroup; + children = ( + F40D9A5A20EFF74F0030525E /* ParselyDemo.app */, + F433339620F0087E004BB6F5 /* ParselyTrackerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + F40D9A5C20EFF74F0030525E /* ParselyDemo */ = { + isa = PBXGroup; + children = ( + F40D9A7F20EFF7D70030525E /* AnalyticsSDK.entitlements */, + F40D9A5D20EFF74F0030525E /* AppDelegate.swift */, + F40D9A5F20EFF74F0030525E /* FirstViewController.swift */, + F40D9A6120EFF74F0030525E /* SecondViewController.swift */, + F40D9A6320EFF74F0030525E /* Main.storyboard */, + F40D9A6620EFF74F0030525E /* Assets.xcassets */, + F40D9A6820EFF74F0030525E /* LaunchScreen.storyboard */, + F40D9A6B20EFF7500030525E /* Info.plist */, + ); + path = ParselyDemo; + sourceTree = ""; + }; + F433339C20F0087E004BB6F5 /* Tests */ = { + isa = PBXGroup; + children = ( + F433339D20F0087E004BB6F5 /* ParselyTrackerTests.swift */, + F433339F20F0087E004BB6F5 /* Info.plist */, + F441A55B20F3B8BF009B556E /* EventQueueTests.swift */, + F441A55D20F53A56009B556E /* EventTests.swift */, + F410D63021061D7800DB3EBE /* PixelTests.swift */, + 2A1F03819E4FAF1F979D5926 /* StorageTests.swift */, + F4BF86672190DAFC00BD3867 /* EngagedTimeTests.swift */, + F4BF86692190DB1C00BD3867 /* TrackTests.swift */, + F4BF866B2190DB3C00BD3867 /* SessionTests.swift */, + F4BF866D2190DB4A00BD3867 /* VideoTests.swift */, + F4BF866F2190DB5A00BD3867 /* VisitorTests.swift */, + B2C84B65220A03610018BC7B /* SamplerTests.swift */, + B205889E220CB72A00476E27 /* RequestBuilderTests.swift */, + B2FC40BF221CC43200C70806 /* MetadataTests.swift */, + AA73AAAE2242C1F10089BF1D /* ParselyTestCase.swift */, + 3FCAFC8B29E9775A00BC9360 /* UnitTests.xctestplan */, + ); + name = Tests; + path = ../Tests; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + F40D9A5920EFF74F0030525E /* ParselyDemo */ = { + isa = PBXNativeTarget; + buildConfigurationList = F40D9A7920EFF7500030525E /* Build configuration list for PBXNativeTarget "ParselyDemo" */; + buildPhases = ( + F40D9A5620EFF74F0030525E /* Sources */, + F40D9A5720EFF74F0030525E /* Frameworks */, + F40D9A5820EFF74F0030525E /* Resources */, + F43333AA20F0087E004BB6F5 /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = ParselyDemo; + packageProductDependencies = ( + 3F147F9629EF96EE00752DFB /* ParselyAnalytics */, + ); + productName = AnalyticsSDK; + productReference = F40D9A5A20EFF74F0030525E /* ParselyDemo.app */; + productType = "com.apple.product-type.application"; + }; + F433339520F0087E004BB6F5 /* ParselyTrackerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = F43333AB20F0087E004BB6F5 /* Build configuration list for PBXNativeTarget "ParselyTrackerTests" */; + buildPhases = ( + F433339220F0087E004BB6F5 /* Sources */, + F433339320F0087E004BB6F5 /* Frameworks */, + F433339420F0087E004BB6F5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 3FE2171929EF98AC00E34325 /* PBXTargetDependency */, + ); + name = ParselyTrackerTests; + packageProductDependencies = ( + 3F147F8E29EF8CA100752DFB /* Nimble */, + 3F147F9429EF965500752DFB /* ParselyAnalytics */, + ); + productName = ParselyTrackerTests; + productReference = F433339620F0087E004BB6F5 /* ParselyTrackerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + F40D9A5220EFF74F0030525E /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0900; + LastUpgradeCheck = 0940; + ORGANIZATIONNAME = Parse.ly; + TargetAttributes = { + F40D9A5920EFF74F0030525E = { + CreatedOnToolsVersion = 9.0; + LastSwiftMigration = ""; + ProvisioningStyle = Automatic; + SystemCapabilities = { + com.apple.DataProtection = { + enabled = 0; + }; + }; + }; + F433339520F0087E004BB6F5 = { + CreatedOnToolsVersion = 9.0; + LastSwiftMigration = ""; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = F40D9A5520EFF74F0030525E /* Build configuration list for PBXProject "ParselyDemo" */; + compatibilityVersion = "Xcode 8.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = F40D9A5120EFF74F0030525E; + packageReferences = ( + 3F147F8B29EF8C9800752DFB /* XCRemoteSwiftPackageReference "Nimble" */, + ); + productRefGroup = F40D9A5B20EFF74F0030525E /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + F40D9A5920EFF74F0030525E /* ParselyDemo */, + F433339520F0087E004BB6F5 /* ParselyTrackerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + F40D9A5820EFF74F0030525E /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F40D9A6A20EFF74F0030525E /* LaunchScreen.storyboard in Resources */, + F40D9A6720EFF74F0030525E /* Assets.xcassets in Resources */, + F40D9A6520EFF74F0030525E /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F433339420F0087E004BB6F5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + F40D9A5620EFF74F0030525E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F40D9A6220EFF74F0030525E /* SecondViewController.swift in Sources */, + F40D9A5E20EFF74F0030525E /* AppDelegate.swift in Sources */, + F40D9A6020EFF74F0030525E /* FirstViewController.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F433339220F0087E004BB6F5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B2FC40C0221CC43200C70806 /* MetadataTests.swift in Sources */, + F410D63121061D7800DB3EBE /* PixelTests.swift in Sources */, + F4BF866E2190DB4A00BD3867 /* VideoTests.swift in Sources */, + AA73AAAF2242C1F10089BF1D /* ParselyTestCase.swift in Sources */, + F441A55C20F3B8BF009B556E /* EventQueueTests.swift in Sources */, + F441A55E20F53A56009B556E /* EventTests.swift in Sources */, + B2C84B66220A03610018BC7B /* SamplerTests.swift in Sources */, + F4BF86682190DAFC00BD3867 /* EngagedTimeTests.swift in Sources */, + F433339E20F0087E004BB6F5 /* ParselyTrackerTests.swift in Sources */, + F4BF866C2190DB3C00BD3867 /* SessionTests.swift in Sources */, + 2A1F02DDE91E502E3B49AFAB /* StorageTests.swift in Sources */, + F4BF866A2190DB1C00BD3867 /* TrackTests.swift in Sources */, + F4BF86702190DB5A00BD3867 /* VisitorTests.swift in Sources */, + B205889F220CB72A00476E27 /* RequestBuilderTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 3FE2171929EF98AC00E34325 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F40D9A5920EFF74F0030525E /* ParselyDemo */; + targetProxy = 3FE2171829EF98AC00E34325 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + F40D9A6320EFF74F0030525E /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + F40D9A6420EFF74F0030525E /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + F40D9A6820EFF74F0030525E /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + F40D9A6920EFF74F0030525E /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + F40D9A7720EFF7500030525E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 10.1; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.2; + }; + name = Debug; + }; + F40D9A7820EFF7500030525E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 10.1; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.2; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + F40D9A7A20EFF7500030525E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = N3Z6SG5Z94; + INFOPLIST_FILE = ParselyDemo/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.parsely.ParselyDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + F40D9A7B20EFF7500030525E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = N3Z6SG5Z94; + INFOPLIST_FILE = ParselyDemo/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.parsely.ParselyDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + F43333A720F0087E004BB6F5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = N3Z6SG5Z94; + INFOPLIST_FILE = ../Tests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.15; + PRODUCT_BUNDLE_IDENTIFIER = com.parsely.ParselyTrackerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + F43333A820F0087E004BB6F5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = N3Z6SG5Z94; + INFOPLIST_FILE = ../Tests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.15; + PRODUCT_BUNDLE_IDENTIFIER = com.parsely.ParselyTrackerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + F40D9A5520EFF74F0030525E /* Build configuration list for PBXProject "ParselyDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F40D9A7720EFF7500030525E /* Debug */, + F40D9A7820EFF7500030525E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + F40D9A7920EFF7500030525E /* Build configuration list for PBXNativeTarget "ParselyDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F40D9A7A20EFF7500030525E /* Debug */, + F40D9A7B20EFF7500030525E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + F43333AB20F0087E004BB6F5 /* Build configuration list for PBXNativeTarget "ParselyTrackerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F43333A720F0087E004BB6F5 /* Debug */, + F43333A820F0087E004BB6F5 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 3F147F8B29EF8C9800752DFB /* XCRemoteSwiftPackageReference "Nimble" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/Quick/Nimble"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 12.0.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 3F147F8E29EF8CA100752DFB /* Nimble */ = { + isa = XCSwiftPackageProductDependency; + package = 3F147F8B29EF8C9800752DFB /* XCRemoteSwiftPackageReference "Nimble" */; + productName = Nimble; + }; + 3F147F9429EF965500752DFB /* ParselyAnalytics */ = { + isa = XCSwiftPackageProductDependency; + productName = ParselyAnalytics; + }; + 3F147F9629EF96EE00752DFB /* ParselyAnalytics */ = { + isa = XCSwiftPackageProductDependency; + productName = ParselyAnalytics; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = F40D9A5220EFF74F0030525E /* Project object */; +} diff --git a/ParselyDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Demo/ParselyDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 69% rename from ParselyDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to Demo/ParselyDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata index f005fa78..919434a6 100644 --- a/ParselyDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/Demo/ParselyDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:"> diff --git a/ParselyDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Demo/ParselyDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from ParselyDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to Demo/ParselyDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/Demo/ParselyDemo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Demo/ParselyDemo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 00000000..6d34078e --- /dev/null +++ b/Demo/ParselyDemo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,32 @@ +{ + "pins" : [ + { + "identity" : "cwlcatchexception", + "kind" : "remoteSourceControl", + "location" : "https://github.com/mattgallagher/CwlCatchException.git", + "state" : { + "revision" : "3b123999de19bf04905bc1dfdb76f817b0f2cc00", + "version" : "2.1.2" + } + }, + { + "identity" : "cwlpreconditiontesting", + "kind" : "remoteSourceControl", + "location" : "https://github.com/mattgallagher/CwlPreconditionTesting.git", + "state" : { + "revision" : "a23ded2c91df9156628a6996ab4f347526f17b6b", + "version" : "2.1.2" + } + }, + { + "identity" : "nimble", + "kind" : "remoteSourceControl", + "location" : "https://github.com/Quick/Nimble", + "state" : { + "revision" : "ecade0f20e58e55ba3e5f110b701dad88fd40170", + "version" : "12.0.0" + } + } + ], + "version" : 2 +} diff --git a/ParselyDemo.xcodeproj/xcshareddata/xcschemes/ParselyDemo.xcscheme b/Demo/ParselyDemo.xcodeproj/xcshareddata/xcschemes/ParselyDemo.xcscheme similarity index 98% rename from ParselyDemo.xcodeproj/xcshareddata/xcschemes/ParselyDemo.xcscheme rename to Demo/ParselyDemo.xcodeproj/xcshareddata/xcschemes/ParselyDemo.xcscheme index 613db042..b4b2fa0f 100644 --- a/ParselyDemo.xcodeproj/xcshareddata/xcschemes/ParselyDemo.xcscheme +++ b/Demo/ParselyDemo.xcodeproj/xcshareddata/xcschemes/ParselyDemo.xcscheme @@ -38,7 +38,7 @@ diff --git a/ParselyDemo.xcodeproj/xcshareddata/xcschemes/ParselyTracker.xcscheme b/Demo/ParselyDemo.xcodeproj/xcshareddata/xcschemes/ParselyTracker.xcscheme similarity index 100% rename from ParselyDemo.xcodeproj/xcshareddata/xcschemes/ParselyTracker.xcscheme rename to Demo/ParselyDemo.xcodeproj/xcshareddata/xcschemes/ParselyTracker.xcscheme diff --git a/ParselyDemo/AnalyticsSDK.entitlements b/Demo/ParselyDemo/AnalyticsSDK.entitlements similarity index 100% rename from ParselyDemo/AnalyticsSDK.entitlements rename to Demo/ParselyDemo/AnalyticsSDK.entitlements diff --git a/ParselyDemo/AppDelegate.swift b/Demo/ParselyDemo/AppDelegate.swift similarity index 96% rename from ParselyDemo/AppDelegate.swift rename to Demo/ParselyDemo/AppDelegate.swift index bda8bdc5..40465730 100644 --- a/ParselyDemo/AppDelegate.swift +++ b/Demo/ParselyDemo/AppDelegate.swift @@ -1,5 +1,5 @@ import UIKit -import ParselyTracker +import ParselyAnalytics @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { diff --git a/ParselyDemo/Assets.xcassets/AppIcon.appiconset/Contents.json b/Demo/ParselyDemo/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from ParselyDemo/Assets.xcassets/AppIcon.appiconset/Contents.json rename to Demo/ParselyDemo/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/ParselyDemo/Assets.xcassets/first.imageset/Contents.json b/Demo/ParselyDemo/Assets.xcassets/first.imageset/Contents.json similarity index 100% rename from ParselyDemo/Assets.xcassets/first.imageset/Contents.json rename to Demo/ParselyDemo/Assets.xcassets/first.imageset/Contents.json diff --git a/ParselyDemo/Assets.xcassets/first.imageset/first.pdf b/Demo/ParselyDemo/Assets.xcassets/first.imageset/first.pdf similarity index 100% rename from ParselyDemo/Assets.xcassets/first.imageset/first.pdf rename to Demo/ParselyDemo/Assets.xcassets/first.imageset/first.pdf diff --git a/ParselyDemo/Assets.xcassets/second.imageset/Contents.json b/Demo/ParselyDemo/Assets.xcassets/second.imageset/Contents.json similarity index 100% rename from ParselyDemo/Assets.xcassets/second.imageset/Contents.json rename to Demo/ParselyDemo/Assets.xcassets/second.imageset/Contents.json diff --git a/ParselyDemo/Assets.xcassets/second.imageset/second.pdf b/Demo/ParselyDemo/Assets.xcassets/second.imageset/second.pdf similarity index 100% rename from ParselyDemo/Assets.xcassets/second.imageset/second.pdf rename to Demo/ParselyDemo/Assets.xcassets/second.imageset/second.pdf diff --git a/ParselyDemo/Base.lproj/LaunchScreen.storyboard b/Demo/ParselyDemo/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from ParselyDemo/Base.lproj/LaunchScreen.storyboard rename to Demo/ParselyDemo/Base.lproj/LaunchScreen.storyboard diff --git a/ParselyDemo/Base.lproj/Main.storyboard b/Demo/ParselyDemo/Base.lproj/Main.storyboard similarity index 100% rename from ParselyDemo/Base.lproj/Main.storyboard rename to Demo/ParselyDemo/Base.lproj/Main.storyboard diff --git a/ParselyDemo/FirstViewController.swift b/Demo/ParselyDemo/FirstViewController.swift similarity index 98% rename from ParselyDemo/FirstViewController.swift rename to Demo/ParselyDemo/FirstViewController.swift index 9859e121..ef520bc4 100644 --- a/ParselyDemo/FirstViewController.swift +++ b/Demo/ParselyDemo/FirstViewController.swift @@ -1,6 +1,6 @@ import UIKit import os.log -import ParselyTracker +import ParselyAnalytics class FirstViewController: UIViewController { let delegate = UIApplication.shared.delegate as! AppDelegate diff --git a/ParselyDemo/Info.plist b/Demo/ParselyDemo/Info.plist similarity index 100% rename from ParselyDemo/Info.plist rename to Demo/ParselyDemo/Info.plist diff --git a/ParselyDemo/SecondViewController.swift b/Demo/ParselyDemo/SecondViewController.swift similarity index 100% rename from ParselyDemo/SecondViewController.swift rename to Demo/ParselyDemo/SecondViewController.swift diff --git a/Package.resolved b/Package.resolved new file mode 100644 index 00000000..d33ce7e8 --- /dev/null +++ b/Package.resolved @@ -0,0 +1,32 @@ +{ + "pins" : [ + { + "identity" : "cwlcatchexception", + "kind" : "remoteSourceControl", + "location" : "https://github.com/mattgallagher/CwlCatchException.git", + "state" : { + "revision" : "3b123999de19bf04905bc1dfdb76f817b0f2cc00", + "version" : "2.1.2" + } + }, + { + "identity" : "cwlpreconditiontesting", + "kind" : "remoteSourceControl", + "location" : "https://github.com/mattgallagher/CwlPreconditionTesting.git", + "state" : { + "revision" : "a23ded2c91df9156628a6996ab4f347526f17b6b", + "version" : "2.1.2" + } + }, + { + "identity" : "nimble", + "kind" : "remoteSourceControl", + "location" : "https://github.com/Quick/Nimble.git", + "state" : { + "revision" : "ecade0f20e58e55ba3e5f110b701dad88fd40170", + "version" : "12.0.0" + } + } + ], + "version" : 2 +} diff --git a/Package.swift b/Package.swift index d46ec43d..8f849af3 100644 --- a/Package.swift +++ b/Package.swift @@ -13,20 +13,22 @@ let package = Package( targets: ["ParselyAnalytics"] ), ], - dependencies: [], + dependencies: [ + .package(url: "https://github.com/Quick/Nimble.git", .upToNextMajor(from: "12.0.0")) + ], targets: [ .target( name: "ParselyAnalytics", dependencies: [], - path: "ParselyTracker", + path: "Sources", exclude: ["Info.plist"], resources: [] ), .testTarget( name: "ParselyTrackerTests", - dependencies: ["ParselyAnalytics"], - path: "ParselyTrackerTests", - exclude: ["Info.plist"] + dependencies: ["ParselyAnalytics", "Nimble"], + path: "Tests", + exclude: ["Info.plist", "UnitTests.xctestplan"] ) ] ) diff --git a/ParselyAnalytics.podspec b/ParselyAnalytics.podspec index fa35c5f1..a9f3d472 100644 --- a/ParselyAnalytics.podspec +++ b/ParselyAnalytics.podspec @@ -11,6 +11,10 @@ Pod::Spec.new do |s| s.ios.deployment_target = '13.0' s.tvos.deployment_target = '13.0' s.source = { git: 'https://github.com/Parsely/AnalyticsSDK-iOS.git', tag: s.version.to_s } - s.source_files = 'ParselyTracker' + s.source_files = 'Sources' s.framework = 'Foundation' + s.test_spec 'Tests' do |test_spec| + test_spec.source_files = 'Tests' + test_spec.dependency 'Nimble' + end end diff --git a/ParselyDemo.xcodeproj/project.pbxproj b/ParselyDemo.xcodeproj/project.pbxproj deleted file mode 100644 index f0da02a2..00000000 --- a/ParselyDemo.xcodeproj/project.pbxproj +++ /dev/null @@ -1,917 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 48; - objects = { - -/* Begin PBXBuildFile section */ - 2A1F02DDE91E502E3B49AFAB /* StorageTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A1F03819E4FAF1F979D5926 /* StorageTests.swift */; }; - 2A1F02E3BE1F9F969BD9C6E1 /* Storage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A1F0F92460A849C17B26338 /* Storage.swift */; }; - 2A1F05EB11D3A1B7EC5FB2C1 /* Storage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A1F0F92460A849C17B26338 /* Storage.swift */; }; - 2A1F0DF37B68B0886A0E6848 /* Storage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A1F0F92460A849C17B26338 /* Storage.swift */; }; - 412303BAD35C03905845036B /* Pods_Parsely_ParselyTracker.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2E14A66E8F1BB8BC158D4959 /* Pods_Parsely_ParselyTracker.framework */; }; - AA73AAAF2242C1F10089BF1D /* ParselyTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA73AAAE2242C1F10089BF1D /* ParselyTestCase.swift */; }; - AA7473DE224956A000C75436 /* ParselyAnalytics.podspec in Resources */ = {isa = PBXBuildFile; fileRef = AA7473DD224956A000C75436 /* ParselyAnalytics.podspec */; }; - AAEDC3272212161F00769350 /* HttpClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAEDC3262212161F00769350 /* HttpClient.swift */; }; - AAEDC32922123DD300769350 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = AAEDC32822123DD300769350 /* README.md */; }; - AAF629792216382800F59789 /* ParselyTracker.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AAEDC32A2212407700769350 /* ParselyTracker.framework */; }; - B205889D220CB67500476E27 /* RequestBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = B205889C220CB67500476E27 /* RequestBuilder.swift */; }; - B205889F220CB72A00476E27 /* RequestBuilderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B205889E220CB72A00476E27 /* RequestBuilderTests.swift */; }; - B2BC46FB2208D60A000B937A /* Track.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2BC46FA2208D60A000B937A /* Track.swift */; }; - B2C84B66220A03610018BC7B /* SamplerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2C84B65220A03610018BC7B /* SamplerTests.swift */; }; - B2FC40BE221CC42300C70806 /* Metadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2FC40BD221CC42300C70806 /* Metadata.swift */; }; - B2FC40C0221CC43200C70806 /* MetadataTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2FC40BF221CC43200C70806 /* MetadataTests.swift */; }; - DFD7BB483E787F03E5494A20 /* Pods_ParselyTrackerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A80C09D1CED0319E596DBEE /* Pods_ParselyTrackerTests.framework */; }; - F40D9A5E20EFF74F0030525E /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F40D9A5D20EFF74F0030525E /* AppDelegate.swift */; }; - F40D9A6020EFF74F0030525E /* FirstViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F40D9A5F20EFF74F0030525E /* FirstViewController.swift */; }; - F40D9A6220EFF74F0030525E /* SecondViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F40D9A6120EFF74F0030525E /* SecondViewController.swift */; }; - F40D9A6520EFF74F0030525E /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F40D9A6320EFF74F0030525E /* Main.storyboard */; }; - F40D9A6720EFF74F0030525E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F40D9A6620EFF74F0030525E /* Assets.xcassets */; }; - F40D9A6A20EFF74F0030525E /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F40D9A6820EFF74F0030525E /* LaunchScreen.storyboard */; }; - F410D63121061D7800DB3EBE /* PixelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F410D63021061D7800DB3EBE /* PixelTests.swift */; }; - F433339720F0087E004BB6F5 /* ParselyTracker.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F433338E20F0087E004BB6F5 /* ParselyTracker.framework */; }; - F433339E20F0087E004BB6F5 /* ParselyTrackerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F433339D20F0087E004BB6F5 /* ParselyTrackerTests.swift */; }; - F43333A420F0087E004BB6F5 /* ParselyTracker.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = F433338E20F0087E004BB6F5 /* ParselyTracker.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - F43333AC20F008B7004BB6F5 /* ParselyTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = F40D9A8020EFFADD0030525E /* ParselyTracker.swift */; }; - F43333B620F008EF004BB6F5 /* Session.swift in Sources */ = {isa = PBXBuildFile; fileRef = F43333AD20F008EE004BB6F5 /* Session.swift */; }; - F43333B720F008EF004BB6F5 /* Video.swift in Sources */ = {isa = PBXBuildFile; fileRef = F43333AE20F008EE004BB6F5 /* Video.swift */; }; - F43333B920F008EF004BB6F5 /* Sampler.swift in Sources */ = {isa = PBXBuildFile; fileRef = F43333B020F008EE004BB6F5 /* Sampler.swift */; }; - F43333BA20F008EF004BB6F5 /* EventQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = F43333B120F008EE004BB6F5 /* EventQueue.swift */; }; - F43333BB20F008EF004BB6F5 /* EngagedTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = F43333B220F008EF004BB6F5 /* EngagedTime.swift */; }; - F43333BC20F008EF004BB6F5 /* Pixel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F43333B320F008EF004BB6F5 /* Pixel.swift */; }; - F43333BD20F008EF004BB6F5 /* Visitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = F43333B420F008EF004BB6F5 /* Visitor.swift */; }; - F43333BE20F008EF004BB6F5 /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = F43333B520F008EF004BB6F5 /* Event.swift */; }; - F441A55C20F3B8BF009B556E /* EventQueueTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F441A55B20F3B8BF009B556E /* EventQueueTests.swift */; }; - F441A55E20F53A56009B556E /* EventTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F441A55D20F53A56009B556E /* EventTests.swift */; }; - F494BFB620FFDD5900025A4C /* Podfile in Resources */ = {isa = PBXBuildFile; fileRef = F494BFB520FFDD5900025A4C /* Podfile */; }; - F4BF86682190DAFC00BD3867 /* EngagedTimeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4BF86672190DAFC00BD3867 /* EngagedTimeTests.swift */; }; - F4BF866A2190DB1C00BD3867 /* TrackTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4BF86692190DB1C00BD3867 /* TrackTests.swift */; }; - F4BF866C2190DB3C00BD3867 /* SessionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4BF866B2190DB3C00BD3867 /* SessionTests.swift */; }; - F4BF866E2190DB4A00BD3867 /* VideoTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4BF866D2190DB4A00BD3867 /* VideoTests.swift */; }; - F4BF86702190DB5A00BD3867 /* VisitorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4BF866F2190DB5A00BD3867 /* VisitorTests.swift */; }; - FFAFE15752EDFF97939A720B /* Pods_Parsely_ParselyDemo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 14B4D2093AFB65E10D802394 /* Pods_Parsely_ParselyDemo.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - F433339820F0087E004BB6F5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = F40D9A5220EFF74F0030525E /* Project object */; - proxyType = 1; - remoteGlobalIDString = F433338D20F0087E004BB6F5; - remoteInfo = ParselyTracker; - }; - F433339A20F0087E004BB6F5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = F40D9A5220EFF74F0030525E /* Project object */; - proxyType = 1; - remoteGlobalIDString = F40D9A5920EFF74F0030525E; - remoteInfo = AnalyticsSDK; - }; - F43333A120F0087E004BB6F5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = F40D9A5220EFF74F0030525E /* Project object */; - proxyType = 1; - remoteGlobalIDString = F433338D20F0087E004BB6F5; - remoteInfo = ParselyTracker; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - F43333AA20F0087E004BB6F5 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - F43333A420F0087E004BB6F5 /* ParselyTracker.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 0512C3C37D1324FAF6BE71AD /* Pods-AnalyticsSDK.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AnalyticsSDK.debug.xcconfig"; path = "Pods/Target Support Files/Pods-AnalyticsSDK/Pods-AnalyticsSDK.debug.xcconfig"; sourceTree = ""; }; - 14B4D2093AFB65E10D802394 /* Pods_Parsely_ParselyDemo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Parsely_ParselyDemo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2A1F03819E4FAF1F979D5926 /* StorageTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StorageTests.swift; sourceTree = ""; }; - 2A1F0F92460A849C17B26338 /* Storage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Storage.swift; sourceTree = ""; }; - 2E14A66E8F1BB8BC158D4959 /* Pods_Parsely_ParselyTracker.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Parsely_ParselyTracker.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3A80C09D1CED0319E596DBEE /* Pods_ParselyTrackerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ParselyTrackerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3FCAFC8B29E9775A00BC9360 /* UnitTests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = UnitTests.xctestplan; sourceTree = ""; }; - 446CD722898871FC8DB4DE4D /* Pods-Parsely-ParselyTracker.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Parsely-ParselyTracker.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Parsely-ParselyTracker/Pods-Parsely-ParselyTracker.debug.xcconfig"; sourceTree = ""; }; - 491B2BC988D8B0335724A102 /* Pods-Parsely-ParselyDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Parsely-ParselyDemo.release.xcconfig"; path = "Pods/Target Support Files/Pods-Parsely-ParselyDemo/Pods-Parsely-ParselyDemo.release.xcconfig"; sourceTree = ""; }; - 510E83E973D358D695481B9E /* Pods_AnalyticsSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AnalyticsSDK.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 51F998D6A6A125B4106BDE73 /* Pods-Parsely-ParselyTracker.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Parsely-ParselyTracker.release.xcconfig"; path = "Pods/Target Support Files/Pods-Parsely-ParselyTracker/Pods-Parsely-ParselyTracker.release.xcconfig"; sourceTree = ""; }; - 57664AA65429314270E473DB /* Pods-Parsely-ParselyDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Parsely-ParselyDemo.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Parsely-ParselyDemo/Pods-Parsely-ParselyDemo.debug.xcconfig"; sourceTree = ""; }; - 6D623D570B7F71EFD9E46D24 /* Pods-ParselyTracker.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ParselyTracker.release.xcconfig"; path = "Pods/Target Support Files/Pods-ParselyTracker/Pods-ParselyTracker.release.xcconfig"; sourceTree = ""; }; - 8E611964813255DB16F1B8D3 /* Pods-ParselyDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ParselyDemo.release.xcconfig"; path = "Pods/Target Support Files/Pods-ParselyDemo/Pods-ParselyDemo.release.xcconfig"; sourceTree = ""; }; - 906991F0294DF786C982D060 /* Pods-ParselyDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ParselyDemo.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ParselyDemo/Pods-ParselyDemo.debug.xcconfig"; sourceTree = ""; }; - 9CD753A4903488F9E572497D /* Pods-AnalyticsSDKTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AnalyticsSDKTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-AnalyticsSDKTests/Pods-AnalyticsSDKTests.debug.xcconfig"; sourceTree = ""; }; - A07DD8B365F9DFAC828E58C2 /* Pods-ParselyTrackerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ParselyTrackerTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ParselyTrackerTests/Pods-ParselyTrackerTests.debug.xcconfig"; sourceTree = ""; }; - AA73AAAE2242C1F10089BF1D /* ParselyTestCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParselyTestCase.swift; sourceTree = ""; }; - AA7473DD224956A000C75436 /* ParselyAnalytics.podspec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ParselyAnalytics.podspec; sourceTree = ""; }; - AAEDC3262212161F00769350 /* HttpClient.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HttpClient.swift; sourceTree = ""; }; - AAEDC32822123DD300769350 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; - AAEDC32A2212407700769350 /* ParselyTracker.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ParselyTracker.framework; path = ../../../Downloads/ParselyTracker.framework; sourceTree = ""; }; - AB009DED9C4184290AB524B3 /* Pods-ParselyTracker.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ParselyTracker.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ParselyTracker/Pods-ParselyTracker.debug.xcconfig"; sourceTree = ""; }; - B205889C220CB67500476E27 /* RequestBuilder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RequestBuilder.swift; sourceTree = ""; }; - B205889E220CB72A00476E27 /* RequestBuilderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RequestBuilderTests.swift; sourceTree = ""; }; - B2BC46FA2208D60A000B937A /* Track.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Track.swift; sourceTree = ""; }; - B2C84B65220A03610018BC7B /* SamplerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SamplerTests.swift; sourceTree = ""; }; - B2FC40BD221CC42300C70806 /* Metadata.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Metadata.swift; sourceTree = ""; }; - B2FC40BF221CC43200C70806 /* MetadataTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MetadataTests.swift; sourceTree = ""; }; - C809B31A3D785C1DD2A05C4E /* Pods-AnalyticsSDKTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AnalyticsSDKTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-AnalyticsSDKTests/Pods-AnalyticsSDKTests.release.xcconfig"; sourceTree = ""; }; - F32771E2DD5F1A6A68B29BB2 /* Pods-AnalyticsSDK.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AnalyticsSDK.release.xcconfig"; path = "Pods/Target Support Files/Pods-AnalyticsSDK/Pods-AnalyticsSDK.release.xcconfig"; sourceTree = ""; }; - F40D9A5A20EFF74F0030525E /* ParselyDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ParselyDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; - F40D9A5D20EFF74F0030525E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - F40D9A5F20EFF74F0030525E /* FirstViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FirstViewController.swift; sourceTree = ""; }; - F40D9A6120EFF74F0030525E /* SecondViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecondViewController.swift; sourceTree = ""; }; - F40D9A6420EFF74F0030525E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - F40D9A6620EFF74F0030525E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - F40D9A6920EFF74F0030525E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - F40D9A6B20EFF7500030525E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - F40D9A7F20EFF7D70030525E /* AnalyticsSDK.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = AnalyticsSDK.entitlements; sourceTree = ""; }; - F40D9A8020EFFADD0030525E /* ParselyTracker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParselyTracker.swift; sourceTree = ""; }; - F410D63021061D7800DB3EBE /* PixelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PixelTests.swift; sourceTree = ""; }; - F433338E20F0087E004BB6F5 /* ParselyTracker.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ParselyTracker.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - F433339120F0087E004BB6F5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - F433339620F0087E004BB6F5 /* ParselyTrackerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ParselyTrackerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - F433339D20F0087E004BB6F5 /* ParselyTrackerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParselyTrackerTests.swift; sourceTree = ""; }; - F433339F20F0087E004BB6F5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - F43333AD20F008EE004BB6F5 /* Session.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Session.swift; sourceTree = ""; }; - F43333AE20F008EE004BB6F5 /* Video.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Video.swift; sourceTree = ""; }; - F43333B020F008EE004BB6F5 /* Sampler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Sampler.swift; sourceTree = ""; }; - F43333B120F008EE004BB6F5 /* EventQueue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventQueue.swift; sourceTree = ""; }; - F43333B220F008EF004BB6F5 /* EngagedTime.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EngagedTime.swift; sourceTree = ""; }; - F43333B320F008EF004BB6F5 /* Pixel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Pixel.swift; sourceTree = ""; }; - F43333B420F008EF004BB6F5 /* Visitor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Visitor.swift; sourceTree = ""; }; - F43333B520F008EF004BB6F5 /* Event.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Event.swift; sourceTree = ""; }; - F441A55B20F3B8BF009B556E /* EventQueueTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventQueueTests.swift; sourceTree = ""; }; - F441A55D20F53A56009B556E /* EventTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventTests.swift; sourceTree = ""; }; - F494BFB520FFDD5900025A4C /* Podfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Podfile; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - F4BF86672190DAFC00BD3867 /* EngagedTimeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EngagedTimeTests.swift; sourceTree = ""; }; - F4BF86692190DB1C00BD3867 /* TrackTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrackTests.swift; sourceTree = ""; }; - F4BF866B2190DB3C00BD3867 /* SessionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionTests.swift; sourceTree = ""; }; - F4BF866D2190DB4A00BD3867 /* VideoTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VideoTests.swift; sourceTree = ""; }; - F4BF866F2190DB5A00BD3867 /* VisitorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VisitorTests.swift; sourceTree = ""; }; - F641C3C76F714CE598D03837 /* Pods-ParselyTrackerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ParselyTrackerTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-ParselyTrackerTests/Pods-ParselyTrackerTests.release.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - F40D9A5720EFF74F0030525E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - AAF629792216382800F59789 /* ParselyTracker.framework in Frameworks */, - FFAFE15752EDFF97939A720B /* Pods_Parsely_ParselyDemo.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F433338A20F0087E004BB6F5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 412303BAD35C03905845036B /* Pods_Parsely_ParselyTracker.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F433339320F0087E004BB6F5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - F433339720F0087E004BB6F5 /* ParselyTracker.framework in Frameworks */, - DFD7BB483E787F03E5494A20 /* Pods_ParselyTrackerTests.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 18AECE06D2368AC7AC7D27B1 /* Pods */ = { - isa = PBXGroup; - children = ( - 0512C3C37D1324FAF6BE71AD /* Pods-AnalyticsSDK.debug.xcconfig */, - F32771E2DD5F1A6A68B29BB2 /* Pods-AnalyticsSDK.release.xcconfig */, - 9CD753A4903488F9E572497D /* Pods-AnalyticsSDKTests.debug.xcconfig */, - C809B31A3D785C1DD2A05C4E /* Pods-AnalyticsSDKTests.release.xcconfig */, - AB009DED9C4184290AB524B3 /* Pods-ParselyTracker.debug.xcconfig */, - 6D623D570B7F71EFD9E46D24 /* Pods-ParselyTracker.release.xcconfig */, - A07DD8B365F9DFAC828E58C2 /* Pods-ParselyTrackerTests.debug.xcconfig */, - F641C3C76F714CE598D03837 /* Pods-ParselyTrackerTests.release.xcconfig */, - 906991F0294DF786C982D060 /* Pods-ParselyDemo.debug.xcconfig */, - 8E611964813255DB16F1B8D3 /* Pods-ParselyDemo.release.xcconfig */, - 57664AA65429314270E473DB /* Pods-Parsely-ParselyDemo.debug.xcconfig */, - 491B2BC988D8B0335724A102 /* Pods-Parsely-ParselyDemo.release.xcconfig */, - 446CD722898871FC8DB4DE4D /* Pods-Parsely-ParselyTracker.debug.xcconfig */, - 51F998D6A6A125B4106BDE73 /* Pods-Parsely-ParselyTracker.release.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; - E6EFA5F61B38FE34B3DF5AD2 /* Frameworks */ = { - isa = PBXGroup; - children = ( - AAEDC32A2212407700769350 /* ParselyTracker.framework */, - 510E83E973D358D695481B9E /* Pods_AnalyticsSDK.framework */, - 3A80C09D1CED0319E596DBEE /* Pods_ParselyTrackerTests.framework */, - 14B4D2093AFB65E10D802394 /* Pods_Parsely_ParselyDemo.framework */, - 2E14A66E8F1BB8BC158D4959 /* Pods_Parsely_ParselyTracker.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - F40D9A5120EFF74F0030525E = { - isa = PBXGroup; - children = ( - AA7473DD224956A000C75436 /* ParselyAnalytics.podspec */, - AAEDC32822123DD300769350 /* README.md */, - F494BFB520FFDD5900025A4C /* Podfile */, - F40D9A5C20EFF74F0030525E /* ParselyDemo */, - F433338F20F0087E004BB6F5 /* ParselyTracker */, - F433339C20F0087E004BB6F5 /* ParselyTrackerTests */, - F40D9A5B20EFF74F0030525E /* Products */, - 18AECE06D2368AC7AC7D27B1 /* Pods */, - E6EFA5F61B38FE34B3DF5AD2 /* Frameworks */, - ); - sourceTree = ""; - }; - F40D9A5B20EFF74F0030525E /* Products */ = { - isa = PBXGroup; - children = ( - F40D9A5A20EFF74F0030525E /* ParselyDemo.app */, - F433338E20F0087E004BB6F5 /* ParselyTracker.framework */, - F433339620F0087E004BB6F5 /* ParselyTrackerTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - F40D9A5C20EFF74F0030525E /* ParselyDemo */ = { - isa = PBXGroup; - children = ( - F40D9A7F20EFF7D70030525E /* AnalyticsSDK.entitlements */, - F40D9A5D20EFF74F0030525E /* AppDelegate.swift */, - F40D9A5F20EFF74F0030525E /* FirstViewController.swift */, - F40D9A6120EFF74F0030525E /* SecondViewController.swift */, - F40D9A6320EFF74F0030525E /* Main.storyboard */, - F40D9A6620EFF74F0030525E /* Assets.xcassets */, - F40D9A6820EFF74F0030525E /* LaunchScreen.storyboard */, - F40D9A6B20EFF7500030525E /* Info.plist */, - ); - path = ParselyDemo; - sourceTree = ""; - }; - F433338F20F0087E004BB6F5 /* ParselyTracker */ = { - isa = PBXGroup; - children = ( - AAEDC3262212161F00769350 /* HttpClient.swift */, - F43333B220F008EF004BB6F5 /* EngagedTime.swift */, - F43333B120F008EE004BB6F5 /* EventQueue.swift */, - F43333B520F008EF004BB6F5 /* Event.swift */, - F43333B320F008EF004BB6F5 /* Pixel.swift */, - F43333B020F008EE004BB6F5 /* Sampler.swift */, - F43333AD20F008EE004BB6F5 /* Session.swift */, - F43333AE20F008EE004BB6F5 /* Video.swift */, - F43333B420F008EF004BB6F5 /* Visitor.swift */, - F40D9A8020EFFADD0030525E /* ParselyTracker.swift */, - F433339120F0087E004BB6F5 /* Info.plist */, - 2A1F0F92460A849C17B26338 /* Storage.swift */, - B2BC46FA2208D60A000B937A /* Track.swift */, - B205889C220CB67500476E27 /* RequestBuilder.swift */, - B2FC40BD221CC42300C70806 /* Metadata.swift */, - ); - path = ParselyTracker; - sourceTree = ""; - }; - F433339C20F0087E004BB6F5 /* ParselyTrackerTests */ = { - isa = PBXGroup; - children = ( - F433339D20F0087E004BB6F5 /* ParselyTrackerTests.swift */, - F433339F20F0087E004BB6F5 /* Info.plist */, - F441A55B20F3B8BF009B556E /* EventQueueTests.swift */, - F441A55D20F53A56009B556E /* EventTests.swift */, - F410D63021061D7800DB3EBE /* PixelTests.swift */, - 2A1F03819E4FAF1F979D5926 /* StorageTests.swift */, - F4BF86672190DAFC00BD3867 /* EngagedTimeTests.swift */, - F4BF86692190DB1C00BD3867 /* TrackTests.swift */, - F4BF866B2190DB3C00BD3867 /* SessionTests.swift */, - F4BF866D2190DB4A00BD3867 /* VideoTests.swift */, - F4BF866F2190DB5A00BD3867 /* VisitorTests.swift */, - B2C84B65220A03610018BC7B /* SamplerTests.swift */, - B205889E220CB72A00476E27 /* RequestBuilderTests.swift */, - B2FC40BF221CC43200C70806 /* MetadataTests.swift */, - AA73AAAE2242C1F10089BF1D /* ParselyTestCase.swift */, - 3FCAFC8B29E9775A00BC9360 /* UnitTests.xctestplan */, - ); - path = ParselyTrackerTests; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - F433338B20F0087E004BB6F5 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - F40D9A5920EFF74F0030525E /* ParselyDemo */ = { - isa = PBXNativeTarget; - buildConfigurationList = F40D9A7920EFF7500030525E /* Build configuration list for PBXNativeTarget "ParselyDemo" */; - buildPhases = ( - B2D8136DDB40E2E07902E28F /* [CP] Check Pods Manifest.lock */, - F40D9A5620EFF74F0030525E /* Sources */, - F40D9A5720EFF74F0030525E /* Frameworks */, - F40D9A5820EFF74F0030525E /* Resources */, - F43333AA20F0087E004BB6F5 /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - F43333A220F0087E004BB6F5 /* PBXTargetDependency */, - ); - name = ParselyDemo; - productName = AnalyticsSDK; - productReference = F40D9A5A20EFF74F0030525E /* ParselyDemo.app */; - productType = "com.apple.product-type.application"; - }; - F433338D20F0087E004BB6F5 /* ParselyTracker */ = { - isa = PBXNativeTarget; - buildConfigurationList = F43333A920F0087E004BB6F5 /* Build configuration list for PBXNativeTarget "ParselyTracker" */; - buildPhases = ( - DE28483D27F1BA2AA36E2A05 /* [CP] Check Pods Manifest.lock */, - F433338920F0087E004BB6F5 /* Sources */, - F433338A20F0087E004BB6F5 /* Frameworks */, - F433338B20F0087E004BB6F5 /* Headers */, - F433338C20F0087E004BB6F5 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = ParselyTracker; - productName = ParselyTracker; - productReference = F433338E20F0087E004BB6F5 /* ParselyTracker.framework */; - productType = "com.apple.product-type.framework"; - }; - F433339520F0087E004BB6F5 /* ParselyTrackerTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = F43333AB20F0087E004BB6F5 /* Build configuration list for PBXNativeTarget "ParselyTrackerTests" */; - buildPhases = ( - AAF24F042465B46CC0D7A05C /* [CP] Check Pods Manifest.lock */, - F433339220F0087E004BB6F5 /* Sources */, - F433339320F0087E004BB6F5 /* Frameworks */, - F433339420F0087E004BB6F5 /* Resources */, - 50A891132731B54A9972347D /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - F433339920F0087E004BB6F5 /* PBXTargetDependency */, - F433339B20F0087E004BB6F5 /* PBXTargetDependency */, - ); - name = ParselyTrackerTests; - productName = ParselyTrackerTests; - productReference = F433339620F0087E004BB6F5 /* ParselyTrackerTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - F40D9A5220EFF74F0030525E /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0900; - LastUpgradeCheck = 0940; - ORGANIZATIONNAME = Parse.ly; - TargetAttributes = { - F40D9A5920EFF74F0030525E = { - CreatedOnToolsVersion = 9.0; - LastSwiftMigration = ""; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.DataProtection = { - enabled = 0; - }; - }; - }; - F433338D20F0087E004BB6F5 = { - CreatedOnToolsVersion = 9.0; - LastSwiftMigration = ""; - ProvisioningStyle = Automatic; - }; - F433339520F0087E004BB6F5 = { - CreatedOnToolsVersion = 9.0; - LastSwiftMigration = ""; - ProvisioningStyle = Automatic; - TestTargetID = F40D9A5920EFF74F0030525E; - }; - }; - }; - buildConfigurationList = F40D9A5520EFF74F0030525E /* Build configuration list for PBXProject "ParselyDemo" */; - compatibilityVersion = "Xcode 8.0"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = F40D9A5120EFF74F0030525E; - productRefGroup = F40D9A5B20EFF74F0030525E /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - F40D9A5920EFF74F0030525E /* ParselyDemo */, - F433338D20F0087E004BB6F5 /* ParselyTracker */, - F433339520F0087E004BB6F5 /* ParselyTrackerTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - F40D9A5820EFF74F0030525E /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - F40D9A6A20EFF74F0030525E /* LaunchScreen.storyboard in Resources */, - F40D9A6720EFF74F0030525E /* Assets.xcassets in Resources */, - F494BFB620FFDD5900025A4C /* Podfile in Resources */, - F40D9A6520EFF74F0030525E /* Main.storyboard in Resources */, - AA7473DE224956A000C75436 /* ParselyAnalytics.podspec in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F433338C20F0087E004BB6F5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - AAEDC32922123DD300769350 /* README.md in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F433339420F0087E004BB6F5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 50A891132731B54A9972347D /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-ParselyTrackerTests/Pods-ParselyTrackerTests-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/Nimble/Nimble.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Nimble.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ParselyTrackerTests/Pods-ParselyTrackerTests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - AAF24F042465B46CC0D7A05C /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-ParselyTrackerTests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - B2D8136DDB40E2E07902E28F /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Parsely-ParselyDemo-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - DE28483D27F1BA2AA36E2A05 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Parsely-ParselyTracker-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - F40D9A5620EFF74F0030525E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - F40D9A6220EFF74F0030525E /* SecondViewController.swift in Sources */, - F40D9A5E20EFF74F0030525E /* AppDelegate.swift in Sources */, - F40D9A6020EFF74F0030525E /* FirstViewController.swift in Sources */, - 2A1F05EB11D3A1B7EC5FB2C1 /* Storage.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F433338920F0087E004BB6F5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - B2FC40BE221CC42300C70806 /* Metadata.swift in Sources */, - F43333BD20F008EF004BB6F5 /* Visitor.swift in Sources */, - F43333BC20F008EF004BB6F5 /* Pixel.swift in Sources */, - F43333B620F008EF004BB6F5 /* Session.swift in Sources */, - B205889D220CB67500476E27 /* RequestBuilder.swift in Sources */, - F43333AC20F008B7004BB6F5 /* ParselyTracker.swift in Sources */, - F43333BE20F008EF004BB6F5 /* Event.swift in Sources */, - F43333B720F008EF004BB6F5 /* Video.swift in Sources */, - AAEDC3272212161F00769350 /* HttpClient.swift in Sources */, - F43333BA20F008EF004BB6F5 /* EventQueue.swift in Sources */, - F43333BB20F008EF004BB6F5 /* EngagedTime.swift in Sources */, - F43333B920F008EF004BB6F5 /* Sampler.swift in Sources */, - 2A1F0DF37B68B0886A0E6848 /* Storage.swift in Sources */, - B2BC46FB2208D60A000B937A /* Track.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F433339220F0087E004BB6F5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - B2FC40C0221CC43200C70806 /* MetadataTests.swift in Sources */, - F410D63121061D7800DB3EBE /* PixelTests.swift in Sources */, - F4BF866E2190DB4A00BD3867 /* VideoTests.swift in Sources */, - AA73AAAF2242C1F10089BF1D /* ParselyTestCase.swift in Sources */, - F441A55C20F3B8BF009B556E /* EventQueueTests.swift in Sources */, - F441A55E20F53A56009B556E /* EventTests.swift in Sources */, - B2C84B66220A03610018BC7B /* SamplerTests.swift in Sources */, - F4BF86682190DAFC00BD3867 /* EngagedTimeTests.swift in Sources */, - F433339E20F0087E004BB6F5 /* ParselyTrackerTests.swift in Sources */, - 2A1F02E3BE1F9F969BD9C6E1 /* Storage.swift in Sources */, - F4BF866C2190DB3C00BD3867 /* SessionTests.swift in Sources */, - 2A1F02DDE91E502E3B49AFAB /* StorageTests.swift in Sources */, - F4BF866A2190DB1C00BD3867 /* TrackTests.swift in Sources */, - F4BF86702190DB5A00BD3867 /* VisitorTests.swift in Sources */, - B205889F220CB72A00476E27 /* RequestBuilderTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - F433339920F0087E004BB6F5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = F433338D20F0087E004BB6F5 /* ParselyTracker */; - targetProxy = F433339820F0087E004BB6F5 /* PBXContainerItemProxy */; - }; - F433339B20F0087E004BB6F5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = F40D9A5920EFF74F0030525E /* ParselyDemo */; - targetProxy = F433339A20F0087E004BB6F5 /* PBXContainerItemProxy */; - }; - F43333A220F0087E004BB6F5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = F433338D20F0087E004BB6F5 /* ParselyTracker */; - targetProxy = F43333A120F0087E004BB6F5 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - F40D9A6320EFF74F0030525E /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - F40D9A6420EFF74F0030525E /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - F40D9A6820EFF74F0030525E /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - F40D9A6920EFF74F0030525E /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - F40D9A7720EFF7500030525E /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.1; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - }; - name = Debug; - }; - F40D9A7820EFF7500030525E /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.1; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.2; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - F40D9A7A20EFF7500030525E /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 57664AA65429314270E473DB /* Pods-Parsely-ParselyDemo.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = N3Z6SG5Z94; - INFOPLIST_FILE = ParselyDemo/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.parsely.ParselyDemo; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - F40D9A7B20EFF7500030525E /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 491B2BC988D8B0335724A102 /* Pods-Parsely-ParselyDemo.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = N3Z6SG5Z94; - INFOPLIST_FILE = ParselyDemo/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.parsely.ParselyDemo; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - F43333A520F0087E004BB6F5 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 446CD722898871FC8DB4DE4D /* Pods-Parsely-ParselyTracker.debug.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = N3Z6SG5Z94; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = ParselyTracker/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.parsely.ParselyTracker; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - F43333A620F0087E004BB6F5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 51F998D6A6A125B4106BDE73 /* Pods-Parsely-ParselyTracker.release.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = N3Z6SG5Z94; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = ParselyTracker/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.parsely.ParselyTracker; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - F43333A720F0087E004BB6F5 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = A07DD8B365F9DFAC828E58C2 /* Pods-ParselyTrackerTests.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = N3Z6SG5Z94; - INFOPLIST_FILE = ParselyTrackerTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.15; - PRODUCT_BUNDLE_IDENTIFIER = com.parsely.ParselyTrackerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ParselyDemo.app/ParselyDemo"; - }; - name = Debug; - }; - F43333A820F0087E004BB6F5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = F641C3C76F714CE598D03837 /* Pods-ParselyTrackerTests.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = N3Z6SG5Z94; - INFOPLIST_FILE = ParselyTrackerTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.15; - PRODUCT_BUNDLE_IDENTIFIER = com.parsely.ParselyTrackerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ParselyDemo.app/ParselyDemo"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - F40D9A5520EFF74F0030525E /* Build configuration list for PBXProject "ParselyDemo" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - F40D9A7720EFF7500030525E /* Debug */, - F40D9A7820EFF7500030525E /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - F40D9A7920EFF7500030525E /* Build configuration list for PBXNativeTarget "ParselyDemo" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - F40D9A7A20EFF7500030525E /* Debug */, - F40D9A7B20EFF7500030525E /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - F43333A920F0087E004BB6F5 /* Build configuration list for PBXNativeTarget "ParselyTracker" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - F43333A520F0087E004BB6F5 /* Debug */, - F43333A620F0087E004BB6F5 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - F43333AB20F0087E004BB6F5 /* Build configuration list for PBXNativeTarget "ParselyTrackerTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - F43333A720F0087E004BB6F5 /* Debug */, - F43333A820F0087E004BB6F5 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = F40D9A5220EFF74F0030525E /* Project object */; -} diff --git a/ParselyDemo.xcworkspace/contents.xcworkspacedata b/ParselyDemo.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 05c2eaf5..00000000 --- a/ParselyDemo.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/ParselyDemo.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ParselyDemo.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/ParselyDemo.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Podfile b/Podfile deleted file mode 100644 index 5208448e..00000000 --- a/Podfile +++ /dev/null @@ -1,32 +0,0 @@ -# frozen_string_literal: true - -APP_IOS_DEPLOYMENT_TARGET = Gem::Version.new('13.0') - -platform :ios, APP_IOS_DEPLOYMENT_TARGET - -abstract_target 'Parsely' do - use_frameworks! - - target 'ParselyDemo' - - target 'ParselyTracker' do - target 'ParselyTrackerTests' do - inherit! :search_paths - pod 'Nimble' - end - end -end - -def make_pods_adopt_app_deployment_target(installer:, app_deployment_target:) - installer.pods_project.targets.each do |target| - target.build_configurations.each do |configuration| - delopyment_key = 'IPHONEOS_DEPLOYMENT_TARGET' - pod_deployment_target = Gem::Version.new(configuration.build_settings[delopyment_key]) - configuration.build_settings.delete(delopyment_key) if pod_deployment_target <= app_deployment_target - end - end -end - -post_install do |installer| - make_pods_adopt_app_deployment_target(installer: installer, app_deployment_target: APP_IOS_DEPLOYMENT_TARGET) -end diff --git a/Podfile.lock b/Podfile.lock deleted file mode 100644 index 22dcad23..00000000 --- a/Podfile.lock +++ /dev/null @@ -1,16 +0,0 @@ -PODS: - - Nimble (11.2.2) - -DEPENDENCIES: - - Nimble - -SPEC REPOS: - trunk: - - Nimble - -SPEC CHECKSUMS: - Nimble: 01a944d4d07eab73617dfd4b32ac9f7152ac34de - -PODFILE CHECKSUM: b40c4302d457171fe102ded4f89b9a4f72906a80 - -COCOAPODS: 1.12.0 diff --git a/ParselyTracker/EngagedTime.swift b/Sources/EngagedTime.swift similarity index 100% rename from ParselyTracker/EngagedTime.swift rename to Sources/EngagedTime.swift diff --git a/ParselyTracker/Event.swift b/Sources/Event.swift similarity index 100% rename from ParselyTracker/Event.swift rename to Sources/Event.swift diff --git a/ParselyTracker/EventQueue.swift b/Sources/EventQueue.swift similarity index 100% rename from ParselyTracker/EventQueue.swift rename to Sources/EventQueue.swift diff --git a/ParselyTracker/HttpClient.swift b/Sources/HttpClient.swift similarity index 100% rename from ParselyTracker/HttpClient.swift rename to Sources/HttpClient.swift diff --git a/ParselyTracker/Info.plist b/Sources/Info.plist similarity index 100% rename from ParselyTracker/Info.plist rename to Sources/Info.plist diff --git a/ParselyTracker/Metadata.swift b/Sources/Metadata.swift similarity index 100% rename from ParselyTracker/Metadata.swift rename to Sources/Metadata.swift diff --git a/ParselyTracker/ParselyTracker.swift b/Sources/ParselyTracker.swift similarity index 100% rename from ParselyTracker/ParselyTracker.swift rename to Sources/ParselyTracker.swift diff --git a/ParselyTracker/Pixel.swift b/Sources/Pixel.swift similarity index 100% rename from ParselyTracker/Pixel.swift rename to Sources/Pixel.swift diff --git a/ParselyTracker/RequestBuilder.swift b/Sources/RequestBuilder.swift similarity index 100% rename from ParselyTracker/RequestBuilder.swift rename to Sources/RequestBuilder.swift diff --git a/ParselyTracker/Sampler.swift b/Sources/Sampler.swift similarity index 100% rename from ParselyTracker/Sampler.swift rename to Sources/Sampler.swift diff --git a/ParselyTracker/Session.swift b/Sources/Session.swift similarity index 100% rename from ParselyTracker/Session.swift rename to Sources/Session.swift diff --git a/ParselyTracker/Storage.swift b/Sources/Storage.swift similarity index 100% rename from ParselyTracker/Storage.swift rename to Sources/Storage.swift diff --git a/ParselyTracker/Track.swift b/Sources/Track.swift similarity index 100% rename from ParselyTracker/Track.swift rename to Sources/Track.swift diff --git a/ParselyTracker/Video.swift b/Sources/Video.swift similarity index 100% rename from ParselyTracker/Video.swift rename to Sources/Video.swift diff --git a/ParselyTracker/Visitor.swift b/Sources/Visitor.swift similarity index 100% rename from ParselyTracker/Visitor.swift rename to Sources/Visitor.swift diff --git a/ParselyTrackerTests/EngagedTimeTests.swift b/Tests/EngagedTimeTests.swift similarity index 96% rename from ParselyTrackerTests/EngagedTimeTests.swift rename to Tests/EngagedTimeTests.swift index a28f9946..5316af80 100644 --- a/ParselyTrackerTests/EngagedTimeTests.swift +++ b/Tests/EngagedTimeTests.swift @@ -1,6 +1,6 @@ import XCTest import os.log -@testable import ParselyTracker +@testable import ParselyAnalytics class EngagedTimeTests: ParselyTestCase { var engagedTime: EngagedTime? @@ -68,6 +68,9 @@ class EngagedTimeTests: ParselyTestCase { func testGlobalPause() { + // This is call to configure required for the start-stop mechanism to work + sharedInstance?.configure(siteId: ParselyTestCase.testApikey) + let assertionTimeout:TimeInterval = TimeInterval(3) let acceptableDifference:TimeInterval = TimeInterval(0.2) diff --git a/ParselyTrackerTests/EventQueueTests.swift b/Tests/EventQueueTests.swift similarity index 95% rename from ParselyTrackerTests/EventQueueTests.swift rename to Tests/EventQueueTests.swift index 62f7bfe5..aec8d563 100644 --- a/ParselyTrackerTests/EventQueueTests.swift +++ b/Tests/EventQueueTests.swift @@ -1,8 +1,8 @@ import XCTest -@testable import ParselyTracker +@testable import ParselyAnalytics class EventQueueTests: ParselyTestCase { - var queue = ParselyTracker.EventQueue() + var queue = ParselyAnalytics.EventQueue() override func setUp() { super.setUp() diff --git a/ParselyTrackerTests/EventTests.swift b/Tests/EventTests.swift similarity index 99% rename from ParselyTrackerTests/EventTests.swift rename to Tests/EventTests.swift index 4fafcf05..01a70968 100644 --- a/ParselyTrackerTests/EventTests.swift +++ b/Tests/EventTests.swift @@ -1,5 +1,5 @@ import XCTest -@testable import ParselyTracker +@testable import ParselyAnalytics class EventTests: ParselyTestCase { let testInc: Int = 5 diff --git a/ParselyTrackerTests/Info.plist b/Tests/Info.plist similarity index 100% rename from ParselyTrackerTests/Info.plist rename to Tests/Info.plist diff --git a/ParselyTrackerTests/MetadataTests.swift b/Tests/MetadataTests.swift similarity index 99% rename from ParselyTrackerTests/MetadataTests.swift rename to Tests/MetadataTests.swift index 60f30643..83992363 100644 --- a/ParselyTrackerTests/MetadataTests.swift +++ b/Tests/MetadataTests.swift @@ -1,4 +1,4 @@ -@testable import ParselyTracker +@testable import ParselyAnalytics import XCTest class MetadataTests: ParselyTestCase { diff --git a/ParselyTrackerTests/ParselyTestCase.swift b/Tests/ParselyTestCase.swift similarity index 91% rename from ParselyTrackerTests/ParselyTestCase.swift rename to Tests/ParselyTestCase.swift index 0f60a811..9e569584 100644 --- a/ParselyTrackerTests/ParselyTestCase.swift +++ b/Tests/ParselyTestCase.swift @@ -1,5 +1,5 @@ import XCTest -@testable import ParselyTracker +@testable import ParselyAnalytics class ParselyTestCase: XCTestCase { internal var parselyTestTracker: Parsely! diff --git a/ParselyTrackerTests/ParselyTrackerTests.swift b/Tests/ParselyTrackerTests.swift similarity index 99% rename from ParselyTrackerTests/ParselyTrackerTests.swift rename to Tests/ParselyTrackerTests.swift index 4285b714..a689a968 100644 --- a/ParselyTrackerTests/ParselyTrackerTests.swift +++ b/Tests/ParselyTrackerTests.swift @@ -1,7 +1,7 @@ import XCTest import Nimble -@testable import ParselyTracker +@testable import ParselyAnalytics class ParselyTrackerTests: ParselyTestCase { let testUrl = "http://example.com/testurl" diff --git a/ParselyTrackerTests/PixelTests.swift b/Tests/PixelTests.swift similarity index 93% rename from ParselyTrackerTests/PixelTests.swift rename to Tests/PixelTests.swift index 7394260e..503c9744 100644 --- a/ParselyTrackerTests/PixelTests.swift +++ b/Tests/PixelTests.swift @@ -1,5 +1,5 @@ import XCTest -@testable import ParselyTracker +@testable import ParselyAnalytics class PixelTests: ParselyTestCase { func testBeacon() { diff --git a/ParselyTrackerTests/RequestBuilderTests.swift b/Tests/RequestBuilderTests.swift similarity index 91% rename from ParselyTrackerTests/RequestBuilderTests.swift rename to Tests/RequestBuilderTests.swift index f7d8973d..4f85883f 100644 --- a/ParselyTrackerTests/RequestBuilderTests.swift +++ b/Tests/RequestBuilderTests.swift @@ -1,4 +1,5 @@ -@testable import ParselyTracker +import Nimble +@testable import ParselyAnalytics import XCTest class RequestBuilderTests: ParselyTestCase { @@ -80,10 +81,10 @@ class RequestBuilderTests: ParselyTestCase { } func testGetUserAgent() { - let result = RequestBuilder.getUserAgent() - let expectedSubstring = "ParselyDemo/1.0 iOS" - XCTAssert(result.contains(expectedSubstring), - "The result of RequestBuilder.getUserAgent should accurately represent the simulator agent" - ) + // When the tests run without a host app, like in our setup, the generated User Agent will + // be in the format + // + // xctest/ iOS/ () + expect(RequestBuilder.getUserAgent()).to(match("xctest\\/\\d+\\.\\d+ iOS\\/\\d+\\.\\d+ (.*)")) } } diff --git a/ParselyTrackerTests/SamplerTests.swift b/Tests/SamplerTests.swift similarity index 99% rename from ParselyTrackerTests/SamplerTests.swift rename to Tests/SamplerTests.swift index 5c1e1b78..9f4d940a 100644 --- a/ParselyTrackerTests/SamplerTests.swift +++ b/Tests/SamplerTests.swift @@ -1,5 +1,5 @@ import XCTest -@testable import ParselyTracker +@testable import ParselyAnalytics class SamplerTests: ParselyTestCase { var samplerUnderTest: Sampler? diff --git a/ParselyTrackerTests/SessionTests.swift b/Tests/SessionTests.swift similarity index 99% rename from ParselyTrackerTests/SessionTests.swift rename to Tests/SessionTests.swift index fbabafd3..7e342d45 100644 --- a/ParselyTrackerTests/SessionTests.swift +++ b/Tests/SessionTests.swift @@ -1,5 +1,5 @@ import XCTest -@testable import ParselyTracker +@testable import ParselyAnalytics class SessionTests: ParselyTestCase { var sessions: SessionManager! diff --git a/ParselyTrackerTests/StorageTests.swift b/Tests/StorageTests.swift similarity index 99% rename from ParselyTrackerTests/StorageTests.swift rename to Tests/StorageTests.swift index 16773daa..170da0b8 100644 --- a/ParselyTrackerTests/StorageTests.swift +++ b/Tests/StorageTests.swift @@ -1,5 +1,5 @@ import XCTest -@testable import ParselyTracker +@testable import ParselyAnalytics class StorageTests: ParselyTestCase { var storage = Storage() diff --git a/ParselyTrackerTests/TrackTests.swift b/Tests/TrackTests.swift similarity index 99% rename from ParselyTrackerTests/TrackTests.swift rename to Tests/TrackTests.swift index 32203f88..360a347a 100644 --- a/ParselyTrackerTests/TrackTests.swift +++ b/Tests/TrackTests.swift @@ -1,5 +1,5 @@ import XCTest -@testable import ParselyTracker +@testable import ParselyAnalytics class TrackTests: ParselyTestCase { var track: Track? diff --git a/ParselyTrackerTests/UnitTests.xctestplan b/Tests/UnitTests.xctestplan similarity index 100% rename from ParselyTrackerTests/UnitTests.xctestplan rename to Tests/UnitTests.xctestplan diff --git a/ParselyTrackerTests/VideoTests.swift b/Tests/VideoTests.swift similarity index 99% rename from ParselyTrackerTests/VideoTests.swift rename to Tests/VideoTests.swift index e196e81c..bde0e468 100644 --- a/ParselyTrackerTests/VideoTests.swift +++ b/Tests/VideoTests.swift @@ -1,5 +1,5 @@ import XCTest -@testable import ParselyTracker +@testable import ParselyAnalytics class VideoTests: ParselyTestCase { let testVideoId: String = "videoId" diff --git a/ParselyTrackerTests/VisitorTests.swift b/Tests/VisitorTests.swift similarity index 98% rename from ParselyTrackerTests/VisitorTests.swift rename to Tests/VisitorTests.swift index 66c195dd..8e2714fd 100644 --- a/ParselyTrackerTests/VisitorTests.swift +++ b/Tests/VisitorTests.swift @@ -1,5 +1,5 @@ import XCTest -@testable import ParselyTracker +@testable import ParselyAnalytics class VisitorTests: ParselyTestCase { let visitors: VisitorManager = VisitorManager()