├── .github
└── workflows
│ └── build.yaml
├── .gitignore
├── Adjust.podspec
├── Adjust.xcodeproj
├── project.pbxproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── Adjust.xcscmblueprint
│ │ └── IDEWorkspaceChecks.plist
└── xcshareddata
│ └── xcschemes
│ ├── AdjustSdk.xcscheme
│ ├── AdjustSdkIm.xcscheme
│ ├── AdjustSdkTv.xcscheme
│ └── AdjustSdkWebBridge.xcscheme
├── Adjust
├── ADJAdRevenue.h
├── ADJAdRevenue.m
├── ADJAppStorePurchase.h
├── ADJAppStorePurchase.m
├── ADJAppStoreSubscription.h
├── ADJAppStoreSubscription.m
├── ADJAttribution.h
├── ADJAttribution.m
├── ADJConfig.h
├── ADJConfig.m
├── ADJDeeplink.h
├── ADJDeeplink.m
├── ADJEvent.h
├── ADJEvent.m
├── ADJEventFailure.h
├── ADJEventFailure.m
├── ADJEventSuccess.h
├── ADJEventSuccess.m
├── ADJLinkResolution.h
├── ADJLinkResolution.m
├── ADJLogger.h
├── ADJLogger.m
├── ADJPurchaseVerificationResult.h
├── ADJPurchaseVerificationResult.m
├── ADJSessionFailure.h
├── ADJSessionFailure.m
├── ADJSessionSuccess.h
├── ADJSessionSuccess.m
├── ADJStoreInfo.h
├── ADJStoreInfo.m
├── ADJThirdPartySharing.h
├── ADJThirdPartySharing.m
├── Adjust.h
├── Adjust.m
├── Internal
│ ├── ADJActivityHandler.h
│ ├── ADJActivityHandler.m
│ ├── ADJActivityKind.h
│ ├── ADJActivityKind.m
│ ├── ADJActivityPackage.h
│ ├── ADJActivityPackage.m
│ ├── ADJActivityState.h
│ ├── ADJActivityState.m
│ ├── ADJAdditions.h
│ ├── ADJAdditions.m
│ ├── ADJAdjustFactory.h
│ ├── ADJAdjustFactory.m
│ ├── ADJAttributionHandler.h
│ ├── ADJAttributionHandler.m
│ ├── ADJBackoffStrategy.h
│ ├── ADJBackoffStrategy.m
│ ├── ADJGlobalParameters.h
│ ├── ADJGlobalParameters.m
│ ├── ADJPackageBuilder.h
│ ├── ADJPackageBuilder.m
│ ├── ADJPackageHandler.h
│ ├── ADJPackageHandler.m
│ ├── ADJPackageParams.h
│ ├── ADJPackageParams.m
│ ├── ADJPurchaseVerificationHandler.h
│ ├── ADJPurchaseVerificationHandler.m
│ ├── ADJRequestHandler.h
│ ├── ADJRequestHandler.m
│ ├── ADJResponseData.h
│ ├── ADJResponseData.m
│ ├── ADJSKAdNetwork.h
│ ├── ADJSKAdNetwork.m
│ ├── ADJSdkClickHandler.h
│ ├── ADJSdkClickHandler.m
│ ├── ADJTimerCycle.h
│ ├── ADJTimerCycle.m
│ ├── ADJTimerOnce.h
│ ├── ADJTimerOnce.m
│ ├── ADJUrlStrategy.h
│ ├── ADJUrlStrategy.m
│ ├── ADJUserDefaults.h
│ ├── ADJUserDefaults.m
│ ├── ADJUtil.h
│ └── ADJUtil.m
├── PrivacyInfo.xcprivacy
└── include
│ └── AdjustSdk
│ ├── ADJAdRevenue.h
│ ├── ADJAppStorePurchase.h
│ ├── ADJAppStoreSubscription.h
│ ├── ADJAttribution.h
│ ├── ADJConfig.h
│ ├── ADJDeeplink.h
│ ├── ADJEvent.h
│ ├── ADJEventFailure.h
│ ├── ADJEventSuccess.h
│ ├── ADJLinkResolution.h
│ ├── ADJLogger.h
│ ├── ADJPurchaseVerificationResult.h
│ ├── ADJSessionFailure.h
│ ├── ADJSessionSuccess.h
│ ├── ADJStoreInfo.h
│ ├── ADJThirdPartySharing.h
│ ├── Adjust.h
│ └── AdjustSdk.h
├── AdjustBridge
├── AdjustBridge.h
├── AdjustBridge.m
├── AdjustBridgeConstants.h
├── AdjustBridgeConstants.m
├── AdjustBridgeRegister.h
├── AdjustBridgeRegister.m
├── AdjustBridgeUtil.h
├── AdjustBridgeUtil.m
└── include
│ └── AdjustWebBridge
│ ├── AdjustBridge.h
│ ├── AdjustBridgeConstants.h
│ ├── AdjustBridgeRegister.h
│ └── AdjustBridgeUtil.h
├── AdjustSignature
└── AdjustSigSdk.xcframework
│ ├── Info.plist
│ ├── _CodeSignature
│ ├── CodeDirectory
│ ├── CodeRequirements
│ ├── CodeRequirements-1
│ ├── CodeResources
│ └── CodeSignature
│ ├── ios-arm64
│ └── AdjustSigSdk.framework
│ │ ├── AdjustSigSdk
│ │ ├── Headers
│ │ └── ADJSigner.h
│ │ ├── Info.plist
│ │ ├── Modules
│ │ └── module.modulemap
│ │ └── PrivacyInfo.xcprivacy
│ ├── ios-arm64_x86_64-simulator
│ └── AdjustSigSdk.framework
│ │ ├── AdjustSigSdk
│ │ ├── Headers
│ │ └── ADJSigner.h
│ │ ├── Info.plist
│ │ ├── Modules
│ │ └── module.modulemap
│ │ └── PrivacyInfo.xcprivacy
│ ├── tvos-arm64
│ └── AdjustSigSdk.framework
│ │ ├── AdjustSigSdk
│ │ ├── Headers
│ │ └── ADJSigner.h
│ │ ├── Info.plist
│ │ ├── Modules
│ │ └── module.modulemap
│ │ └── PrivacyInfo.xcprivacy
│ └── tvos-arm64_x86_64-simulator
│ └── AdjustSigSdk.framework
│ ├── AdjustSigSdk
│ ├── Headers
│ └── ADJSigner.h
│ ├── Info.plist
│ ├── Modules
│ └── module.modulemap
│ └── PrivacyInfo.xcprivacy
├── AdjustTests
├── AdjustTestApp
│ ├── AdjustTestApp.xcodeproj
│ │ ├── project.pbxproj
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── AdjustTestApp.xcscheme
│ └── AdjustTestApp
│ │ ├── ATAAdjustCommandExecutor.h
│ │ ├── ATAAdjustCommandExecutor.m
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.m
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── LaunchImage.launchimage
│ │ │ ├── Contents.json
│ │ │ └── Default-568h@2x.png
│ │ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ │ ├── Delegates
│ │ ├── ATAAdjustDelegate.h
│ │ ├── ATAAdjustDelegate.m
│ │ ├── ATAAdjustDelegateAttribution.h
│ │ ├── ATAAdjustDelegateAttribution.m
│ │ ├── ATAAdjustDelegateDeferredDeeplink.h
│ │ ├── ATAAdjustDelegateDeferredDeeplink.m
│ │ ├── ATAAdjustDelegateEventFailure.h
│ │ ├── ATAAdjustDelegateEventFailure.m
│ │ ├── ATAAdjustDelegateEventSuccess.h
│ │ ├── ATAAdjustDelegateEventSuccess.m
│ │ ├── ATAAdjustDelegateSessionFailure.h
│ │ ├── ATAAdjustDelegateSessionFailure.m
│ │ ├── ATAAdjustDelegateSessionSuccess.h
│ │ ├── ATAAdjustDelegateSessionSuccess.m
│ │ ├── ATAAdjustDelegateSkan.h
│ │ └── ATAAdjustDelegateSkan.m
│ │ ├── Info.plist
│ │ ├── ViewController.h
│ │ ├── ViewController.m
│ │ └── main.m
├── AdjustTestLibrary
│ ├── AdjustTestLibrary.xcodeproj
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ └── AdjustTestLibrary
│ │ ├── ATLBlockingQueue.h
│ │ ├── ATLBlockingQueue.m
│ │ ├── ATLConstants.h
│ │ ├── ATLControlSignal.h
│ │ ├── ATLControlSignal.m
│ │ ├── ATLControlWebSocketClient.h
│ │ ├── ATLControlWebSocketClient.m
│ │ ├── ATLNetworking.h
│ │ ├── ATLNetworking.m
│ │ ├── ATLTestLibrary.h
│ │ ├── ATLTestLibrary.m
│ │ ├── ATLUtil.h
│ │ ├── ATLUtil.m
│ │ └── PocketSocket
│ │ ├── PSWebSocket.h
│ │ ├── PSWebSocket.m
│ │ ├── PSWebSocketBuffer.h
│ │ ├── PSWebSocketBuffer.m
│ │ ├── PSWebSocketDeflater.h
│ │ ├── PSWebSocketDeflater.m
│ │ ├── PSWebSocketDriver.h
│ │ ├── PSWebSocketDriver.m
│ │ ├── PSWebSocketInflater.h
│ │ ├── PSWebSocketInflater.m
│ │ ├── PSWebSocketInternal.h
│ │ ├── PSWebSocketNetworkThread.h
│ │ ├── PSWebSocketNetworkThread.m
│ │ ├── PSWebSocketServer.h
│ │ ├── PSWebSocketServer.m
│ │ ├── PSWebSocketTypes.h
│ │ ├── PSWebSocketUTF8Decoder.h
│ │ ├── PSWebSocketUTF8Decoder.m
│ │ └── PocketSocket-Prefix.pch
├── AdjustWebBridgeTestApp
│ ├── AdjustWebBridgeTestApp.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── AdjustWebBridgeTestApp.xcscheme
│ └── AdjustWebBridgeTestApp
│ │ ├── AdjustTestApp-WebView.html
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.m
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ │ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ ├── TestLibraryBridge.h
│ │ ├── TestLibraryBridge.js
│ │ ├── TestLibraryBridge.m
│ │ ├── WKWebViewController.h
│ │ ├── WKWebViewController.m
│ │ └── main.m
└── PocketSocket
│ ├── .gitignore
│ ├── LICENSE
│ ├── PSAutobahnClientTests
│ ├── PSAutobahnClientTests-Info.plist
│ ├── PSAutobahnClientTests-Prefix.pch
│ ├── PSAutobahnClientTests.m
│ ├── PSAutobahnClientWebSocketOperation.h
│ ├── PSAutobahnClientWebSocketOperation.m
│ └── en.lproj
│ │ └── InfoPlist.strings
│ ├── PSAutobahnServerTests
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
│ ├── PocketSocket.podspec
│ ├── PocketSocket.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ └── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── xcschemes
│ │ ├── PocketSocket-Mac.xcscheme
│ │ └── PocketSocket.xcscheme
│ ├── PocketSocket
│ ├── PSWebSocket.h
│ ├── PSWebSocket.m
│ ├── PSWebSocketBuffer.h
│ ├── PSWebSocketBuffer.m
│ ├── PSWebSocketDeflater.h
│ ├── PSWebSocketDeflater.m
│ ├── PSWebSocketDriver.h
│ ├── PSWebSocketDriver.m
│ ├── PSWebSocketInflater.h
│ ├── PSWebSocketInflater.m
│ ├── PSWebSocketInternal.h
│ ├── PSWebSocketNetworkThread.h
│ ├── PSWebSocketNetworkThread.m
│ ├── PSWebSocketServer.h
│ ├── PSWebSocketServer.m
│ ├── PSWebSocketTypes.h
│ ├── PSWebSocketUTF8Decoder.h
│ ├── PSWebSocketUTF8Decoder.m
│ └── PocketSocket-Prefix.pch
│ └── README.md
├── CHANGELOG.md
├── Carthage
├── AdjustSdk.json
├── AdjustSdkIm.json
└── AdjustSdkWebBridge.json
├── Info
└── Info.plist
├── LICENSE
├── ModuleMap
└── module.modulemap
├── Package.swift
├── README.md
├── UmbrellaHeaders
├── sdk
│ └── AdjustSdk.h
└── webbridge
│ └── AdjustSdk.h
├── VERSION
├── examples
├── AdjustExample-FbPixel
│ ├── AdjustExample-FbPixel.xcodeproj
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── AdjustExample-FbPixel
│ │ ├── AdjustExample-FbPixel.html
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.m
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── 100.png
│ │ │ ├── 1024.png
│ │ │ ├── 114.png
│ │ │ ├── 120.png
│ │ │ ├── 144.png
│ │ │ ├── 152.png
│ │ │ ├── 167.png
│ │ │ ├── 180.png
│ │ │ ├── 20.png
│ │ │ ├── 29.png
│ │ │ ├── 40.png
│ │ │ ├── 50.png
│ │ │ ├── 57.png
│ │ │ ├── 58.png
│ │ │ ├── 60.png
│ │ │ ├── 72.png
│ │ │ ├── 76.png
│ │ │ ├── 80.png
│ │ │ ├── 87.png
│ │ │ └── Contents.json
│ │ └── Contents.json
│ │ ├── Base.lproj
│ │ └── LaunchScreen.storyboard
│ │ ├── Info.plist
│ │ ├── Main.storyboard
│ │ ├── WKWebViewController.h
│ │ ├── WKWebViewController.m
│ │ └── main.m
├── AdjustExample-ObjC
│ ├── AdjustExample-ObjC.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── AdjustExample-ObjC.xcscheme
│ └── AdjustExample-ObjC
│ │ ├── AdjustExample-ObjC.entitlements
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.m
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── 100.png
│ │ │ ├── 1024.png
│ │ │ ├── 114.png
│ │ │ ├── 120.png
│ │ │ ├── 144.png
│ │ │ ├── 152.png
│ │ │ ├── 167.png
│ │ │ ├── 180.png
│ │ │ ├── 20.png
│ │ │ ├── 29.png
│ │ │ ├── 40.png
│ │ │ ├── 50.png
│ │ │ ├── 57.png
│ │ │ ├── 58.png
│ │ │ ├── 60.png
│ │ │ ├── 72.png
│ │ │ ├── 76.png
│ │ │ ├── 80.png
│ │ │ ├── 87.png
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ └── button_background.imageset
│ │ │ ├── Contents.json
│ │ │ ├── button_background.png
│ │ │ └── button_background@2x.png
│ │ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ │ ├── Constants.h
│ │ ├── Constants.m
│ │ ├── Info.plist
│ │ ├── ViewControllerObjC.h
│ │ ├── ViewControllerObjC.m
│ │ └── main.m
├── AdjustExample-Swift
│ ├── AdjustExample-Swift.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── AdjustExample-Swift.xcscheme
│ └── AdjustExample-Swift
│ │ ├── AdjustExample-Swift-Bridging-Header.h
│ │ ├── AdjustExample-Swift.entitlements
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── 100.png
│ │ │ ├── 1024.png
│ │ │ ├── 114.png
│ │ │ ├── 120.png
│ │ │ ├── 144.png
│ │ │ ├── 152.png
│ │ │ ├── 167.png
│ │ │ ├── 180.png
│ │ │ ├── 20.png
│ │ │ ├── 29.png
│ │ │ ├── 40.png
│ │ │ ├── 50.png
│ │ │ ├── 57.png
│ │ │ ├── 58.png
│ │ │ ├── 60.png
│ │ │ ├── 72.png
│ │ │ ├── 76.png
│ │ │ ├── 80.png
│ │ │ ├── 87.png
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ └── button_background.imageset
│ │ │ ├── Contents.json
│ │ │ ├── button_background.png
│ │ │ └── button_background@2x.png
│ │ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ └── ViewControllerSwift.swift
├── AdjustExample-WebView
│ ├── AdjustExample-WebView.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── AdjustExample-WebView.xcscheme
│ └── AdjustExample-WebView
│ │ ├── AdjustExample-WebView.html
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.m
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── 100.png
│ │ │ ├── 1024.png
│ │ │ ├── 114.png
│ │ │ ├── 120.png
│ │ │ ├── 144.png
│ │ │ ├── 152.png
│ │ │ ├── 167.png
│ │ │ ├── 180.png
│ │ │ ├── 20.png
│ │ │ ├── 29.png
│ │ │ ├── 40.png
│ │ │ ├── 50.png
│ │ │ ├── 57.png
│ │ │ ├── 58.png
│ │ │ ├── 60.png
│ │ │ ├── 72.png
│ │ │ ├── 76.png
│ │ │ ├── 80.png
│ │ │ ├── 87.png
│ │ │ └── Contents.json
│ │ └── Contents.json
│ │ ├── Default-568h@2x.png
│ │ ├── Info.plist
│ │ ├── WKWebViewController.h
│ │ ├── WKWebViewController.m
│ │ └── main.m
├── AdjustExample-iMessage
│ ├── AdjustExample-iMessage MessagesExtension
│ │ ├── Assets.xcassets
│ │ │ ├── Contents.json
│ │ │ └── iMessage App Icon.stickersiconset
│ │ │ │ └── Contents.json
│ │ ├── Base.lproj
│ │ │ └── MainInterface.storyboard
│ │ ├── Info.plist
│ │ ├── MessagesViewController.h
│ │ └── MessagesViewController.m
│ ├── AdjustExample-iMessage.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ ├── AdjustExample-iMessage MessagesExtension.xcscheme
│ │ │ └── AdjustExample-iMessage.xcscheme
│ └── AdjustExample-iMessage
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── 100.png
│ │ │ ├── 1024.png
│ │ │ ├── 114.png
│ │ │ ├── 120.png
│ │ │ ├── 144.png
│ │ │ ├── 152.png
│ │ │ ├── 167.png
│ │ │ ├── 180.png
│ │ │ ├── 20.png
│ │ │ ├── 29.png
│ │ │ ├── 40.png
│ │ │ ├── 50.png
│ │ │ ├── 57.png
│ │ │ ├── 58.png
│ │ │ ├── 60.png
│ │ │ ├── 72.png
│ │ │ ├── 76.png
│ │ │ ├── 80.png
│ │ │ ├── 87.png
│ │ │ └── Contents.json
│ │ └── Contents.json
│ │ └── Info.plist
├── AdjustExample-iWatch
│ ├── AdjustExample-iWatch WatchKit App
│ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ ├── 100.png
│ │ │ │ ├── 102.png
│ │ │ │ ├── 1024.png
│ │ │ │ ├── 172.png
│ │ │ │ ├── 196.png
│ │ │ │ ├── 216.png
│ │ │ │ ├── 234.png
│ │ │ │ ├── 48.png
│ │ │ │ ├── 55.png
│ │ │ │ ├── 58.png
│ │ │ │ ├── 66.png
│ │ │ │ ├── 80.png
│ │ │ │ ├── 87.png
│ │ │ │ ├── 88.png
│ │ │ │ ├── 92.png
│ │ │ │ └── Contents.json
│ │ │ └── Contents.json
│ │ ├── Base.lproj
│ │ │ └── Interface.storyboard
│ │ └── Info.plist
│ ├── AdjustExample-iWatch WatchKit Extension
│ │ ├── Assets.xcassets
│ │ │ └── README__ignoredByTemplate__
│ │ ├── EventTrackedController.h
│ │ ├── EventTrackedController.m
│ │ ├── ExtensionDelegate.h
│ │ ├── ExtensionDelegate.m
│ │ ├── Info.plist
│ │ ├── InterfaceController.h
│ │ ├── InterfaceController.m
│ │ ├── TableRowController.h
│ │ └── TableRowController.m
│ ├── AdjustExample-iWatch.xcodeproj
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── AdjustExample-iWatch
│ │ ├── AdjustLoggingHelper.h
│ │ ├── AdjustLoggingHelper.m
│ │ ├── AdjustTrackingHelper.h
│ │ ├── AdjustTrackingHelper.m
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.m
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── 100.png
│ │ │ ├── 1024.png
│ │ │ ├── 114.png
│ │ │ ├── 120.png
│ │ │ ├── 144.png
│ │ │ ├── 152.png
│ │ │ ├── 167.png
│ │ │ ├── 180.png
│ │ │ ├── 20.png
│ │ │ ├── 29.png
│ │ │ ├── 40.png
│ │ │ ├── 50.png
│ │ │ ├── 57.png
│ │ │ ├── 58.png
│ │ │ ├── 60.png
│ │ │ ├── 72.png
│ │ │ ├── 76.png
│ │ │ ├── 80.png
│ │ │ ├── 87.png
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ └── button_background.imageset
│ │ │ ├── Contents.json
│ │ │ ├── button_background.png
│ │ │ └── button_background@2x.png
│ │ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ ├── ViewControllerWatch.h
│ │ ├── ViewControllerWatch.m
│ │ └── main.m
└── AdjustExample-tvOS
│ ├── AdjustExample-tvOS.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
│ └── AdjustExample-tvOS
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ ├── App Icon & Top Shelf Image.brandassets
│ │ ├── App Icon - Large.imagestack
│ │ │ ├── Back.imagestacklayer
│ │ │ │ ├── Content.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Contents.json
│ │ │ ├── Contents.json
│ │ │ ├── Front.imagestacklayer
│ │ │ │ ├── Content.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Contents.json
│ │ │ └── Middle.imagestacklayer
│ │ │ │ ├── Content.imageset
│ │ │ │ └── Contents.json
│ │ │ │ └── Contents.json
│ │ ├── App Icon - Small.imagestack
│ │ │ ├── Back.imagestacklayer
│ │ │ │ ├── Content.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Contents.json
│ │ │ ├── Contents.json
│ │ │ ├── Front.imagestacklayer
│ │ │ │ ├── Content.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Contents.json
│ │ │ └── Middle.imagestacklayer
│ │ │ │ ├── Content.imageset
│ │ │ │ └── Contents.json
│ │ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ ├── Top Shelf Image Wide.imageset
│ │ │ └── Contents.json
│ │ └── Top Shelf Image.imageset
│ │ │ └── Contents.json
│ ├── Contents.json
│ └── LaunchImage.launchimage
│ │ └── Contents.json
│ ├── Base.lproj
│ └── Main.storyboard
│ ├── Constants.h
│ ├── Constants.m
│ ├── Info.plist
│ ├── ViewControllertvOS.h
│ ├── ViewControllertvOS.m
│ └── main.m
└── scripts
├── build.sh
├── build_definitions.sh
├── build_frameworks.sh
├── build_test_framework.sh
├── carthage_xcode.sh
├── dynamic_frameworks.sh
├── dynamic_xcframeworks.sh
├── static_frameworks.sh
└── static_xcframeworks.sh
/.gitignore:
--------------------------------------------------------------------------------
1 | # OS X
2 | .DS_Store
3 |
4 | # Xcode
5 | build/
6 | *.pbxuser
7 | !default.pbxuser
8 | *.mode1v3
9 | !default.mode1v3
10 | *.mode2v3
11 | !default.mode2v3
12 | *.perspectivev3
13 | !default.perspectivev3
14 | xcuserdata
15 | *.xccheckout
16 | profile
17 | *.moved-aside
18 | DerivedData
19 | *.hmap
20 | *.ipa
21 |
22 | # CocoaPods
23 | Pods
24 |
25 | # git files
26 | *.orig
27 |
28 | # Adjust
29 | frameworks
30 | sdk_distribution
31 |
32 | # Code style
33 | uncrustify.cfg
34 |
35 | #SPM
36 | .swiftpm/
37 | Package.resolved
38 |
--------------------------------------------------------------------------------
/Adjust.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Adjust.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Adjust/ADJAppStorePurchase.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJAppStorePurchase.h
3 | // Adjust
4 | //
5 | // Created by Uglješa Erceg (@uerceg) on May 25th 2023.
6 | // Copyright © 2023 Adjust. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface ADJAppStorePurchase : NSObject
14 |
15 | @property (nonatomic, copy, readonly, nonnull) NSString *transactionId;
16 |
17 | @property (nonatomic, copy, readonly, nonnull) NSString *productId;
18 |
19 | - (nullable id)initWithTransactionId:(nonnull NSString *)transactionId
20 | productId:(nonnull NSString *)productId;
21 |
22 | @end
23 |
24 | NS_ASSUME_NONNULL_END
25 |
--------------------------------------------------------------------------------
/Adjust/ADJAppStorePurchase.m:
--------------------------------------------------------------------------------
1 | //
2 | // ADJPurchase.m
3 | // Adjust
4 | //
5 | // Created by Uglješa Erceg (@uerceg) on May 25th 2023.
6 | // Copyright © 2023 Adjust. All rights reserved.
7 | //
8 |
9 | #import "ADJAppStorePurchase.h"
10 |
11 | @implementation ADJAppStorePurchase
12 |
13 | - (nullable id)initWithTransactionId:(NSString *)transactionId
14 | productId:(NSString *)productId {
15 | self = [super init];
16 | if (self == nil) {
17 | return nil;
18 | }
19 |
20 | _transactionId = [transactionId copy];
21 | _productId = [productId copy];
22 |
23 | return self;
24 | }
25 |
26 | - (id)copyWithZone:(NSZone *)zone {
27 | ADJAppStorePurchase *copy = [[[self class] allocWithZone:zone] init];
28 |
29 | if (copy) {
30 | copy->_transactionId = [self.transactionId copyWithZone:zone];
31 | copy->_productId = [self.productId copyWithZone:zone];
32 | }
33 |
34 | return copy;
35 | }
36 |
37 | @end
38 |
--------------------------------------------------------------------------------
/Adjust/ADJAppStoreSubscription.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJAppStoreSubscription.h
3 | // Adjust
4 | //
5 | // Created by Uglješa Erceg on 16.04.20.
6 | // Copyright © 2020 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ADJAppStoreSubscription : NSObject
12 |
13 | @property (nonatomic, copy, readonly, nonnull) NSDecimalNumber *price;
14 |
15 | @property (nonatomic, copy, readonly, nonnull) NSString *currency;
16 |
17 | @property (nonatomic, copy, readonly, nonnull) NSString *transactionId;
18 |
19 | @property (nonatomic, copy, readonly, nonnull) NSDate *transactionDate;
20 |
21 | @property (nonatomic, copy, readonly, nonnull) NSString *salesRegion;
22 |
23 | @property (nonatomic, copy, readonly, nonnull) NSDictionary *callbackParameters;
24 |
25 | @property (nonatomic, copy, readonly, nonnull) NSDictionary *partnerParameters;
26 |
27 | - (nullable id)initWithPrice:(nonnull NSDecimalNumber *)price
28 | currency:(nonnull NSString *)currency
29 | transactionId:(nonnull NSString *)transactionId;
30 |
31 | - (void)setTransactionDate:(nonnull NSDate *)transactionDate;
32 |
33 | - (void)setSalesRegion:(nonnull NSString *)salesRegion;
34 |
35 | - (void)addCallbackParameter:(nonnull NSString *)key value:(nonnull NSString *)value;
36 |
37 | - (void)addPartnerParameter:(nonnull NSString *)key value:(nonnull NSString *)value;
38 |
39 | @end
40 |
--------------------------------------------------------------------------------
/Adjust/ADJDeeplink.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJDeeplink.h
3 | // Adjust
4 | //
5 | // Created by Uglješa Erceg (@uerceg) on 18th July 2024.
6 | // Copyright © 2024-Present Adjust. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ADJDeeplink : NSObject
12 |
13 | /**
14 | * @brief Deeplink value.
15 | */
16 | @property (nonatomic, copy, readonly, nonnull) NSURL *deeplink;
17 |
18 | /**
19 | * @brief Referrer value.
20 | */
21 | @property (nonatomic, copy, readonly, nonnull) NSURL *referrer;
22 |
23 | /**
24 | * @brief Initializes a Deeplink object with the provided deeplink URL.
25 | *
26 | * @param deeplink The URL representing the deeplink.
27 | * @return An instance of ADJDeeplink, or nil if initialization fails.
28 | */
29 | - (nullable ADJDeeplink *)initWithDeeplink:(nonnull NSURL *)deeplink;
30 |
31 | /**
32 | * @brief Sets the referrer URL for the Deeplink object.
33 | *
34 | * @param referrer The URL that refers the user to the deeplink, typically from an organic search.
35 | */
36 | - (void)setReferrer:(nonnull NSURL *)referrer;
37 |
38 | @end
39 |
--------------------------------------------------------------------------------
/Adjust/ADJDeeplink.m:
--------------------------------------------------------------------------------
1 | //
2 | // ADJDeeplink.m
3 | // Adjust
4 | //
5 | // Created by Uglješa Erceg (@uerceg) on 18th July 2024.
6 | // Copyright © 2024-Present Adjust. All rights reserved.
7 | //
8 |
9 | #import "ADJDeeplink.h"
10 |
11 | @implementation ADJDeeplink
12 |
13 | - (id)initWithDeeplink:(NSURL *)deeplink {
14 | self = [super init];
15 | if (self == nil) {
16 | return nil;
17 | }
18 |
19 | _deeplink = [deeplink copy];
20 |
21 | return self;
22 | }
23 |
24 | - (void)setReferrer:(nonnull NSURL *)referrer {
25 | @synchronized (self) {
26 | _referrer = [referrer copy];
27 | }
28 | }
29 |
30 | @end
31 |
--------------------------------------------------------------------------------
/Adjust/ADJEventFailure.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJEventFailure.h
3 | // adjust
4 | //
5 | // Created by Pedro Filipe on 17/02/16.
6 | // Copyright © 2016 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ADJEventFailure : NSObject
12 |
13 | /**
14 | * @brief Message from the adjust backend.
15 | */
16 | @property (nonatomic, copy) NSString *message;
17 |
18 | /**
19 | * @brief Timestamp from the adjust backend.
20 | */
21 | @property (nonatomic, copy) NSString *timestamp;
22 |
23 | /**
24 | * @brief Adjust identifier of the device.
25 | */
26 | @property (nonatomic, copy) NSString *adid;
27 |
28 | /**
29 | * @brief Event token value.
30 | */
31 | @property (nonatomic, copy) NSString *eventToken;
32 |
33 | /**
34 | * @brief Event callback ID.
35 | */
36 | @property (nonatomic, copy) NSString *callbackId;
37 |
38 | /**
39 | * @brief Information whether sending of the package will be retried or not.
40 | */
41 | @property (nonatomic, assign) BOOL willRetry;
42 |
43 | /**
44 | * @brief Backend response in JSON format.
45 | */
46 | @property (nonatomic, strong) NSDictionary *jsonResponse;
47 |
48 | @end
49 |
--------------------------------------------------------------------------------
/Adjust/ADJEventSuccess.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJEventSuccess.h
3 | // adjust
4 | //
5 | // Created by Pedro Filipe on 17/02/16.
6 | // Copyright © 2016 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ADJEventSuccess : NSObject
12 |
13 | /**
14 | * @brief Message from the adjust backend.
15 | */
16 | @property (nonatomic, copy) NSString *message;
17 |
18 | /**
19 | * @brief Timestamp from the adjust backend.
20 | */
21 | @property (nonatomic, copy) NSString *timestamp;
22 |
23 | /**
24 | * @brief Adjust identifier of the device.
25 | */
26 | @property (nonatomic, copy) NSString *adid;
27 |
28 | /**
29 | * @brief Event token value.
30 | */
31 | @property (nonatomic, copy) NSString *eventToken;
32 |
33 | /**
34 | * @brief Event callback ID.
35 | */
36 | @property (nonatomic, copy) NSString *callbackId;
37 |
38 | /**
39 | * @brief Backend response in JSON format.
40 | */
41 | @property (nonatomic, strong) NSDictionary *jsonResponse;
42 |
43 | @end
44 |
--------------------------------------------------------------------------------
/Adjust/ADJLinkResolution.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJLinkResolution.h
3 | // Adjust
4 | //
5 | // Created by Pedro S. on 26.04.21.
6 | // Copyright © 2021 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ADJLinkResolution : NSObject
12 |
13 | + (void)resolveLinkWithUrl:(nonnull NSURL *)url
14 | resolveUrlSuffixArray:(nullable NSArray *)resolveUrlSuffixArray
15 | callback:(nonnull void (^)(NSURL *_Nullable resolvedLink))callback;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Adjust/ADJPurchaseVerificationResult.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJPurchaseVerificationResult.h
3 | // Adjust
4 | //
5 | // Created by Uglješa Erceg (@uerceg) on May 25th 2023.
6 | // Copyright © 2023 Adjust. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface ADJPurchaseVerificationResult : NSObject
14 |
15 | /**
16 | * @property message
17 | *
18 | * @brief Text message about current state of purchase verification.
19 | */
20 | @property (nonatomic, copy) NSString *message;
21 |
22 | /**
23 | * @property code
24 | *
25 | * @brief Response code returned from Adjust backend server.
26 | */
27 | @property (nonatomic, assign) int code;
28 |
29 | /**
30 | * @property verificationStatus
31 | *
32 | * @brief State of purchase verification (success / failure / unknown / not verified)
33 | */
34 | @property (nonatomic, copy) NSString *verificationStatus;
35 |
36 | @end
37 |
38 | NS_ASSUME_NONNULL_END
39 |
--------------------------------------------------------------------------------
/Adjust/ADJPurchaseVerificationResult.m:
--------------------------------------------------------------------------------
1 | //
2 | // ADJPurchaseVerificationResult.m
3 | // Adjust
4 | //
5 | // Created by Uglješa Erceg (@uerceg) on May 25th 2023.
6 | // Copyright © 2023 Adjust. All rights reserved.
7 | //
8 |
9 | #import "ADJPurchaseVerificationResult.h"
10 |
11 | @implementation ADJPurchaseVerificationResult
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Adjust/ADJSessionFailure.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJFailureResponseData.h
3 | // adjust
4 | //
5 | // Created by Pedro Filipe on 05/01/16.
6 | // Copyright © 2016 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ADJSessionFailure : NSObject
12 |
13 | /**
14 | * @brief Message from the adjust backend.
15 | */
16 | @property (nonatomic, copy, nullable) NSString *message;
17 |
18 | /**
19 | * @brief Timestamp from the adjust backend.
20 | */
21 | @property (nonatomic, copy, nullable) NSString *timestamp;
22 |
23 | /**
24 | * @brief Adjust identifier of the device.
25 | */
26 | @property (nonatomic, copy, nullable) NSString *adid;
27 |
28 | /**
29 | * @brief Information whether sending of the package will be retried or not.
30 | */
31 | @property (nonatomic, assign) BOOL willRetry;
32 |
33 | /**
34 | * @brief Backend response in JSON format.
35 | */
36 | @property (nonatomic, strong, nullable) NSDictionary *jsonResponse;
37 |
38 | @end
39 |
--------------------------------------------------------------------------------
/Adjust/ADJSessionFailure.m:
--------------------------------------------------------------------------------
1 | //
2 | // ADJFailureResponseData.m
3 | // adjust
4 | //
5 | // Created by Pedro Filipe on 05/01/16.
6 | // Copyright © 2016 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import "ADJSessionFailure.h"
10 |
11 | @implementation ADJSessionFailure
12 |
13 | #pragma mark - Object lifecycle methods
14 |
15 | - (id)init {
16 | self = [super init];
17 |
18 | if (self == nil) {
19 | return nil;
20 | }
21 |
22 | return self;
23 | }
24 |
25 | + (ADJSessionFailure *)sessionFailureResponseData {
26 | return [[ADJSessionFailure alloc] init];
27 | }
28 |
29 | #pragma mark - NSCopying protocol methods
30 |
31 | - (id)copyWithZone:(NSZone *)zone {
32 | ADJSessionFailure *copy = [[[self class] allocWithZone:zone] init];
33 |
34 | if (copy) {
35 | copy.message = [self.message copyWithZone:zone];
36 | copy.timestamp = [self.timestamp copyWithZone:zone];
37 | copy.adid = [self.adid copyWithZone:zone];
38 | copy.willRetry = self.willRetry;
39 | copy.jsonResponse = [self.jsonResponse copyWithZone:zone];
40 | }
41 |
42 | return copy;
43 | }
44 |
45 | #pragma mark - NSObject protocol methods
46 |
47 | - (NSString *)description {
48 | return [NSString stringWithFormat: @"Session Failure msg:%@ time:%@ adid:%@ retry:%@ json:%@",
49 | self.message,
50 | self.timestamp,
51 | self.adid,
52 | self.willRetry ? @"YES" : @"NO",
53 | self.jsonResponse];
54 | }
55 |
56 | @end
57 |
--------------------------------------------------------------------------------
/Adjust/ADJSessionSuccess.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJSuccessResponseData.h
3 | // adjust
4 | //
5 | // Created by Pedro Filipe on 05/01/16.
6 | // Copyright © 2016 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ADJSessionSuccess : NSObject
12 |
13 | /**
14 | * @brief Message from the adjust backend.
15 | */
16 | @property (nonatomic, copy, nullable) NSString *message;
17 |
18 | /**
19 | * @brief Timestamp from the adjust backend.
20 | */
21 | @property (nonatomic, copy, nullable) NSString *timestamp;
22 |
23 | /**
24 | * @brief Adjust identifier of the device.
25 | */
26 | @property (nonatomic, copy, nullable) NSString *adid;
27 |
28 | /**
29 | * @brief Backend response in JSON format.
30 | */
31 | @property (nonatomic, strong, nullable) NSDictionary *jsonResponse;
32 |
33 | @end
34 |
--------------------------------------------------------------------------------
/Adjust/ADJSessionSuccess.m:
--------------------------------------------------------------------------------
1 | //
2 | // ADJSuccessResponseData.m
3 | // adjust
4 | //
5 | // Created by Pedro Filipe on 05/01/16.
6 | // Copyright © 2016 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import "ADJSessionSuccess.h"
10 |
11 | @implementation ADJSessionSuccess
12 |
13 | #pragma mark - Public methods
14 |
15 | - (id)init {
16 | self = [super init];
17 |
18 | if (self == nil) {
19 | return nil;
20 | }
21 |
22 | return self;
23 | }
24 |
25 | + (ADJSessionSuccess *)sessionSuccessResponseData {
26 | return [[ADJSessionSuccess alloc] init];
27 | }
28 |
29 | #pragma mark - NSCopying protocol methods
30 |
31 | - (id)copyWithZone:(NSZone *)zone {
32 | ADJSessionSuccess *copy = [[[self class] allocWithZone:zone] init];
33 |
34 | if (copy) {
35 | copy.message = [self.message copyWithZone:zone];
36 | copy.timestamp = [self.timestamp copyWithZone:zone];
37 | copy.adid = [self.adid copyWithZone:zone];
38 | copy.jsonResponse = [self.jsonResponse copyWithZone:zone];
39 | }
40 |
41 | return copy;
42 | }
43 |
44 | #pragma mark - NSObject protocol methods
45 |
46 | - (NSString *)description {
47 | return [NSString stringWithFormat: @"Session Success msg:%@ time:%@ adid:%@ json:%@",
48 | self.message,
49 | self.timestamp,
50 | self.adid,
51 | self.jsonResponse];
52 | }
53 |
54 | @end
55 |
--------------------------------------------------------------------------------
/Adjust/ADJStoreInfo.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJStoreInfo.h
3 | // Adjust
4 | //
5 | // Created by Aditi Agrawal on 12/03/25.
6 | // Copyright © 2025 Adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ADJStoreInfo : NSObject
12 |
13 | /**
14 | * @brief StoreName.
15 | */
16 | @property (nonatomic, copy, readonly, nonnull) NSString *storeName;
17 |
18 | /**
19 | * @brief StoreAppId.
20 | */
21 | @property (nonatomic, copy, nonnull) NSString *storeAppId;
22 |
23 | /**
24 | * @brief Initializes a new instance of ADJStoreInfo with the given store name.
25 | *
26 | * @param storeName The name of the store.
27 | *
28 | * @return A newly-initialized ADJStoreInfo instance, or nil if initialization fails.
29 | */
30 | - (nullable id)initWithStoreName:(nonnull NSString *)storeName;
31 |
32 | /**
33 | * @brief Unavailable. Use initWithStoreName: instead.
34 | */
35 | - (nonnull id)init NS_UNAVAILABLE;
36 |
37 | @end
38 |
--------------------------------------------------------------------------------
/Adjust/ADJStoreInfo.m:
--------------------------------------------------------------------------------
1 | //
2 | // ADJStoreInfo.m
3 | // Adjust
4 | //
5 | // Created by Aditi Agrawal on 06/03/25.
6 | // Copyright © 2025 Adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import "ADJStoreInfo.h"
10 |
11 | @implementation ADJStoreInfo
12 |
13 | #pragma mark - Public methods
14 |
15 | - (nullable id)initWithStoreName:(nonnull NSString *)storeName {
16 | self = [super init];
17 | if (self == nil) {
18 | return nil;
19 | }
20 |
21 | _storeName = [storeName copy];
22 |
23 | return self;
24 | }
25 |
26 | - (void)setStoreAppId:(NSString *)storeAppId {
27 | @synchronized (self) {
28 | _storeAppId = [storeAppId copy];
29 | }
30 | }
31 |
32 | - (id)copyWithZone:(NSZone *)zone {
33 | ADJStoreInfo *copy = [[[self class] allocWithZone:zone] init];
34 |
35 | if (copy) {
36 | copy->_storeName = [self.storeName copyWithZone:zone];
37 | copy->_storeAppId = [self.storeAppId copyWithZone:zone];
38 | }
39 |
40 | return copy;
41 | }
42 |
43 | @end
44 |
--------------------------------------------------------------------------------
/Adjust/ADJThirdPartySharing.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJThirdPartySharing.h
3 | // AdjustSdk
4 | //
5 | // Created by Pedro S. on 02.12.20.
6 | // Copyright © 2020 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ADJThirdPartySharing : NSObject
12 |
13 | @property (nonatomic, nullable, readonly, strong) NSNumber *enabled;
14 |
15 | @property (nonatomic, nonnull, readonly, strong) NSMutableDictionary *granularOptions;
16 |
17 | @property (nonatomic, nonnull, readonly, strong) NSMutableDictionary *partnerSharingSettings;
18 |
19 | - (nullable id)initWithIsEnabled:(nullable NSNumber *)isEnabled;
20 |
21 | - (void)addGranularOption:(nonnull NSString *)partnerName
22 | key:(nonnull NSString *)key
23 | value:(nonnull NSString *)value;
24 |
25 | - (void)addPartnerSharingSetting:(nonnull NSString *)partnerName
26 | key:(nonnull NSString *)key
27 | value:(BOOL)value;
28 |
29 | @end
30 |
31 |
--------------------------------------------------------------------------------
/Adjust/Internal/ADJActivityKind.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJActivityKind.h
3 | // Adjust
4 | //
5 | // Created by Christian Wellenbrock on 11.02.14.
6 | // Copyright (c) 2014 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #ifndef NS_ENUM
12 | #define NS_ENUM(_type, _name) enum _name : _type _name; enum _name : _type
13 | #endif
14 |
15 | typedef NS_ENUM(int, ADJActivityKind) {
16 | ADJActivityKindUnknown = 0,
17 | ADJActivityKindSession = 1,
18 | ADJActivityKindEvent = 2,
19 | // ADJActivityKindRevenue = 3,
20 | ADJActivityKindClick = 4,
21 | ADJActivityKindAttribution = 5,
22 | ADJActivityKindInfo = 6,
23 | ADJActivityKindGdpr = 7,
24 | ADJActivityKindAdRevenue = 8,
25 | // ADJActivityKindDisableThirdPartySharing = 9,
26 | ADJActivityKindSubscription = 10,
27 | ADJActivityKindThirdPartySharing = 11,
28 | ADJActivityKindMeasurementConsent = 12,
29 | ADJActivityKindPurchaseVerification = 13
30 | };
31 |
32 | @interface ADJActivityKindUtil : NSObject
33 |
34 | + (NSString *)activityKindToString:(ADJActivityKind)activityKind;
35 |
36 | + (ADJActivityKind)activityKindFromString:(NSString *)activityKindString;
37 |
38 | @end
39 |
--------------------------------------------------------------------------------
/Adjust/Internal/ADJActivityPackage.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJActivityPackage.h
3 | // Adjust
4 | //
5 | // Created by Christian Wellenbrock on 2013-07-03.
6 | // Copyright (c) 2013 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import "ADJActivityKind.h"
10 | #import "ADJEvent.h"
11 |
12 | @interface ADJActivityPackage : NSObject
13 |
14 | // Data
15 |
16 | @property (nonatomic, copy) NSString *path;
17 |
18 | @property (nonatomic, copy) NSString *clientSdk;
19 |
20 | @property (nonatomic, strong) NSMutableDictionary *parameters;
21 |
22 | @property (nonatomic, strong) NSDictionary *partnerParameters;
23 |
24 | @property (nonatomic, strong) NSDictionary *callbackParameters;
25 |
26 | @property (nonatomic, copy) void (^purchaseVerificationCallback)(id);
27 |
28 | @property (nonatomic, strong) ADJEvent *event;
29 |
30 | @property (nonatomic, assign) NSUInteger errorCount;
31 |
32 | @property (nonatomic, copy) NSNumber *firstErrorCode;
33 |
34 | @property (nonatomic, copy) NSNumber *lastErrorCode;
35 |
36 | @property (nonatomic, assign) double waitBeforeSend;
37 |
38 | - (void)addError:(NSNumber *)errorCode;
39 |
40 | // Logs
41 |
42 | @property (nonatomic, copy) NSString *suffix;
43 |
44 | @property (nonatomic, assign) ADJActivityKind activityKind;
45 |
46 | - (NSString *)extendedString;
47 |
48 | - (NSString *)successMessage;
49 |
50 | - (NSString *)failureMessage;
51 |
52 | @end
53 |
--------------------------------------------------------------------------------
/Adjust/Internal/ADJAdditions.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJAdditions.h
3 | // Adjust
4 | //
5 | // Created by Uglješa Erceg (@uerceg) on 29th May 2024
6 | // Copyright © 2024 Adjust. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ADJAdditions : NSObject
12 |
13 | + (NSString *)adjJoin:(NSString *)strings, ...;
14 |
15 | + (NSString *)adjTrim:(NSString *)stringToTrim;
16 |
17 | + (NSString *)adjUrlEncode:(NSString *)stringToEncode;
18 |
19 | + (NSString *)adjUrlDecode:(NSString *)stringToDecode;
20 |
21 | + (NSString *)adjEncodeBase64:(NSData *)dataToEncode;
22 |
23 | + (BOOL)adjIsStringEqual:(NSString *)first toString:(NSString *)second;
24 |
25 | + (BOOL)adjIsNumberEqual:(NSNumber *)first toNumber:(NSNumber *)second;
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/Adjust/Internal/ADJAttributionHandler.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJAttributionHandler.h
3 | // adjust
4 | //
5 | // Created by Pedro Filipe on 29/10/14.
6 | // Copyright (c) 2014 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "ADJActivityHandler.h"
11 | #import "ADJActivityPackage.h"
12 | #import "ADJRequestHandler.h"
13 | #import "ADJUrlStrategy.h"
14 |
15 | @interface ADJAttributionHandler : NSObject
16 |
17 | - (id)initWithActivityHandler:(id) activityHandler
18 | startsSending:(BOOL)startsSending
19 | urlStrategy:(ADJUrlStrategy *)urlStrategy;
20 |
21 | - (void)checkSessionResponse:(ADJSessionResponseData *)sessionResponseData;
22 |
23 | - (void)checkSdkClickResponse:(ADJSdkClickResponseData *)sdkClickResponseData;
24 |
25 | - (void)checkAttributionResponse:(ADJAttributionResponseData *)attributionResponseData;
26 |
27 | - (void)getAttribution;
28 |
29 | - (void)pauseSending;
30 |
31 | - (void)resumeSending;
32 |
33 | - (void)teardown;
34 |
35 | @end
36 |
--------------------------------------------------------------------------------
/Adjust/Internal/ADJBackoffStrategy.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJBackoffStrategy.h
3 | // Adjust
4 | //
5 | // Created by Pedro Filipe on 20/04/16.
6 | // Copyright © 2016 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | typedef NS_ENUM(NSInteger, ADJBackoffStrategyType) {
12 | ADJLongWait = 0,
13 | ADJShortWait = 1,
14 | ADJTestWait = 2,
15 | ADJNoWait = 3,
16 | ADJNoRetry = 4
17 | };
18 |
19 | @interface ADJBackoffStrategy : NSObject
20 |
21 | @property (nonatomic, assign) double minRange;
22 |
23 | @property (nonatomic, assign) double maxRange;
24 |
25 | @property (nonatomic, assign) NSInteger minRetries;
26 |
27 | @property (nonatomic, assign) NSTimeInterval maxWait;
28 |
29 | @property (nonatomic, assign) NSTimeInterval secondMultiplier;
30 |
31 | - (id) initWithType:(ADJBackoffStrategyType)strategyType;
32 |
33 | + (ADJBackoffStrategy *)backoffStrategyWithType:(ADJBackoffStrategyType)strategyType;
34 |
35 | @end
36 |
--------------------------------------------------------------------------------
/Adjust/Internal/ADJGlobalParameters.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJGlobalParameters.h
3 | // Adjust
4 | //
5 | // Created by Pedro Filipe on 27/05/16.
6 | // Copyright © 2016 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ADJGlobalParameters : NSObject
12 |
13 | @property (nonatomic, strong) NSMutableDictionary* callbackParameters;
14 | @property (nonatomic, strong) NSMutableDictionary* partnerParameters;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/Adjust/Internal/ADJGlobalParameters.m:
--------------------------------------------------------------------------------
1 | //
2 | // ADJGlobalParameters.m
3 | // Adjust
4 | //
5 | // Created by Pedro Filipe on 27/05/16.
6 | // Copyright © 2016 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import "ADJGlobalParameters.h"
10 |
11 | @implementation ADJGlobalParameters
12 |
13 | - (id)initWithCoder:(NSCoder *)decoder {
14 | self = [super init];
15 |
16 | if (self == nil) {
17 | return nil;
18 | }
19 |
20 | return self;
21 | }
22 |
23 | #pragma mark - NSCopying
24 | - (id)copyWithZone:(NSZone *)zone {
25 |
26 | ADJGlobalParameters* copy = [[[self class] allocWithZone:zone] init];
27 | if (copy) {
28 | copy.callbackParameters = [self.callbackParameters copyWithZone:zone];
29 | copy.partnerParameters = [self.partnerParameters copyWithZone:zone];
30 | }
31 |
32 | return copy;
33 | }
34 |
35 | @end
36 |
--------------------------------------------------------------------------------
/Adjust/Internal/ADJPackageHandler.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJPackageHandler.h
3 | // Adjust
4 | //
5 | // Created by Christian Wellenbrock on 2013-07-03.
6 | // Copyright (c) 2013 adjust GmbH. All rights reserved.
7 | //
8 | #import
9 |
10 | #import "ADJActivityPackage.h"
11 | #import "ADJPackageHandler.h"
12 | #import "ADJActivityHandler.h"
13 | #import "ADJResponseData.h"
14 | #import "ADJGlobalParameters.h"
15 | #import "ADJRequestHandler.h"
16 | #import "ADJUrlStrategy.h"
17 |
18 | @interface ADJPackageHandler : NSObject
19 |
20 | - (id)initWithActivityHandler:(id)activityHandler
21 | startsSending:(BOOL)startsSending
22 | urlStrategy:(ADJUrlStrategy *)urlStrategy;
23 | //extraPath:(NSString *)extraPath;
24 |
25 | - (void)addPackage:(ADJActivityPackage *)package;
26 | - (void)sendFirstPackage;
27 | - (void)pauseSending;
28 | - (void)resumeSending;
29 | - (void)updatePackagesWithAttStatus:(int)attStatus;
30 | - (void)flush;
31 |
32 | - (void)teardown;
33 | + (void)deleteState;
34 |
35 | @end
36 |
--------------------------------------------------------------------------------
/Adjust/Internal/ADJPackageParams.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJPackageParams.h
3 | // Adjust SDK
4 | //
5 | // Created by Pedro Filipe (@nonelse) on 17th November 2014.
6 | // Copyright (c) 2014-2021 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ADJPackageParams : NSObject
12 |
13 | @property (nonatomic, copy) NSString *fbAnonymousId;
14 | @property (nonatomic, copy) NSString *idfv;
15 | @property (nonatomic, copy) NSString *clientSdk;
16 | @property (nonatomic, copy) NSString *bundleIdentifier;
17 | @property (nonatomic, copy) NSString *buildNumber;
18 | @property (nonatomic, copy) NSString *versionNumber;
19 | @property (nonatomic, copy) NSString *deviceType;
20 | @property (nonatomic, copy) NSString *deviceName;
21 | @property (nonatomic, copy) NSString *osName;
22 | @property (nonatomic, copy) NSString *osVersion;
23 | @property (nonatomic, copy) NSString *installedAt;
24 | @property (nonatomic, assign) NSUInteger startedAt;
25 | @property (nonatomic, copy) NSString *idfaCached;
26 |
27 | - (id)initWithSdkPrefix:(NSString *)sdkPrefix;
28 |
29 | + (ADJPackageParams *)packageParamsWithSdkPrefix:(NSString *)sdkPrefix;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Adjust/Internal/ADJPackageParams.m:
--------------------------------------------------------------------------------
1 | //
2 | // ADJPackageParams.m
3 | // Adjust SDK
4 | //
5 | // Created by Pedro Filipe (@nonelse) on 17th November 2014.
6 | // Copyright (c) 2014-2021 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #import "ADJPackageParams.h"
12 | #import "ADJUtil.h"
13 |
14 | @implementation ADJPackageParams
15 |
16 | + (ADJPackageParams *) packageParamsWithSdkPrefix:(NSString *)sdkPrefix {
17 | return [[ADJPackageParams alloc] initWithSdkPrefix:sdkPrefix];
18 | }
19 |
20 | - (id)initWithSdkPrefix:(NSString *)sdkPrefix {
21 | self = [super init];
22 | if (self == nil) {
23 | return nil;
24 | }
25 |
26 | self.osName = @"ios";
27 | self.idfv = [ADJUtil idfv];
28 | self.fbAnonymousId = [ADJUtil fbAnonymousId];
29 | self.bundleIdentifier = [ADJUtil bundleIdentifier];
30 | self.buildNumber = [ADJUtil buildNumber];
31 | self.versionNumber = [ADJUtil versionNumber];
32 | self.deviceType = [ADJUtil deviceType];
33 | self.deviceName = [ADJUtil deviceName];
34 | self.osVersion = [ADJUtil osVersion];
35 | self.installedAt = [ADJUtil installedAt];
36 | self.startedAt = [ADJUtil startedAt];
37 | if (sdkPrefix == nil) {
38 | self.clientSdk = ADJUtil.clientSdk;
39 | } else {
40 | self.clientSdk = [NSString stringWithFormat:@"%@@%@", sdkPrefix, ADJUtil.clientSdk];
41 | }
42 |
43 | return self;
44 | }
45 |
46 | @end
47 |
--------------------------------------------------------------------------------
/Adjust/Internal/ADJPurchaseVerificationHandler.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJPurchaseVerificationHandler.h
3 | // Adjust
4 | //
5 | // Created by Uglješa Erceg (@uerceg) on May 25th 2023.
6 | // Copyright © 2023 Adjust. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "ADJActivityPackage.h"
11 | #import "ADJActivityHandler.h"
12 | #import "ADJRequestHandler.h"
13 | #import "ADJUrlStrategy.h"
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @interface ADJPurchaseVerificationHandler : NSObject
18 |
19 | - (id)initWithActivityHandler:(id)activityHandler
20 | startsSending:(BOOL)startsSending
21 | urlStrategy:(ADJUrlStrategy *)urlStrategy;
22 | - (void)pauseSending;
23 | - (void)resumeSending;
24 | - (void)sendPurchaseVerificationPackage:(ADJActivityPackage *)purchaseVerificationPackage;
25 | - (void)updatePackagesWithAttStatus:(int)attStatus;
26 | - (void)teardown;
27 |
28 | @end
29 |
30 | NS_ASSUME_NONNULL_END
31 |
--------------------------------------------------------------------------------
/Adjust/Internal/ADJRequestHandler.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJRequestHandler.h
3 | // Adjust
4 | //
5 | // Created by Christian Wellenbrock on 2013-07-04.
6 | // Copyright (c) 2013 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "ADJActivityPackage.h"
11 | #import "ADJUrlStrategy.h"
12 |
13 | @protocol ADJResponseCallback
14 | - (void)responseCallback:(ADJResponseData *)responseData;
15 | @end
16 |
17 | @interface ADJRequestHandler : NSObject
18 |
19 | - (id)initWithResponseCallback:(id)responseCallback
20 | urlStrategy:(ADJUrlStrategy *)urlStrategy
21 | requestTimeout:(double)requestTimeout
22 | adjustConfiguration:(ADJConfig *)adjustConfig;
23 |
24 | - (void)sendPackageByPOST:(ADJActivityPackage *)activityPackage
25 | sendingParameters:(NSDictionary *)sendingParameters;
26 |
27 | - (void)sendPackageByGET:(ADJActivityPackage *)activityPackage
28 | sendingParameters:(NSDictionary *)sendingParameters;
29 |
30 | @end
31 |
--------------------------------------------------------------------------------
/Adjust/Internal/ADJSKAdNetwork.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJSKAdNetwork.h
3 | // Adjust
4 | //
5 | // Created by Uglješa Erceg (@uerceg) on 27th October 2022.
6 | // Copyright © 2022-Present Adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ADJSKAdNetwork : NSObject
12 |
13 | extern NSString * _Nonnull const ADJSkanSourceSdk;
14 | extern NSString * _Nonnull const ADJSkanSourceBackend;
15 | extern NSString * _Nonnull const ADJSkanSourceClient;
16 | extern NSString * _Nonnull const ADJSkanClientCallbackParamsKey;
17 | extern NSString * _Nonnull const ADJSkanClientCompletionErrorKey;
18 |
19 | + (nullable instancetype)getInstance;
20 |
21 | - (void)registerWithConversionValue:(nonnull NSNumber *)conversionValue
22 | coarseValue:(nonnull NSString *)coarseValue
23 | lockWindow:(nonnull NSNumber *)lockWindow
24 | withCompletionHandler:(void (^_Nonnull)(NSDictionary *_Nonnull result))completion;
25 |
26 | - (void)updateConversionValue:(nonnull NSNumber *)conversionValue
27 | coarseValue:(nullable NSString *)coarseValue
28 | lockWindow:(nullable NSNumber *)lockWindow
29 | source:(nonnull NSString *)source
30 | withCompletionHandler:(void (^_Nonnull)(NSDictionary *_Nonnull result))completion;
31 |
32 | - (NSDictionary * _Nullable)lastSkanUpdateData;
33 |
34 | @end
35 |
--------------------------------------------------------------------------------
/Adjust/Internal/ADJSdkClickHandler.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJSdkClickHandler.h
3 | // Adjust SDK
4 | //
5 | // Created by Pedro Filipe (@nonelse) on 21st April 2016.
6 | // Copyright © 2016 Adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "ADJActivityPackage.h"
11 | #import "ADJActivityHandler.h"
12 | #import "ADJRequestHandler.h"
13 | #import "ADJUrlStrategy.h"
14 |
15 | @interface ADJSdkClickHandler : NSObject
16 |
17 | - (id)initWithActivityHandler:(id)activityHandler
18 | startsSending:(BOOL)startsSending
19 | urlStrategy:(ADJUrlStrategy *)urlStrategy;
20 | - (void)pauseSending;
21 | - (void)resumeSending;
22 | - (void)sendSdkClick:(ADJActivityPackage *)sdkClickPackage;
23 | - (void)updatePackagesWithAttStatus:(int)attStatus;
24 | - (void)teardown;
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/Adjust/Internal/ADJTimerCycle.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJTimerCycle.h
3 | // adjust
4 | //
5 | // Created by Pedro Filipe on 03/06/15.
6 | // Copyright (c) 2015 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ADJTimerCycle : NSObject
12 |
13 | + (ADJTimerCycle *)timerWithBlock:(dispatch_block_t)block
14 | queue:(dispatch_queue_t)queue
15 | startTime:(NSTimeInterval)startTime
16 | intervalTime:(NSTimeInterval)intervalTime
17 | name:(NSString*)name;
18 |
19 | - (id)initBlock:(dispatch_block_t)block
20 | queue:(dispatch_queue_t)queue
21 | startTime:(NSTimeInterval)startTime
22 | intervalTime:(NSTimeInterval)intervalTime
23 | name:(NSString*)name;
24 |
25 | - (void)resume;
26 | - (void)suspend;
27 | - (void)cancel;
28 | @end
29 |
--------------------------------------------------------------------------------
/Adjust/Internal/ADJTimerOnce.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJTimerOnce.h
3 | // adjust
4 | //
5 | // Created by Pedro Filipe on 03/06/15.
6 | // Copyright (c) 2015 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 |
12 | @interface ADJTimerOnce : NSObject
13 |
14 | + (ADJTimerOnce *)timerWithBlock:(dispatch_block_t)block
15 | queue:(dispatch_queue_t)queue
16 | name:(NSString*)name;
17 |
18 | - (id)initBlock:(dispatch_block_t)block
19 | queue:(dispatch_queue_t)queue
20 | name:(NSString*)name;
21 |
22 | - (void)startIn:(NSTimeInterval)startIn;
23 | - (NSTimeInterval)fireIn;
24 | - (void)cancel;
25 | @end
26 |
--------------------------------------------------------------------------------
/Adjust/Internal/ADJUrlStrategy.h:
--------------------------------------------------------------------------------
1 | //
2 | // ADJUrlStrategy.h
3 | // Adjust
4 | //
5 | // Created by Pedro S. on 11.08.20.
6 | // Copyright © 2020 adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "ADJActivityKind.h"
11 |
12 | @interface ADJUrlStrategy : NSObject
13 |
14 | @property (nonatomic, readonly, copy) NSString *extraPath;
15 |
16 | - (instancetype)initWithUrlStrategyDomains:(NSArray *)domains
17 | extraPath:(NSString *)extraPath
18 | useSubdomains:(BOOL)useSubdomains;
19 |
20 | - (NSString *)urlForActivityKind:(ADJActivityKind)activityKind
21 | isConsentGiven:(BOOL)isConsentGiven
22 | withSendingParams:(NSMutableDictionary *)sendingParams;
23 |
24 | - (void)resetAfterSuccess;
25 |
26 | - (BOOL)shouldRetryAfterFailure:(ADJActivityKind)activityKind;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Adjust/include/AdjustSdk/ADJAdRevenue.h:
--------------------------------------------------------------------------------
1 | ../../ADJAdRevenue.h
--------------------------------------------------------------------------------
/Adjust/include/AdjustSdk/ADJAppStorePurchase.h:
--------------------------------------------------------------------------------
1 | ../../ADJAppStorePurchase.h
--------------------------------------------------------------------------------
/Adjust/include/AdjustSdk/ADJAppStoreSubscription.h:
--------------------------------------------------------------------------------
1 | ../../ADJAppStoreSubscription.h
--------------------------------------------------------------------------------
/Adjust/include/AdjustSdk/ADJAttribution.h:
--------------------------------------------------------------------------------
1 | ../../ADJAttribution.h
--------------------------------------------------------------------------------
/Adjust/include/AdjustSdk/ADJConfig.h:
--------------------------------------------------------------------------------
1 | ../../ADJConfig.h
--------------------------------------------------------------------------------
/Adjust/include/AdjustSdk/ADJDeeplink.h:
--------------------------------------------------------------------------------
1 | ../../ADJDeeplink.h
--------------------------------------------------------------------------------
/Adjust/include/AdjustSdk/ADJEvent.h:
--------------------------------------------------------------------------------
1 | ../../ADJEvent.h
--------------------------------------------------------------------------------
/Adjust/include/AdjustSdk/ADJEventFailure.h:
--------------------------------------------------------------------------------
1 | ../../ADJEventFailure.h
--------------------------------------------------------------------------------
/Adjust/include/AdjustSdk/ADJEventSuccess.h:
--------------------------------------------------------------------------------
1 | ../../ADJEventSuccess.h
--------------------------------------------------------------------------------
/Adjust/include/AdjustSdk/ADJLinkResolution.h:
--------------------------------------------------------------------------------
1 | ../../ADJLinkResolution.h
--------------------------------------------------------------------------------
/Adjust/include/AdjustSdk/ADJLogger.h:
--------------------------------------------------------------------------------
1 | ../../ADJLogger.h
--------------------------------------------------------------------------------
/Adjust/include/AdjustSdk/ADJPurchaseVerificationResult.h:
--------------------------------------------------------------------------------
1 | ../../ADJPurchaseVerificationResult.h
--------------------------------------------------------------------------------
/Adjust/include/AdjustSdk/ADJSessionFailure.h:
--------------------------------------------------------------------------------
1 | ../../ADJSessionFailure.h
--------------------------------------------------------------------------------
/Adjust/include/AdjustSdk/ADJSessionSuccess.h:
--------------------------------------------------------------------------------
1 | ../../ADJSessionSuccess.h
--------------------------------------------------------------------------------
/Adjust/include/AdjustSdk/ADJStoreInfo.h:
--------------------------------------------------------------------------------
1 | ../../ADJStoreInfo.h
--------------------------------------------------------------------------------
/Adjust/include/AdjustSdk/ADJThirdPartySharing.h:
--------------------------------------------------------------------------------
1 | ../../ADJThirdPartySharing.h
--------------------------------------------------------------------------------
/Adjust/include/AdjustSdk/Adjust.h:
--------------------------------------------------------------------------------
1 | ../../Adjust.h
--------------------------------------------------------------------------------
/Adjust/include/AdjustSdk/AdjustSdk.h:
--------------------------------------------------------------------------------
1 | ../../../UmbrellaHeaders/sdk/AdjustSdk.h
--------------------------------------------------------------------------------
/AdjustBridge/AdjustBridge.h:
--------------------------------------------------------------------------------
1 | //
2 | // AdjustBridge.h
3 | // Adjust
4 | //
5 | // Created by Pedro Filipe (@nonelse) on 27th April 2016.
6 | // Copyright © 2016-Present Adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @interface AdjustBridge : NSObject
13 |
14 | - (void)loadWKWebViewBridge:(WKWebView *_Nonnull)wkWebView;
15 | - (void)augmentHybridWebView;
16 |
17 | @property (strong, nonatomic) WKWebView * _Nonnull wkWebView;
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/AdjustBridge/AdjustBridgeRegister.h:
--------------------------------------------------------------------------------
1 | //
2 | // AdjustBridgeRegister.h
3 | // Adjust
4 | //
5 | // Created by Pedro Filipe (@nonelse) on 27th April 2016.
6 | // Copyright © 2016-Present Adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface AdjustBridgeRegister : NSObject
14 |
15 | + (NSString *)AdjustBridge_js;
16 | + (void)augmentHybridWebView:(NSString *)fbAppId;
17 |
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/AdjustBridge/AdjustBridgeUtil.h:
--------------------------------------------------------------------------------
1 | //
2 | // AdjustBridgeUtil.h
3 | // Adjust
4 | //
5 | // Created by Aditi Agrawal on 29/07/24.
6 | // Copyright © 2024-Present Adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface AdjustBridgeUtil : NSObject
14 |
15 | #pragma mark - Private & helper methods
16 |
17 | + (BOOL)isFieldValid:(NSObject *)field;
18 | + (void)launchInMainThread:(dispatch_block_t)block;
19 | + (NSDictionary *)getTestOptions:(id)data;
20 | + (NSString *)convertJsonDictionaryToNSString:(NSDictionary *)jsonDictionary;
21 | + (NSString *)serializeData:(id)data;
22 |
23 | @end
24 |
25 | NS_ASSUME_NONNULL_END
26 |
--------------------------------------------------------------------------------
/AdjustBridge/include/AdjustWebBridge/AdjustBridge.h:
--------------------------------------------------------------------------------
1 | ../../AdjustBridge.h
--------------------------------------------------------------------------------
/AdjustBridge/include/AdjustWebBridge/AdjustBridgeConstants.h:
--------------------------------------------------------------------------------
1 | ../../AdjustBridgeConstants.h
--------------------------------------------------------------------------------
/AdjustBridge/include/AdjustWebBridge/AdjustBridgeRegister.h:
--------------------------------------------------------------------------------
1 | ../../AdjustBridgeRegister.h
--------------------------------------------------------------------------------
/AdjustBridge/include/AdjustWebBridge/AdjustBridgeUtil.h:
--------------------------------------------------------------------------------
1 | ../../AdjustBridgeUtil.h
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/_CodeSignature/CodeDirectory:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adjust/ios_sdk/256ed60dfe492686ab2dfe5bdde01361739f18bc/AdjustSignature/AdjustSigSdk.xcframework/_CodeSignature/CodeDirectory
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/_CodeSignature/CodeRequirements:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adjust/ios_sdk/256ed60dfe492686ab2dfe5bdde01361739f18bc/AdjustSignature/AdjustSigSdk.xcframework/_CodeSignature/CodeRequirements
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/_CodeSignature/CodeRequirements-1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adjust/ios_sdk/256ed60dfe492686ab2dfe5bdde01361739f18bc/AdjustSignature/AdjustSigSdk.xcframework/_CodeSignature/CodeRequirements-1
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/_CodeSignature/CodeSignature:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adjust/ios_sdk/256ed60dfe492686ab2dfe5bdde01361739f18bc/AdjustSignature/AdjustSigSdk.xcframework/_CodeSignature/CodeSignature
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/ios-arm64/AdjustSigSdk.framework/AdjustSigSdk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adjust/ios_sdk/256ed60dfe492686ab2dfe5bdde01361739f18bc/AdjustSignature/AdjustSigSdk.xcframework/ios-arm64/AdjustSigSdk.framework/AdjustSigSdk
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/ios-arm64/AdjustSigSdk.framework/Headers/ADJSigner.h:
--------------------------------------------------------------------------------
1 | //
2 | // Adjust
3 | //
4 | // Created by Abdullah Joseph on 17.04.19
5 | // Copyright © 2019 adjust GmbH. All rights reserved.
6 | //
7 |
8 | #ifndef ADJSigner_h
9 | #define ADJSigner_h
10 |
11 | #import
12 |
13 | @interface ADJSigner : NSObject
14 |
15 | +(nonnull NSString *)getVersion;
16 |
17 | + (void)sign:(nonnull NSMutableDictionary *)packageDict
18 | withActivityKind:(nonnull const char *)activityKind
19 | withSdkVersion:(nonnull const char *)sdkVersion;
20 |
21 | + (void)sign:(nonnull NSDictionary *)packageParamsDict
22 | withExtraParams:(nonnull NSDictionary *)extraParamsDict
23 | withOutputParams:(nonnull NSMutableDictionary *)outputParamsDict;
24 |
25 | @end
26 |
27 | // Trampoline from C to ObjC
28 | void _ADJSigner_sign(size_t argc, void **args);
29 |
30 | #endif /* ADJSigner_h */
31 |
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/ios-arm64/AdjustSigSdk.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adjust/ios_sdk/256ed60dfe492686ab2dfe5bdde01361739f18bc/AdjustSignature/AdjustSigSdk.xcframework/ios-arm64/AdjustSigSdk.framework/Info.plist
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/ios-arm64/AdjustSigSdk.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module AdjustSigSdk {
2 | umbrella header "ADJSigner.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/ios-arm64/AdjustSigSdk.framework/PrivacyInfo.xcprivacy:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSPrivacyTracking
6 |
7 | NSPrivacyTrackingDomains
8 |
9 |
10 | NSPrivacyCollectedDataTypes
11 |
12 |
13 | NSPrivacyCollectedDataType
14 | NSPrivacyCollectedDataTypeOtherDiagnosticData
15 | NSPrivacyCollectedDataTypeLinked
16 |
17 | NSPrivacyCollectedDataTypeTracking
18 |
19 | NSPrivacyCollectedDataTypePurposes
20 |
21 | NSPrivacyCollectedDataTypePurposeAppFunctionality
22 |
23 |
24 |
25 | NSPrivacyAccessedAPITypes
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/ios-arm64_x86_64-simulator/AdjustSigSdk.framework/AdjustSigSdk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adjust/ios_sdk/256ed60dfe492686ab2dfe5bdde01361739f18bc/AdjustSignature/AdjustSigSdk.xcframework/ios-arm64_x86_64-simulator/AdjustSigSdk.framework/AdjustSigSdk
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/ios-arm64_x86_64-simulator/AdjustSigSdk.framework/Headers/ADJSigner.h:
--------------------------------------------------------------------------------
1 | //
2 | // Adjust
3 | //
4 | // Created by Abdullah Joseph on 17.04.19
5 | // Copyright © 2019 adjust GmbH. All rights reserved.
6 | //
7 |
8 | #ifndef ADJSigner_h
9 | #define ADJSigner_h
10 |
11 | #import
12 |
13 | @interface ADJSigner : NSObject
14 |
15 | +(nonnull NSString *)getVersion;
16 |
17 | + (void)sign:(nonnull NSMutableDictionary *)packageDict
18 | withActivityKind:(nonnull const char *)activityKind
19 | withSdkVersion:(nonnull const char *)sdkVersion;
20 |
21 | + (void)sign:(nonnull NSDictionary *)packageParamsDict
22 | withExtraParams:(nonnull NSDictionary *)extraParamsDict
23 | withOutputParams:(nonnull NSMutableDictionary *)outputParamsDict;
24 |
25 | @end
26 |
27 | // Trampoline from C to ObjC
28 | void _ADJSigner_sign(size_t argc, void **args);
29 |
30 | #endif /* ADJSigner_h */
31 |
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/ios-arm64_x86_64-simulator/AdjustSigSdk.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adjust/ios_sdk/256ed60dfe492686ab2dfe5bdde01361739f18bc/AdjustSignature/AdjustSigSdk.xcframework/ios-arm64_x86_64-simulator/AdjustSigSdk.framework/Info.plist
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/ios-arm64_x86_64-simulator/AdjustSigSdk.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module AdjustSigSdk {
2 | umbrella header "ADJSigner.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/ios-arm64_x86_64-simulator/AdjustSigSdk.framework/PrivacyInfo.xcprivacy:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSPrivacyTracking
6 |
7 | NSPrivacyTrackingDomains
8 |
9 |
10 | NSPrivacyCollectedDataTypes
11 |
12 |
13 | NSPrivacyCollectedDataType
14 | NSPrivacyCollectedDataTypeOtherDiagnosticData
15 | NSPrivacyCollectedDataTypeLinked
16 |
17 | NSPrivacyCollectedDataTypeTracking
18 |
19 | NSPrivacyCollectedDataTypePurposes
20 |
21 | NSPrivacyCollectedDataTypePurposeAppFunctionality
22 |
23 |
24 |
25 | NSPrivacyAccessedAPITypes
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/tvos-arm64/AdjustSigSdk.framework/AdjustSigSdk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adjust/ios_sdk/256ed60dfe492686ab2dfe5bdde01361739f18bc/AdjustSignature/AdjustSigSdk.xcframework/tvos-arm64/AdjustSigSdk.framework/AdjustSigSdk
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/tvos-arm64/AdjustSigSdk.framework/Headers/ADJSigner.h:
--------------------------------------------------------------------------------
1 | //
2 | // Adjust
3 | //
4 | // Created by Abdullah Joseph on 17.04.19
5 | // Copyright © 2019 adjust GmbH. All rights reserved.
6 | //
7 |
8 | #ifndef ADJSigner_h
9 | #define ADJSigner_h
10 |
11 | #import
12 |
13 | @interface ADJSigner : NSObject
14 |
15 | +(nonnull NSString *)getVersion;
16 |
17 | + (void)sign:(nonnull NSMutableDictionary *)packageDict
18 | withActivityKind:(nonnull const char *)activityKind
19 | withSdkVersion:(nonnull const char *)sdkVersion;
20 |
21 | + (void)sign:(nonnull NSDictionary *)packageParamsDict
22 | withExtraParams:(nonnull NSDictionary *)extraParamsDict
23 | withOutputParams:(nonnull NSMutableDictionary *)outputParamsDict;
24 |
25 | @end
26 |
27 | // Trampoline from C to ObjC
28 | void _ADJSigner_sign(size_t argc, void **args);
29 |
30 | #endif /* ADJSigner_h */
31 |
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/tvos-arm64/AdjustSigSdk.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adjust/ios_sdk/256ed60dfe492686ab2dfe5bdde01361739f18bc/AdjustSignature/AdjustSigSdk.xcframework/tvos-arm64/AdjustSigSdk.framework/Info.plist
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/tvos-arm64/AdjustSigSdk.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module AdjustSigSdk {
2 | umbrella header "ADJSigner.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/tvos-arm64/AdjustSigSdk.framework/PrivacyInfo.xcprivacy:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSPrivacyTracking
6 |
7 | NSPrivacyTrackingDomains
8 |
9 |
10 | NSPrivacyCollectedDataTypes
11 |
12 |
13 | NSPrivacyCollectedDataType
14 | NSPrivacyCollectedDataTypeOtherDiagnosticData
15 | NSPrivacyCollectedDataTypeLinked
16 |
17 | NSPrivacyCollectedDataTypeTracking
18 |
19 | NSPrivacyCollectedDataTypePurposes
20 |
21 | NSPrivacyCollectedDataTypePurposeAppFunctionality
22 |
23 |
24 |
25 | NSPrivacyAccessedAPITypes
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/tvos-arm64_x86_64-simulator/AdjustSigSdk.framework/AdjustSigSdk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adjust/ios_sdk/256ed60dfe492686ab2dfe5bdde01361739f18bc/AdjustSignature/AdjustSigSdk.xcframework/tvos-arm64_x86_64-simulator/AdjustSigSdk.framework/AdjustSigSdk
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/tvos-arm64_x86_64-simulator/AdjustSigSdk.framework/Headers/ADJSigner.h:
--------------------------------------------------------------------------------
1 | //
2 | // Adjust
3 | //
4 | // Created by Abdullah Joseph on 17.04.19
5 | // Copyright © 2019 adjust GmbH. All rights reserved.
6 | //
7 |
8 | #ifndef ADJSigner_h
9 | #define ADJSigner_h
10 |
11 | #import
12 |
13 | @interface ADJSigner : NSObject
14 |
15 | +(nonnull NSString *)getVersion;
16 |
17 | + (void)sign:(nonnull NSMutableDictionary *)packageDict
18 | withActivityKind:(nonnull const char *)activityKind
19 | withSdkVersion:(nonnull const char *)sdkVersion;
20 |
21 | + (void)sign:(nonnull NSDictionary *)packageParamsDict
22 | withExtraParams:(nonnull NSDictionary *)extraParamsDict
23 | withOutputParams:(nonnull NSMutableDictionary *)outputParamsDict;
24 |
25 | @end
26 |
27 | // Trampoline from C to ObjC
28 | void _ADJSigner_sign(size_t argc, void **args);
29 |
30 | #endif /* ADJSigner_h */
31 |
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/tvos-arm64_x86_64-simulator/AdjustSigSdk.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adjust/ios_sdk/256ed60dfe492686ab2dfe5bdde01361739f18bc/AdjustSignature/AdjustSigSdk.xcframework/tvos-arm64_x86_64-simulator/AdjustSigSdk.framework/Info.plist
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/tvos-arm64_x86_64-simulator/AdjustSigSdk.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module AdjustSigSdk {
2 | umbrella header "ADJSigner.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/AdjustSignature/AdjustSigSdk.xcframework/tvos-arm64_x86_64-simulator/AdjustSigSdk.framework/PrivacyInfo.xcprivacy:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSPrivacyTracking
6 |
7 | NSPrivacyTrackingDomains
8 |
9 |
10 | NSPrivacyCollectedDataTypes
11 |
12 |
13 | NSPrivacyCollectedDataType
14 | NSPrivacyCollectedDataTypeOtherDiagnosticData
15 | NSPrivacyCollectedDataTypeLinked
16 |
17 | NSPrivacyCollectedDataTypeTracking
18 |
19 | NSPrivacyCollectedDataTypePurposes
20 |
21 | NSPrivacyCollectedDataTypePurposeAppFunctionality
22 |
23 |
24 |
25 | NSPrivacyAccessedAPITypes
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestApp/AdjustTestApp/ATAAdjustCommandExecutor.h:
--------------------------------------------------------------------------------
1 | //
2 | // ATAAdjustCommandExecutor.h
3 | // AdjustTestApp
4 | //
5 | // Created by Pedro Silva (@nonelse) on 23rd August 2017.
6 | // Copyright © 2017-2018 Adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "ATLTestLibrary.h"
11 |
12 | @interface ATAAdjustCommandExecutor : NSObject
13 |
14 | @property (nonatomic, strong) ATLTestLibrary *testLibrary;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestApp/AdjustTestApp/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // AdjustTestApp
4 | //
5 | // Created by Pedro Silva (@nonelse) on 23rd August 2017.
6 | // Copyright © 2017-2018 Adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestApp/AdjustTestApp/Assets.xcassets/LaunchImage.launchimage/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "orientation" : "portrait",
5 | "idiom" : "iphone",
6 | "filename" : "Default-568h@2x.png",
7 | "minimum-system-version" : "7.0",
8 | "subtype" : "retina4",
9 | "scale" : "2x"
10 | },
11 | {
12 | "orientation" : "portrait",
13 | "idiom" : "iphone",
14 | "minimum-system-version" : "7.0",
15 | "scale" : "2x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestApp/AdjustTestApp/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adjust/ios_sdk/256ed60dfe492686ab2dfe5bdde01361739f18bc/AdjustTests/AdjustTestApp/AdjustTestApp/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // ATAAdjustDelegate.h
3 | // AdjustTestApp
4 | //
5 | // Created by Pedro da Silva (@nonelse) on 26th October 2017.
6 | // Copyright © 2017 Аdjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 | #import "ATLTestLibrary.h"
12 |
13 | @interface ATAAdjustDelegate : NSObject
14 |
15 | - (id)initWithTestLibrary:(ATLTestLibrary *)testLibrary andBasePath:(NSString *)basePath;
16 |
17 | - (void)swizzleAttributionCallback:(BOOL)swizzleAttributionCallback
18 | eventSucceededCallback:(BOOL)swizzleEventSucceededCallback
19 | eventFailedCallback:(BOOL)swizzleEventFailedCallback
20 | sessionSucceededCallback:(BOOL)swizzleSessionSucceededCallback
21 | sessionFailedCallback:(BOOL)swizzleSessionFailedCallback
22 | skanCallback:(BOOL)swizzleSkanCallback;
23 | @end
24 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateAttribution.h:
--------------------------------------------------------------------------------
1 | //
2 | // ATAAdjustDelegateAttribution.h
3 | // AdjustTestApp
4 | //
5 | // Created by Uglješa Erceg (uerceg) on 8th December 2017.
6 | // Copyright © 2017 Adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 | #import "ATLTestLibrary.h"
12 |
13 | @interface ATAAdjustDelegateAttribution : NSObject
14 |
15 | - (id)initWithTestLibrary:(ATLTestLibrary *)testLibrary andExtraPath:(NSString *)extraPath;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateDeferredDeeplink.h:
--------------------------------------------------------------------------------
1 | //
2 | // ATAAdjustDelegateDeferredDeeplink.h
3 | // AdjustTestApp
4 | //
5 | // Created by Uglješa Erceg on 20.07.18.
6 | // Copyright © 2018 adjust. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 | #import "ATLTestLibrary.h"
12 |
13 | @interface ATAAdjustDelegateDeferredDeeplink : NSObject
14 |
15 | - (id)initWithTestLibrary:(ATLTestLibrary *)testLibrary extraPath:(NSString *)extraPath andReturnValue:(BOOL)returnValue;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateDeferredDeeplink.m:
--------------------------------------------------------------------------------
1 | //
2 | // ATAAdjustDelegateDeferredDeeplink.m
3 | // AdjustTestApp
4 | //
5 | // Created by Uglješa Erceg on 20.07.18.
6 | // Copyright © 2018 adjust. All rights reserved.
7 | //
8 |
9 | #import "ATAAdjustDelegateDeferredDeeplink.h"
10 |
11 | @interface ATAAdjustDelegateDeferredDeeplink ()
12 |
13 | @property (nonatomic, strong) ATLTestLibrary *testLibrary;
14 | @property (nonatomic, copy) NSString *extraPath;
15 | @property (nonatomic, assign) BOOL returnValue;
16 |
17 | @end
18 |
19 | @implementation ATAAdjustDelegateDeferredDeeplink
20 |
21 | - (id)initWithTestLibrary:(ATLTestLibrary *)testLibrary extraPath:(NSString *)extraPath andReturnValue:(BOOL)returnValue {
22 | self = [super init];
23 |
24 | if (nil == self) {
25 | return nil;
26 | }
27 |
28 | self.testLibrary = testLibrary;
29 | self.extraPath = extraPath;
30 | self.returnValue = returnValue;
31 |
32 | return self;
33 | }
34 |
35 | - (BOOL)adjustDeferredDeeplinkReceived:(nullable NSURL *)deeplink {
36 | NSLog(@"Deferred deep link callback called!");
37 | NSLog(@"Deep link: %@", deeplink);
38 |
39 | [self.testLibrary addInfoToSend:@"deeplink" value:[deeplink absoluteString]];
40 | [self.testLibrary sendInfoToServer:self.extraPath];
41 |
42 | return self.returnValue;
43 | }
44 |
45 | @end
46 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateEventFailure.h:
--------------------------------------------------------------------------------
1 | //
2 | // ATAAdjustDelegateEventFailure.h
3 | // AdjustTestApp
4 | //
5 | // Created by Uglješa Erceg (uerceg) on 8th December 2017.
6 | // Copyright © 2017 Adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 | #import "ATLTestLibrary.h"
12 |
13 | @interface ATAAdjustDelegateEventFailure : NSObject
14 |
15 | - (id)initWithTestLibrary:(ATLTestLibrary *)testLibrary andExtraPath:(NSString *)extraPath;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateEventSuccess.h:
--------------------------------------------------------------------------------
1 | //
2 | // ATAAdjustDelegateEventSuccess.h
3 | // AdjustTestApp
4 | //
5 | // Created by Uglješa Erceg (uerceg) on 8th December 2017.
6 | // Copyright © 2017 Adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 | #import "ATLTestLibrary.h"
12 |
13 | @interface ATAAdjustDelegateEventSuccess : NSObject
14 |
15 | - (id)initWithTestLibrary:(ATLTestLibrary *)testLibrary andExtraPath:(NSString *)extraPath;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateSessionFailure.h:
--------------------------------------------------------------------------------
1 | //
2 | // ATAAdjustDelegateSessionFailure.h
3 | // AdjustTestApp
4 | //
5 | // Created by Uglješa Erceg (uerceg) on 8th December 2017.
6 | // Copyright © 2017 Adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 | #import "ATLTestLibrary.h"
12 |
13 | @interface ATAAdjustDelegateSessionFailure : NSObject
14 |
15 | - (id)initWithTestLibrary:(ATLTestLibrary *)testLibrary andExtraPath:(NSString *)extraPath;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateSessionSuccess.h:
--------------------------------------------------------------------------------
1 | //
2 | // ATAAdjustDelegateSessionSuccess.h
3 | // AdjustTestApp
4 | //
5 | // Created by Uglješa Erceg (uerceg) on 8th December 2017.
6 | // Copyright © 2017 Adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 | #import "ATLTestLibrary.h"
12 |
13 | @interface ATAAdjustDelegateSessionSuccess : NSObject
14 |
15 | - (id)initWithTestLibrary:(ATLTestLibrary *)testLibrary andExtraPath:(NSString *)extraPath;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateSkan.h:
--------------------------------------------------------------------------------
1 | //
2 | // ATAAdjustDelegateSkan.h
3 | // AdjustTestApp
4 | //
5 | // Created by Uglješa Erceg (uerceg) on 23rd April 2024.
6 | // Copyright © 2024 Adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 | #import "ATLTestLibrary.h"
12 |
13 | @interface ATAAdjustDelegateSkan : NSObject
14 |
15 | - (id)initWithTestLibrary:(ATLTestLibrary *)testLibrary andExtraPath:(NSString *)extraPath;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateSkan.m:
--------------------------------------------------------------------------------
1 | //
2 | // ATAAdjustDelegateSkan.m
3 | // AdjustTestApp
4 | //
5 | // Created by Uglješa Erceg (uerceg) on 23rd April 2024.
6 | // Copyright © 2024 Adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import "ATAAdjustDelegateSkan.h"
10 |
11 | @interface ATAAdjustDelegateSkan ()
12 |
13 | @property (nonatomic, strong) ATLTestLibrary *testLibrary;
14 | @property (nonatomic, copy) NSString *extraPath;
15 |
16 | @end
17 |
18 | @implementation ATAAdjustDelegateSkan
19 |
20 | - (id)initWithTestLibrary:(ATLTestLibrary *)testLibrary andExtraPath:(NSString *)extraPath {
21 | self = [super init];
22 |
23 | if (nil == self) {
24 | return nil;
25 | }
26 |
27 | self.testLibrary = testLibrary;
28 | self.extraPath = extraPath;
29 |
30 | return self;
31 | }
32 |
33 | - (void)adjustSkanUpdatedWithConversionData:(nonnull NSDictionary *)data {
34 | NSLog(@"SKAN callback called!");
35 |
36 | for (NSString *key in data) {
37 | [self.testLibrary addInfoToSend:key value:[data objectForKey:key]];
38 | }
39 |
40 | [self.testLibrary sendInfoToServer:self.extraPath];
41 | }
42 |
43 | @end
44 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestApp/AdjustTestApp/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // AdjustTestApp
4 | //
5 | // Created by Pedro Silva (@nonelse) on 23rd August 2017.
6 | // Copyright © 2017-2018 Adjust GmbH. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | // simulator
12 | //static NSString * urlOverwrite = @"http://127.0.0.1:8080";
13 | //static NSString * controlUrl = @"ws://127.0.0.1:1987";
14 | // device
15 | static NSString * urlOverwrite = @"http://192.168.1.121:8080";
16 | static NSString * controlUrl = @"ws://192.168.1.121:1987";
17 |
18 | @interface ViewController : UIViewController
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestApp/AdjustTestApp/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // AdjustTestApp
4 | //
5 | // Created by Pedro on 11.01.18.
6 | // Copyright © 2018 adjust. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "AppDelegate.h"
11 |
12 | int main(int argc, char * argv[]) {
13 | @autoreleasepool {
14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestLibrary/AdjustTestLibrary.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestLibrary/AdjustTestLibrary/ATLBlockingQueue.h:
--------------------------------------------------------------------------------
1 | //
2 | // ATLBlockingQueue.h
3 | // AdjustTestLibrary
4 | //
5 | // Created by Pedro on 11.01.18.
6 | // Copyright © 2018 adjust. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "ATLUtil.h"
11 |
12 | @interface ATLBlockingQueue : NSObject
13 |
14 | /**
15 | * Enqueues an object to the queue.
16 | * @param object Object to enqueue
17 | */
18 | - (void)enqueue:(id)object;
19 |
20 | /**
21 | * Dequeues an object from the queue. This method will block.
22 | */
23 | - (id)dequeue;
24 |
25 | - (void)teardown;
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestLibrary/AdjustTestLibrary/ATLConstants.h:
--------------------------------------------------------------------------------
1 | //
2 | // ATLConstants.h
3 | // AdjustTestLibrary
4 | //
5 | // Created by Pedro on 20.04.17.
6 | // Copyright © 2017 adjust. All rights reserved.
7 | //
8 |
9 | #ifndef ATLConstants_h
10 | #define ATLConstants_h
11 |
12 | static int const ONE_SECOND = 1000;
13 | static int const ONE_MINUTE = 60 * ONE_SECOND;
14 |
15 | static NSString * const TEST_LIBRARY_CLASSNAME = @"TestLibrary";
16 | static NSString * const ADJUST_CLASSNAME = @"Adjust";
17 | static NSString * const WAIT_FOR_CONTROL = @"control";
18 | static NSString * const WAIT_FOR_SLEEP = @"sleep";
19 | static NSString * const BASE_PATH_PARAM = @"basePath";
20 | static NSString * const TEST_NAME_PARAM = @"basePath";
21 | static NSString * const TEST_SESSION_ID_HEADER = @"Test-Session-Id";
22 |
23 | // web socket values
24 | static NSString * const SIGNAL_INFO = @"info";
25 | static NSString * const SIGNAL_INIT_TEST_SESSION = @"init-test-session";
26 | static NSString * const SIGNAL_END_WAIT = @"end-wait";
27 | static NSString * const SIGNAL_CANCEL_CURRENT_TEST = @"cancel-current-test";
28 | static NSString * const SIGNAL_UNKNOWN = @"unknown";
29 |
30 | #endif /* ATLConstants_h */
31 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestLibrary/AdjustTestLibrary/ATLControlSignal.h:
--------------------------------------------------------------------------------
1 | //
2 | // ATLControlSignal.h
3 | // AdjustTestLibrary
4 | //
5 | // Created by Serj on 20.02.19.
6 | // Copyright © 2019 adjust. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | typedef enum {
14 | ATLSignalTypeInfo = 1,
15 | ATLSignalTypeInitTestSession = 2,
16 | ATLSignalTypeEndWait = 3,
17 | ATLSignalTypeCancelCurrentTest = 4,
18 | ATLSignalTypeUnknown = 5
19 | } ATLSignalType;
20 |
21 | @interface ATLControlSignal : NSObject
22 |
23 | - (id)initWithSignalType:(ATLSignalType)signalType;
24 |
25 | - (id)initWithSignalType:(ATLSignalType)signalType
26 | andSignalValue:(NSString*)signalValue;
27 |
28 | - (id)initWithJson:(NSString*)json;
29 |
30 | - (NSString*)toJson;
31 |
32 | - (NSString*)getValue;
33 |
34 | - (ATLSignalType)getType;
35 |
36 | @end
37 |
38 | NS_ASSUME_NONNULL_END
39 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestLibrary/AdjustTestLibrary/ATLControlWebSocketClient.h:
--------------------------------------------------------------------------------
1 | //
2 | // ATLControlWebSocketClient.h
3 | // AdjustTestLibrary
4 | //
5 | // Created by Serj on 20.02.19.
6 | // Copyright © 2019 adjust. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "PocketSocket/PSWebSocket.h"
11 | #import "ATLTestLibrary.h"
12 |
13 | NS_ASSUME_NONNULL_BEGIN
14 |
15 | @interface ATLControlWebSocketClient : NSObject
16 |
17 | - (void)initializeWebSocketWithControlUrl:(NSString*)controlUrl
18 | andTestLibrary:(ATLTestLibrary*)testLibrary;
19 |
20 | - (void)reconnectIfNeeded;
21 |
22 | - (void)sendInitTestSessionSignal:(NSString*)testSessionId;
23 |
24 | @end
25 |
26 | NS_ASSUME_NONNULL_END
27 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestLibrary/AdjustTestLibrary/ATLNetworking.h:
--------------------------------------------------------------------------------
1 | //
2 | // ATLNetworking.h
3 | // AdjustTestLibrary
4 | //
5 | // Created by Pedro Silva on 24.05.24.
6 | // Copyright © 2024 adjust. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ATLHttpResponse : NSObject
12 |
13 | @property (nonatomic, nullable, strong) NSString * responseString;
14 | @property (nonatomic, nullable, strong) id jsonFoundation;
15 | @property (nonatomic, nullable, strong) NSDictionary *headerFields;
16 | @property (nonatomic, assign) NSInteger statusCode;
17 |
18 | @end
19 |
20 | @interface ATLHttpRequest : NSObject
21 |
22 | @property (nonatomic, nonnull, readonly, strong) NSString *path;
23 | @property (nonatomic, nullable, readonly, strong) NSString *base;
24 | @property (nonatomic, nullable, strong) NSString *bodyString;
25 | @property (nonatomic, nullable, strong) NSDictionary *headerFields;
26 |
27 | - (nonnull id)initWithPath:(nonnull NSString *)path
28 | base:(nullable NSString *)base;
29 | @end
30 |
31 | typedef void (^httpResponseHandler)(ATLHttpResponse *_Nonnull httpResponse);
32 |
33 | @interface ATLNetworking : NSObject
34 |
35 | - (void)sendPostRequestWithData:(nonnull ATLHttpRequest *)requestData
36 | baseUrl:(nonnull NSURL *)baseUrl
37 | responseHandler:(nonnull httpResponseHandler)responseHandler;
38 |
39 | @end
40 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestLibrary/AdjustTestLibrary/ATLUtil.h:
--------------------------------------------------------------------------------
1 | //
2 | // ATLUtil.h
3 | // AdjustTestLibrary
4 | //
5 | // Created by Pedro on 18.04.17.
6 | // Copyright © 2017 adjust. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | typedef void (^selfInjectedBlock)(id);
12 | typedef void (^operationBlock)(NSBlockOperation *);
13 |
14 | @interface ATLUtil : NSObject
15 |
16 | + (void)debug:(NSString *)format, ...;
17 | + (void)launchInQueue:(dispatch_queue_t)queue
18 | selfInject:(id)selfInject
19 | block:(selfInjectedBlock)block;
20 | + (void)addOperationAfterLast:(NSOperationQueue *)operationQueue
21 | block:(dispatch_block_t)block;
22 | + (void)addOperationAfterLast:(NSOperationQueue *)operationQueue
23 | blockWithOperation:(operationBlock)blockWithOperation;
24 | + (BOOL)isNull:(id)value;
25 | + (NSString *)adjTrim:(NSString *)value;
26 | + (NSString *)formatDate:(NSDate *)value;
27 | + (NSString *)parseDictionaryToJsonString:(NSDictionary *) dictionary;
28 | + (NSString *)appendBasePath:(NSString *)basePath path:(NSString *)path;
29 | + (NSString *)queryString:(NSDictionary *)parameters;
30 | @end
31 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestLibrary/AdjustTestLibrary/PocketSocket/PSWebSocketBuffer.h:
--------------------------------------------------------------------------------
1 | // Copyright 2014-Present Zwopple Limited
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import
16 |
17 |
18 | @interface PSWebSocketBuffer : NSObject
19 |
20 | #pragma mark - Properties
21 |
22 | @property (nonatomic, assign) NSInteger offset;
23 | @property (nonatomic, assign) NSUInteger compactionLength;
24 |
25 | #pragma mark - Actions
26 |
27 | - (BOOL)hasBytesAvailable;
28 | - (NSUInteger)bytesAvailable;
29 | - (void)appendData:(NSData *)data;
30 | - (void)appendBytes:(const void *)bytes length:(NSUInteger)length;
31 | - (void)compact;
32 | - (void)reset;
33 | - (const void *)bytes;
34 | - (void *)mutableBytes;
35 | - (NSData *)data;
36 |
37 | @end
38 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestLibrary/AdjustTestLibrary/PocketSocket/PSWebSocketDeflater.h:
--------------------------------------------------------------------------------
1 | // Copyright 2014-Present Zwopple Limited
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import
16 |
17 | @interface PSWebSocketDeflater : NSObject
18 |
19 | #pragma mark - Initialization
20 |
21 | - (instancetype)initWithWindowBits:(NSInteger)windowBits memoryLevel:(NSUInteger)memoryLevel;
22 |
23 | #pragma mark - Actions
24 |
25 | - (BOOL)begin:(NSMutableData *)buffer error:(NSError *__autoreleasing *)outError;
26 | - (BOOL)appendBytes:(const void *)bytes length:(NSUInteger)length error:(NSError *__autoreleasing *)outError;
27 | - (BOOL)end:(NSError *__autoreleasing *)outError;
28 | - (void)reset;
29 |
30 | @end
31 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestLibrary/AdjustTestLibrary/PocketSocket/PSWebSocketInflater.h:
--------------------------------------------------------------------------------
1 | // Copyright 2014-Present Zwopple Limited
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import
16 |
17 | @interface PSWebSocketInflater : NSObject
18 |
19 | #pragma mark - Initialization
20 |
21 | - (instancetype)initWithWindowBits:(NSInteger)windowBits;
22 |
23 | #pragma mark - Actions
24 |
25 | - (BOOL)begin:(NSMutableData *)buffer error:(NSError *__autoreleasing *)outError;
26 | - (BOOL)appendBytes:(const void *)bytes length:(NSUInteger)length error:(NSError *__autoreleasing *)outError;
27 | - (BOOL)end:(NSError *__autoreleasing *)outError;
28 | - (void)reset;
29 |
30 | @end
31 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestLibrary/AdjustTestLibrary/PocketSocket/PSWebSocketNetworkThread.h:
--------------------------------------------------------------------------------
1 | // Copyright 2014-Present Zwopple Limited
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import
16 |
17 | @interface PSWebSocketNetworkThread : NSThread
18 |
19 | #pragma mark - Singleton
20 |
21 | + (instancetype)sharedNetworkThread;
22 |
23 | #pragma mark - Properties
24 |
25 | @property (nonatomic, strong, readonly) NSRunLoop *runLoop;
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestLibrary/AdjustTestLibrary/PocketSocket/PSWebSocketUTF8Decoder.h:
--------------------------------------------------------------------------------
1 | // Copyright 2014-Present Zwopple Limited
2 | //
3 | // Licensed under the Apache License, Version 2.0 (the "License");
4 | // you may not use this file except in compliance with the License.
5 | // You may obtain a copy of the License at
6 | //
7 | // http://www.apache.org/licenses/LICENSE-2.0
8 | //
9 | // Unless required by applicable law or agreed to in writing, software
10 | // distributed under the License is distributed on an "AS IS" BASIS,
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and
13 | // limitations under the License.
14 |
15 | #import
16 |
17 | #define PSWebSocketUTF8DecoderAccept 0
18 | #define PSWebSocketUTF8DecoderReject 1
19 |
20 | uint32_t PSWebSocketUTF8DecoderDecode(uint32_t* state, uint32_t* codep, uint32_t byte);
21 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustTestLibrary/AdjustTestLibrary/PocketSocket/PocketSocket-Prefix.pch:
--------------------------------------------------------------------------------
1 | //
2 | // Prefix header
3 | //
4 | // The contents of this file are implicitly included at the beginning of every source file.
5 | //
6 |
7 | #ifdef __OBJC__
8 | #import
9 | #endif
10 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustWebBridgeTestApp/AdjustWebBridgeTestApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AdjustTests/AdjustWebBridgeTestApp/AdjustWebBridgeTestApp/AdjustTestApp-WebView.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 | Adjust TestApp
12 |
13 |
14 |
15 |
16 | Webview
17 |
18 |
30 |
31 |
32 |