diff --git a/.github/workflows/publish.yml b/.github/workflows/cocoapods.yml similarity index 64% rename from .github/workflows/publish.yml rename to .github/workflows/cocoapods.yml index 92e734d..34c9fe3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/cocoapods.yml @@ -1,10 +1,16 @@ -name: Publish -run-name: Publish ${{ github.ref_name }} +name: Publish CocoaPods +run-name: Publish CocoaPods ${{ github.ref_name }} -on: +on: push: tags: - '[0-9]+.[0-9]+.[0-9]+' + workflow_dispatch: + inputs: + version: + description: 'Version build' + required: false + type: string jobs: publish: @@ -15,10 +21,22 @@ jobs: - name: Checkout uses: actions/checkout@v3 + # Version + - name: Version Tag + id: version_tag + run: | + if [ -n "${{ inputs.version }}" ]; then + echo Version: ${{ inputs.version }} + echo "VERSION=${{ inputs.version }}" >> "$GITHUB_OUTPUT" + else + echo Version: ${{ github.ref_name }} + echo "VERSION=${{ github.ref_name }}" >> "$GITHUB_OUTPUT" + fi + - name: Info if: ${{ success() || failure() }} env: - LIB_VERSION: ${{ github.ref_name }} + LIB_VERSION: ${{ steps.version_tag.outputs.VERSION }} run: | pod --version pod ipc spec AffiseAttributionLib.podspec @@ -31,7 +49,7 @@ jobs: if: ${{ success() || failure() }} env: COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }} - LIB_VERSION: ${{ github.ref_name }} + LIB_VERSION: ${{ steps.version_tag.outputs.VERSION }} run: | pod trunk push AffiseAttributionLib.podspec --allow-warnings @@ -41,7 +59,7 @@ jobs: id: skad env: COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }} - LIB_VERSION: ${{ github.ref_name }} + LIB_VERSION: ${{ steps.version_tag.outputs.VERSION }} run: | pod trunk push AffiseSKAdNetwork.podspec --allow-warnings @@ -51,7 +69,7 @@ jobs: id: internal env: COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }} - LIB_VERSION: ${{ github.ref_name }} + LIB_VERSION: ${{ steps.version_tag.outputs.VERSION }} run: | pod trunk push AffiseInternal.podspec --allow-warnings --synchronous @@ -61,19 +79,6 @@ jobs: id: module env: COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }} - LIB_VERSION: ${{ github.ref_name }} + LIB_VERSION: ${{ steps.version_tag.outputs.VERSION }} run: | pod trunk push AffiseModule.podspec --allow-warnings --synchronous - - # Release - - name: Release - if: ${{ success() || failure() }} - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ github.ref }} - release_name: Affise Attribution iOS SDK ${{ github.ref }} - draft: false - prerelease: false diff --git a/.github/workflows/framework.yml b/.github/workflows/framework.yml new file mode 100644 index 0000000..7cddcef --- /dev/null +++ b/.github/workflows/framework.yml @@ -0,0 +1,93 @@ +name: Publish Frameworks +run-name: Publish Frameworks ${{ github.ref_name }} + +on: + push: + tags: + - '[0-9]+.[0-9]+.[0-9]+' + workflow_dispatch: + inputs: + version: + description: 'Version build' + required: false + type: string + +jobs: + publish: + name: Publish Affise SDK Frameworks + runs-on: macOS-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 + + # Version + - name: Version Tag + id: version_tag + run: | + if [ -n "${{ inputs.version }}" ]; then + echo Version: ${{ inputs.version }} + echo "VERSION=${{ inputs.version }}" >> "$GITHUB_OUTPUT" + else + echo Version: ${{ github.ref_name }} + echo "VERSION=${{ github.ref_name }}" >> "$GITHUB_OUTPUT" + fi + + - name: Setup Swift 5.7 + uses: swift-actions/setup-swift@v1 + with: + swift-version: "5.7" + + - name: Create AffiseAttributionLib XCFramework + uses: unsignedapps/swift-create-xcframework@v2.3.0 + with: + target: "AffiseAttributionLib" + + # Release + - name: Release + if: ${{ success() }} + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: Affise Attribution iOS SDK ${{ steps.version_tag.outputs.VERSION }} + draft: false + prerelease: false + + # Upload AffiseAttributionLib + - name: Upload Release AffiseAttributionLib Framework 🗳 + if: ${{ success() }} + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./AffiseAttributionLib.zip + asset_name: AffiseAttributionLib-${{ steps.version_tag.outputs.VERSION }}.xcframework.zip + asset_content_type: application/zip + + # # Upload AffiseModuleStatus + # - name: Upload Release AffiseModuleStatus Framework 🗳 + # if: ${{ success() }} + # uses: actions/upload-release-asset@v1 + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # with: + # upload_url: ${{ steps.create_release.outputs.upload_url }} + # asset_path: ./AffiseModuleStatus.zip + # asset_name: AffiseModuleStatus-${{ steps.version_tag.outputs.VERSION }}.xcframework.zip + # asset_content_type: application/zip + + # # Upload AffiseSKAdNetwork + # - name: Upload Release AffiseSKAdNetwork Framework 🗳 + # if: ${{ success() }} + # uses: actions/upload-release-asset@v1 + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # with: + # upload_url: ${{ steps.create_release.outputs.upload_url }} + # asset_path: ./AffiseSKAdNetwork.zip + # asset_name: AffiseSKAdNetwork-${{ steps.version_tag.outputs.VERSION }}.xcframework.zip + # asset_content_type: application/zip \ No newline at end of file diff --git a/.gitignore b/.gitignore index 80470a5..91108ec 100644 --- a/.gitignore +++ b/.gitignore @@ -35,7 +35,7 @@ DerivedData/ # NB: slash on the end, so we only remove the FOLDER, not any files that were badly named "build" build/ - +.build ##### # Xcode private settings (window sizes, bookmarks, breakpoints, custom executables, smart groups) @@ -141,6 +141,9 @@ IDEWorkspaceChecks.plist *.xcodeproj !example/*.xcodeproj + +*.xcframework/ + # Miscellaneous *.class *.log diff --git a/AffiseAttributionLib.podspec b/AffiseAttributionLib.podspec index ba40ee2..fa10ab9 100644 --- a/AffiseAttributionLib.podspec +++ b/AffiseAttributionLib.podspec @@ -5,7 +5,7 @@ Pod::Spec.new do |spec| spec.name = "AffiseAttributionLib" - spec.version = ENV['LIB_VERSION'] || "1.6.15" + spec.version = ENV['LIB_VERSION'] || "1.6.16" spec.summary = "Affise Attribution iOS library" spec.description = "Affise SDK is a software you can use to collect app usage statistics, device identifiers, deeplink usage, track install referrer." spec.homepage = "https://github.com/affise/sdk-ios" diff --git a/AffiseAttributionLib/Classes/Affise.swift b/AffiseAttributionLib/Classes/Affise.swift index 80f314f..d668b1d 100644 --- a/AffiseAttributionLib/Classes/Affise.swift +++ b/AffiseAttributionLib/Classes/Affise.swift @@ -1,9 +1,9 @@ +import Foundation +import WebKit + /** * Entry point to initialise Affise Attribution library */ -import WebKit - - @objc public final class Affise: NSObject { diff --git a/AffiseAttributionLib/Classes/AffiseApi.swift b/AffiseAttributionLib/Classes/AffiseApi.swift index 5d4d7bc..4d634d9 100644 --- a/AffiseAttributionLib/Classes/AffiseApi.swift +++ b/AffiseAttributionLib/Classes/AffiseApi.swift @@ -1,3 +1,5 @@ +import Foundation + internal protocol AffiseApi { var firstAppOpenUseCase: FirstAppOpenUseCase {get} var sessionManager: SessionManager {get} diff --git a/AffiseAttributionLib/Classes/AffiseComponent.swift b/AffiseAttributionLib/Classes/AffiseComponent.swift index b6a6793..b65281e 100644 --- a/AffiseAttributionLib/Classes/AffiseComponent.swift +++ b/AffiseAttributionLib/Classes/AffiseComponent.swift @@ -1,3 +1,7 @@ +import Foundation +import UIKit + + internal class AffiseComponent: AffiseApi { private let app: UIApplication diff --git a/AffiseAttributionLib/Classes/AffiseShared.swift b/AffiseAttributionLib/Classes/AffiseShared.swift index b3eb0da..3329be3 100644 --- a/AffiseAttributionLib/Classes/AffiseShared.swift +++ b/AffiseAttributionLib/Classes/AffiseShared.swift @@ -1,3 +1,4 @@ +import Foundation import WebKit diff --git a/AffiseAttributionLib/Classes/ad/AffiseAdRevenue.swift b/AffiseAttributionLib/Classes/ad/AffiseAdRevenue.swift index 399faf8..bc84340 100644 --- a/AffiseAttributionLib/Classes/ad/AffiseAdRevenue.swift +++ b/AffiseAttributionLib/Classes/ad/AffiseAdRevenue.swift @@ -1,3 +1,5 @@ +import Foundation + @objc public final class AffiseAdRevenue: NSObject { @@ -9,14 +11,14 @@ public final class AffiseAdRevenue: NSObject { } public func setRevenue(_ revenue: Float, _ currency: String) -> AffiseAdRevenue { - let _ = event + _ = event .addPredefinedParameter(.REVENUE, float: revenue) .addPredefinedParameter(.CURRENCY, string: currency) return self } public func setRevenue(_ revenue: Double, _ currency: String) -> AffiseAdRevenue { - let _ = event + _ = event .addPredefinedParameter(.REVENUE, float: Float(revenue)) .addPredefinedParameter(.CURRENCY, string: currency) return self @@ -24,19 +26,19 @@ public final class AffiseAdRevenue: NSObject { public func setNetwork(_ network: String?) -> AffiseAdRevenue { guard let value = network else { return self } - let _ = event.addPredefinedParameter(.NETWORK, string: value) + _ = event.addPredefinedParameter(.NETWORK, string: value) return self } public func setUnit(_ unit: String?) -> AffiseAdRevenue { guard let value = unit else { return self } - let _ = event.addPredefinedParameter(.UNIT, string: value) + _ = event.addPredefinedParameter(.UNIT, string: value) return self } public func setPlacement(_ placement: String?) -> AffiseAdRevenue { guard let value = placement else { return self } - let _ = event.addPredefinedParameter(.PLACEMENT, string: value) + _ = event.addPredefinedParameter(.PLACEMENT, string: value) return self } diff --git a/AffiseAttributionLib/Classes/ad/AffiseAdSource.swift b/AffiseAttributionLib/Classes/ad/AffiseAdSource.swift index 94e4b18..4957c1f 100644 --- a/AffiseAttributionLib/Classes/ad/AffiseAdSource.swift +++ b/AffiseAttributionLib/Classes/ad/AffiseAdSource.swift @@ -1,3 +1,5 @@ +import Foundation + @objc public enum AffiseAdSource: Int { diff --git a/AffiseAttributionLib/Classes/advertising/AdvertisingIdManagerImpl.swift b/AffiseAttributionLib/Classes/advertising/AdvertisingIdManagerImpl.swift index 7480ee2..9aed982 100644 --- a/AffiseAttributionLib/Classes/advertising/AdvertisingIdManagerImpl.swift +++ b/AffiseAttributionLib/Classes/advertising/AdvertisingIdManagerImpl.swift @@ -1,10 +1,3 @@ -// -// AdvertisingIdManagerImpl.swift -// AffiseAttributionLib -// -// Created by Sergey Korney -// - import AdSupport import AppTrackingTransparency diff --git a/AffiseAttributionLib/Classes/app/AppLifecycleEventsManagerImpl.swift b/AffiseAttributionLib/Classes/app/AppLifecycleEventsManagerImpl.swift index cf2de45..7b1d362 100644 --- a/AffiseAttributionLib/Classes/app/AppLifecycleEventsManagerImpl.swift +++ b/AffiseAttributionLib/Classes/app/AppLifecycleEventsManagerImpl.swift @@ -1,9 +1,5 @@ -// -// AppLifecycleEventsManagerImpl.swift -// AffiseAttributionLib -// -// Created by Sergey Korney -// +import Foundation +import UIKit /** * Manager for handling events occurring on the activity @@ -11,8 +7,6 @@ * @property app application on which they are listening Activities * @property logsManager for error logging */ - - class AppLifecycleEventsManagerImpl { private let notificationCenter: NotificationCenter private let logsManager: LogsManager diff --git a/AffiseAttributionLib/Classes/converter/ConverterToBase64.swift b/AffiseAttributionLib/Classes/converter/ConverterToBase64.swift index 9cb45b4..37ca289 100644 --- a/AffiseAttributionLib/Classes/converter/ConverterToBase64.swift +++ b/AffiseAttributionLib/Classes/converter/ConverterToBase64.swift @@ -1,10 +1,4 @@ -// -// ConverterToBase64.swift -// app -// -// Created by Sergey Korney -// - +import Foundation /** * Convert string to Base64 [encoded string] diff --git a/AffiseAttributionLib/Classes/converter/EventToSerializedEventConverter.swift b/AffiseAttributionLib/Classes/converter/EventToSerializedEventConverter.swift index 4b82e7b..27c6aac 100644 --- a/AffiseAttributionLib/Classes/converter/EventToSerializedEventConverter.swift +++ b/AffiseAttributionLib/Classes/converter/EventToSerializedEventConverter.swift @@ -1,9 +1,4 @@ -// -// EventToSerializedEventConverter.swift -// app -// -// Created by Sergey Korney -// +import Foundation /** diff --git a/AffiseAttributionLib/Classes/converter/InstallReferrerToDeeplinkUriConverter.swift b/AffiseAttributionLib/Classes/converter/InstallReferrerToDeeplinkUriConverter.swift index b1a5a6a..53b1f69 100644 --- a/AffiseAttributionLib/Classes/converter/InstallReferrerToDeeplinkUriConverter.swift +++ b/AffiseAttributionLib/Classes/converter/InstallReferrerToDeeplinkUriConverter.swift @@ -1,10 +1,4 @@ -// -// InstallReferrerToDeeplinkUriConverter.swift -// AffiseAttributionLib -// -// Created by Sergey Korney -// - +import Foundation /** * Implementation of [Converter] diff --git a/AffiseAttributionLib/Classes/converter/LogToSerializedLogConverter.swift b/AffiseAttributionLib/Classes/converter/LogToSerializedLogConverter.swift index 82fcdd6..606fc45 100644 --- a/AffiseAttributionLib/Classes/converter/LogToSerializedLogConverter.swift +++ b/AffiseAttributionLib/Classes/converter/LogToSerializedLogConverter.swift @@ -1,10 +1,4 @@ -// -// LogToSerializedLogConverter.swift -// AffiseAttributionLib -// -// Created by Sergey Korney -// - +import Foundation /** * Converter AffiseLog to SerializedLog diff --git a/AffiseAttributionLib/Classes/converter/StringToKeyValueConverter.swift b/AffiseAttributionLib/Classes/converter/StringToKeyValueConverter.swift index 5d47850..3371bb1 100644 --- a/AffiseAttributionLib/Classes/converter/StringToKeyValueConverter.swift +++ b/AffiseAttributionLib/Classes/converter/StringToKeyValueConverter.swift @@ -1,3 +1,5 @@ +import Foundation + public class StringToKeyValueConverter: Converter { private static let KEY = "key" @@ -13,7 +15,8 @@ public class StringToKeyValueConverter: Converter { var result: [AffiseKeyValue] = [] do { - let jsonArray = try JSONSerialization.jsonObject(with: json.data(using: .utf8)!, options: .mutableContainers) as! [[String:Any?]] + let jsonArray = try JSONSerialization.jsonObject(with: json.data(using: .utf8)!, options: .mutableContainers) as? [[String:Any?]] + guard let jsonArray = jsonArray else { return result } for item in jsonArray { guard let key = item[StringToKeyValueConverter.KEY] as? String else { continue } let value = item[StringToKeyValueConverter.VALUE] as? String diff --git a/AffiseAttributionLib/Classes/converter/StringToSHA256Converter.swift b/AffiseAttributionLib/Classes/converter/StringToSHA256Converter.swift index 67726d4..f7987e8 100644 --- a/AffiseAttributionLib/Classes/converter/StringToSHA256Converter.swift +++ b/AffiseAttributionLib/Classes/converter/StringToSHA256Converter.swift @@ -1,10 +1,4 @@ -// -// StringToSHA256Converter.swift -// AffiseAttributionLib -// -// Created by Sergey Korney -// - +import Foundation import CommonCrypto diff --git a/AffiseAttributionLib/Classes/debug/validate/DebugValidateUseCaseImpl.swift b/AffiseAttributionLib/Classes/debug/validate/DebugValidateUseCaseImpl.swift index e2af3d8..250a275 100644 --- a/AffiseAttributionLib/Classes/debug/validate/DebugValidateUseCaseImpl.swift +++ b/AffiseAttributionLib/Classes/debug/validate/DebugValidateUseCaseImpl.swift @@ -1,3 +1,5 @@ +import Foundation + class DebugValidateUseCaseImpl { private static let TIME_DELAY_SENDING: TimeInterval = 5 @@ -55,8 +57,8 @@ class DebugValidateUseCaseImpl { do { //Create json - let dict = try JSONSerialization.jsonObject(with: (response.body ?? "{}").data(using: .utf8)!, options: .mutableContainers) as! [String: Any?] - let message: String = dict[KEY] as? String ?? "" + let dict = try JSONSerialization.jsonObject(with: (response.body ?? "{}").data(using: .utf8)!, options: .mutableContainers) as? [String: Any?] + let message: String = dict?[KEY] as? String ?? "" if message.caseInsensitiveCompare(INVALID_APP_ID) == .orderedSame { return ValidationStatus.INVALID_APP_ID diff --git a/AffiseAttributionLib/Classes/debug/validate/ValidationStatus.swift b/AffiseAttributionLib/Classes/debug/validate/ValidationStatus.swift index b200eca..66b2d39 100644 --- a/AffiseAttributionLib/Classes/debug/validate/ValidationStatus.swift +++ b/AffiseAttributionLib/Classes/debug/validate/ValidationStatus.swift @@ -1,3 +1,5 @@ +import Foundation + @objc public enum ValidationStatus: Int { case VALID diff --git a/AffiseAttributionLib/Classes/deeplink/DeeplinkManager.swift b/AffiseAttributionLib/Classes/deeplink/DeeplinkManager.swift index f6dad48..df8bb06 100644 --- a/AffiseAttributionLib/Classes/deeplink/DeeplinkManager.swift +++ b/AffiseAttributionLib/Classes/deeplink/DeeplinkManager.swift @@ -1,10 +1,5 @@ -// -// DeeplinkManager.swift -// AffiseAttributionLib -// -// Created by Sergey Korney -// - +import Foundation +import UIKit /** * Interface describing callback that is going to be triggered when deeplink is received by application diff --git a/AffiseAttributionLib/Classes/deeplink/DeeplinkManagerImpl.swift b/AffiseAttributionLib/Classes/deeplink/DeeplinkManagerImpl.swift index 6c1d844..ba6854c 100644 --- a/AffiseAttributionLib/Classes/deeplink/DeeplinkManagerImpl.swift +++ b/AffiseAttributionLib/Classes/deeplink/DeeplinkManagerImpl.swift @@ -1,9 +1,5 @@ -// -// DeeplinkManagerImpl.swift -// AffiseAttributionLib -// -// Created by Sergey Korney -// +import Foundation +import UIKit /** diff --git a/AffiseAttributionLib/Classes/errors/Errors.swift b/AffiseAttributionLib/Classes/errors/Errors.swift index 06acbb6..8375421 100644 --- a/AffiseAttributionLib/Classes/errors/Errors.swift +++ b/AffiseAttributionLib/Classes/errors/Errors.swift @@ -1,3 +1,5 @@ +import Foundation + public enum AffiseError: Error { case cloud(url: String, error: Error, attempts: Int, retry: Bool) case network(status: Int, message: String?) diff --git a/AffiseAttributionLib/Classes/events/EventsManager.swift b/AffiseAttributionLib/Classes/events/EventsManager.swift index c0ca30a..b907ae6 100644 --- a/AffiseAttributionLib/Classes/events/EventsManager.swift +++ b/AffiseAttributionLib/Classes/events/EventsManager.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Manager of Events * @@ -70,9 +72,7 @@ class EventsManager { */ private func startTimer() { //Stop timer if running - if let _ = timer { - stopTimer() - } + stopTimer() //Create timer timer = Timer(timeInterval: EventsManager.TIME_SEND_REPEAT, @@ -90,6 +90,7 @@ class EventsManager { * Stop timer fo repeat send events */ private func stopTimer() { + if timer == nil { return } //Stop timer timer?.invalidate() timer = nil diff --git a/AffiseAttributionLib/Classes/events/EventsRepositoryImpl.swift b/AffiseAttributionLib/Classes/events/EventsRepositoryImpl.swift index de1f1c2..25556cb 100644 --- a/AffiseAttributionLib/Classes/events/EventsRepositoryImpl.swift +++ b/AffiseAttributionLib/Classes/events/EventsRepositoryImpl.swift @@ -1,9 +1,4 @@ -// -// EventsRepositoryImpl.swift -// app -// -// Created by Sergey Korney -// +import Foundation /** @@ -60,13 +55,17 @@ extension EventsRepositoryImpl : EventsRepository { /** * Store web[event] by [urls] */ - func storeWebEvent(event: String, urls: Array) { + func storeWebEvent(event: String, urls: [String]) { do { //Create json - let dict = try JSONSerialization.jsonObject(with: event.data(using: .utf8)!, options: .mutableContainers) as! Dictionary + let dict = try JSONSerialization.jsonObject(with: event.data(using: .utf8)!, options: .mutableContainers) as? [String: Any?] //Gei event id - let id = dict[Parameters.AFFISE_EVENT_ID] as! String + guard let id = dict?[Parameters.AFFISE_EVENT_ID] as? String else { + //Log error + logsManager.addUserError(message: "No event Id") + return + } //Crreate serialized event let serializedEvent = SerializedEvent(id: id, data: event) diff --git a/AffiseAttributionLib/Classes/events/base/Event.swift b/AffiseAttributionLib/Classes/events/base/Event.swift index 422a717..f2e29e4 100644 --- a/AffiseAttributionLib/Classes/events/base/Event.swift +++ b/AffiseAttributionLib/Classes/events/base/Event.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Base event */ diff --git a/AffiseAttributionLib/Classes/events/base/NativeEvent.swift b/AffiseAttributionLib/Classes/events/base/NativeEvent.swift index fd013f4..f0dbcad 100644 --- a/AffiseAttributionLib/Classes/events/base/NativeEvent.swift +++ b/AffiseAttributionLib/Classes/events/base/NativeEvent.swift @@ -1,9 +1,4 @@ -// -// NativeEvent.swift -// app -// -// Created by Sergey Korney -// +import Foundation @objc diff --git a/AffiseAttributionLib/Classes/events/custom/UserCustomEvent.swift b/AffiseAttributionLib/Classes/events/custom/UserCustomEvent.swift index 7e94463..d932ca0 100644 --- a/AffiseAttributionLib/Classes/events/custom/UserCustomEvent.swift +++ b/AffiseAttributionLib/Classes/events/custom/UserCustomEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event UserCustom * diff --git a/AffiseAttributionLib/Classes/events/custom/UserCustomSubscriptionEvent.swift b/AffiseAttributionLib/Classes/events/custom/UserCustomSubscriptionEvent.swift index 515f91d..656e83a 100644 --- a/AffiseAttributionLib/Classes/events/custom/UserCustomSubscriptionEvent.swift +++ b/AffiseAttributionLib/Classes/events/custom/UserCustomSubscriptionEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event UserCustomSubscription * diff --git a/AffiseAttributionLib/Classes/events/parameters/PredefinedCustom.swift b/AffiseAttributionLib/Classes/events/parameters/PredefinedCustom.swift index e0c62ec..2f2bcb8 100644 --- a/AffiseAttributionLib/Classes/events/parameters/PredefinedCustom.swift +++ b/AffiseAttributionLib/Classes/events/parameters/PredefinedCustom.swift @@ -1,3 +1,5 @@ +import Foundation + @objc public class PredefinedCustom: NSObject { private var predefinedParameters: [(String, Any?)] = [] diff --git a/AffiseAttributionLib/Classes/events/parameters/PredefinedFloat.swift b/AffiseAttributionLib/Classes/events/parameters/PredefinedFloat.swift index 655d8af..0898e6f 100644 --- a/AffiseAttributionLib/Classes/events/parameters/PredefinedFloat.swift +++ b/AffiseAttributionLib/Classes/events/parameters/PredefinedFloat.swift @@ -1,3 +1,5 @@ +import Foundation + @objc public enum PredefinedFloat: Int { case PREFERRED_PRICE_RANGE diff --git a/AffiseAttributionLib/Classes/events/parameters/PredefinedListObject.swift b/AffiseAttributionLib/Classes/events/parameters/PredefinedListObject.swift index 0218d62..e5c7b01 100644 --- a/AffiseAttributionLib/Classes/events/parameters/PredefinedListObject.swift +++ b/AffiseAttributionLib/Classes/events/parameters/PredefinedListObject.swift @@ -1,3 +1,5 @@ +import Foundation + @objc public enum PredefinedListObject: Int { case CONTENT_LIST diff --git a/AffiseAttributionLib/Classes/events/parameters/PredefinedListString.swift b/AffiseAttributionLib/Classes/events/parameters/PredefinedListString.swift index 1ec39e7..90410ca 100644 --- a/AffiseAttributionLib/Classes/events/parameters/PredefinedListString.swift +++ b/AffiseAttributionLib/Classes/events/parameters/PredefinedListString.swift @@ -1,3 +1,5 @@ +import Foundation + @objc public enum PredefinedListString: Int { case CONTENT_IDS diff --git a/AffiseAttributionLib/Classes/events/parameters/PredefinedLong.swift b/AffiseAttributionLib/Classes/events/parameters/PredefinedLong.swift index ec7a22e..a3a0080 100644 --- a/AffiseAttributionLib/Classes/events/parameters/PredefinedLong.swift +++ b/AffiseAttributionLib/Classes/events/parameters/PredefinedLong.swift @@ -1,3 +1,5 @@ +import Foundation + @objc public enum PredefinedLong: Int { case AMOUNT diff --git a/AffiseAttributionLib/Classes/events/parameters/PredefinedObject.swift b/AffiseAttributionLib/Classes/events/parameters/PredefinedObject.swift index d46abbc..60ed092 100644 --- a/AffiseAttributionLib/Classes/events/parameters/PredefinedObject.swift +++ b/AffiseAttributionLib/Classes/events/parameters/PredefinedObject.swift @@ -1,3 +1,5 @@ +import Foundation + @objc public enum PredefinedObject: Int{ case CONTENT diff --git a/AffiseAttributionLib/Classes/events/parameters/PredefinedString.swift b/AffiseAttributionLib/Classes/events/parameters/PredefinedString.swift index 77ccb89..980448d 100644 --- a/AffiseAttributionLib/Classes/events/parameters/PredefinedString.swift +++ b/AffiseAttributionLib/Classes/events/parameters/PredefinedString.swift @@ -1,3 +1,5 @@ +import Foundation + @objc public enum PredefinedString: Int { case ADREV_AD_TYPE diff --git a/AffiseAttributionLib/Classes/events/predefined/AchieveLevelEvent.swift b/AffiseAttributionLib/Classes/events/predefined/AchieveLevelEvent.swift index 24b88fe..f0a86c3 100644 --- a/AffiseAttributionLib/Classes/events/predefined/AchieveLevelEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/AchieveLevelEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * When a user has some achieve level event. * diff --git a/AffiseAttributionLib/Classes/events/predefined/AdRevenueEvent.swift b/AffiseAttributionLib/Classes/events/predefined/AdRevenueEvent.swift index be0bc83..33204b2 100644 --- a/AffiseAttributionLib/Classes/events/predefined/AdRevenueEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/AdRevenueEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event AdRevenue * diff --git a/AffiseAttributionLib/Classes/events/predefined/AddPaymentInfoEvent.swift b/AffiseAttributionLib/Classes/events/predefined/AddPaymentInfoEvent.swift index 8e55efd..21a0331 100644 --- a/AffiseAttributionLib/Classes/events/predefined/AddPaymentInfoEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/AddPaymentInfoEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event AddPaymentInfo * diff --git a/AffiseAttributionLib/Classes/events/predefined/AddToCartEvent.swift b/AffiseAttributionLib/Classes/events/predefined/AddToCartEvent.swift index 36107ac..3cb74a1 100644 --- a/AffiseAttributionLib/Classes/events/predefined/AddToCartEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/AddToCartEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event AddToCart * diff --git a/AffiseAttributionLib/Classes/events/predefined/AddToWishlistEvent.swift b/AffiseAttributionLib/Classes/events/predefined/AddToWishlistEvent.swift index c0b608f..04c9eee 100644 --- a/AffiseAttributionLib/Classes/events/predefined/AddToWishlistEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/AddToWishlistEvent.swift @@ -1,3 +1,4 @@ +import Foundation /** * Event AddToWishlist diff --git a/AffiseAttributionLib/Classes/events/predefined/ClickAdvEvent.swift b/AffiseAttributionLib/Classes/events/predefined/ClickAdvEvent.swift index d035e14..98a5bbd 100644 --- a/AffiseAttributionLib/Classes/events/predefined/ClickAdvEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/ClickAdvEvent.swift @@ -1,3 +1,4 @@ +import Foundation /** * Event ClickAdv diff --git a/AffiseAttributionLib/Classes/events/predefined/CompleteRegistrationEvent.swift b/AffiseAttributionLib/Classes/events/predefined/CompleteRegistrationEvent.swift index 2b65b9b..8d7c282 100644 --- a/AffiseAttributionLib/Classes/events/predefined/CompleteRegistrationEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/CompleteRegistrationEvent.swift @@ -1,3 +1,4 @@ +import Foundation /** * Event CompleteRegistration diff --git a/AffiseAttributionLib/Classes/events/predefined/CompleteStreamEvent.swift b/AffiseAttributionLib/Classes/events/predefined/CompleteStreamEvent.swift index 95f96d3..a676191 100644 --- a/AffiseAttributionLib/Classes/events/predefined/CompleteStreamEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/CompleteStreamEvent.swift @@ -1,3 +1,4 @@ +import Foundation /** * Event CompleteStream diff --git a/AffiseAttributionLib/Classes/events/predefined/CompleteTrialEvent.swift b/AffiseAttributionLib/Classes/events/predefined/CompleteTrialEvent.swift index 5633e6c..616c43b 100644 --- a/AffiseAttributionLib/Classes/events/predefined/CompleteTrialEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/CompleteTrialEvent.swift @@ -1,3 +1,4 @@ +import Foundation /** * Event CompleteTrial diff --git a/AffiseAttributionLib/Classes/events/predefined/CompleteTutorialEvent.swift b/AffiseAttributionLib/Classes/events/predefined/CompleteTutorialEvent.swift index 43390c0..bc2a681 100644 --- a/AffiseAttributionLib/Classes/events/predefined/CompleteTutorialEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/CompleteTutorialEvent.swift @@ -1,3 +1,4 @@ +import Foundation /** * Event CompleteTutorial diff --git a/AffiseAttributionLib/Classes/events/predefined/ContactEvent.swift b/AffiseAttributionLib/Classes/events/predefined/ContactEvent.swift index 492b2fe..8d1e6fe 100644 --- a/AffiseAttributionLib/Classes/events/predefined/ContactEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/ContactEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event Contact * diff --git a/AffiseAttributionLib/Classes/events/predefined/ContentItemsViewEvent.swift b/AffiseAttributionLib/Classes/events/predefined/ContentItemsViewEvent.swift index 71ab86a..00fbc08 100644 --- a/AffiseAttributionLib/Classes/events/predefined/ContentItemsViewEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/ContentItemsViewEvent.swift @@ -1,3 +1,4 @@ +import Foundation /** * Event ContentItemsView diff --git a/AffiseAttributionLib/Classes/events/predefined/CustomId01Event.swift b/AffiseAttributionLib/Classes/events/predefined/CustomId01Event.swift index daa565c..e34dad3 100644 --- a/AffiseAttributionLib/Classes/events/predefined/CustomId01Event.swift +++ b/AffiseAttributionLib/Classes/events/predefined/CustomId01Event.swift @@ -1,10 +1,4 @@ -// -// CustomId01Event.swift -// app -// -// Created by Sergey Korney -// - +import Foundation /** * Event CustomId01 diff --git a/AffiseAttributionLib/Classes/events/predefined/CustomId02Event.swift b/AffiseAttributionLib/Classes/events/predefined/CustomId02Event.swift index 126861a..9753e7a 100644 --- a/AffiseAttributionLib/Classes/events/predefined/CustomId02Event.swift +++ b/AffiseAttributionLib/Classes/events/predefined/CustomId02Event.swift @@ -1,3 +1,4 @@ +import Foundation /** * Event CustomId02 diff --git a/AffiseAttributionLib/Classes/events/predefined/CustomId03Event.swift b/AffiseAttributionLib/Classes/events/predefined/CustomId03Event.swift index f80c456..7aac31e 100644 --- a/AffiseAttributionLib/Classes/events/predefined/CustomId03Event.swift +++ b/AffiseAttributionLib/Classes/events/predefined/CustomId03Event.swift @@ -1,3 +1,4 @@ +import Foundation /** * Event CustomId03 diff --git a/AffiseAttributionLib/Classes/events/predefined/CustomId04Event.swift b/AffiseAttributionLib/Classes/events/predefined/CustomId04Event.swift index c98db97..35f8798 100644 --- a/AffiseAttributionLib/Classes/events/predefined/CustomId04Event.swift +++ b/AffiseAttributionLib/Classes/events/predefined/CustomId04Event.swift @@ -1,3 +1,4 @@ +import Foundation /** * Event CustomId04 diff --git a/AffiseAttributionLib/Classes/events/predefined/CustomId05Event.swift b/AffiseAttributionLib/Classes/events/predefined/CustomId05Event.swift index 2918682..9fbd604 100644 --- a/AffiseAttributionLib/Classes/events/predefined/CustomId05Event.swift +++ b/AffiseAttributionLib/Classes/events/predefined/CustomId05Event.swift @@ -1,3 +1,4 @@ +import Foundation /** * Event CustomId05 diff --git a/AffiseAttributionLib/Classes/events/predefined/CustomId06Event.swift b/AffiseAttributionLib/Classes/events/predefined/CustomId06Event.swift index 45431ae..6162672 100644 --- a/AffiseAttributionLib/Classes/events/predefined/CustomId06Event.swift +++ b/AffiseAttributionLib/Classes/events/predefined/CustomId06Event.swift @@ -1,3 +1,4 @@ +import Foundation /** * Event CustomId06 diff --git a/AffiseAttributionLib/Classes/events/predefined/CustomId07Event.swift b/AffiseAttributionLib/Classes/events/predefined/CustomId07Event.swift index 5c7483f..ae9aff0 100644 --- a/AffiseAttributionLib/Classes/events/predefined/CustomId07Event.swift +++ b/AffiseAttributionLib/Classes/events/predefined/CustomId07Event.swift @@ -1,3 +1,4 @@ +import Foundation /** * Event CustomId07 diff --git a/AffiseAttributionLib/Classes/events/predefined/CustomId08Event.swift b/AffiseAttributionLib/Classes/events/predefined/CustomId08Event.swift index 06e6d85..f8ef903 100644 --- a/AffiseAttributionLib/Classes/events/predefined/CustomId08Event.swift +++ b/AffiseAttributionLib/Classes/events/predefined/CustomId08Event.swift @@ -1,3 +1,4 @@ +import Foundation /** * Event CustomId08 diff --git a/AffiseAttributionLib/Classes/events/predefined/CustomId09Event.swift b/AffiseAttributionLib/Classes/events/predefined/CustomId09Event.swift index 51ac197..67854c3 100644 --- a/AffiseAttributionLib/Classes/events/predefined/CustomId09Event.swift +++ b/AffiseAttributionLib/Classes/events/predefined/CustomId09Event.swift @@ -1,3 +1,4 @@ +import Foundation /** * Event CustomId09 diff --git a/AffiseAttributionLib/Classes/events/predefined/CustomId10Event.swift b/AffiseAttributionLib/Classes/events/predefined/CustomId10Event.swift index 962551c..b46622b 100644 --- a/AffiseAttributionLib/Classes/events/predefined/CustomId10Event.swift +++ b/AffiseAttributionLib/Classes/events/predefined/CustomId10Event.swift @@ -1,3 +1,4 @@ +import Foundation /** * Event CustomId10 diff --git a/AffiseAttributionLib/Classes/events/predefined/CustomizeProductEvent.swift b/AffiseAttributionLib/Classes/events/predefined/CustomizeProductEvent.swift index 2e22a34..33b08bb 100644 --- a/AffiseAttributionLib/Classes/events/predefined/CustomizeProductEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/CustomizeProductEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event CustomizeProductEvent * diff --git a/AffiseAttributionLib/Classes/events/predefined/DeepLinkedEvent.swift b/AffiseAttributionLib/Classes/events/predefined/DeepLinkedEvent.swift index 660b537..246d498 100644 --- a/AffiseAttributionLib/Classes/events/predefined/DeepLinkedEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/DeepLinkedEvent.swift @@ -1,3 +1,4 @@ +import Foundation /** * Event DeepLinked diff --git a/AffiseAttributionLib/Classes/events/predefined/DonateEvent.swift b/AffiseAttributionLib/Classes/events/predefined/DonateEvent.swift index 61ee575..46398e5 100644 --- a/AffiseAttributionLib/Classes/events/predefined/DonateEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/DonateEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event DonateEvent * diff --git a/AffiseAttributionLib/Classes/events/predefined/FindLocationEvent.swift b/AffiseAttributionLib/Classes/events/predefined/FindLocationEvent.swift index 15285d2..63b8edd 100644 --- a/AffiseAttributionLib/Classes/events/predefined/FindLocationEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/FindLocationEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event FindLocationEvent * diff --git a/AffiseAttributionLib/Classes/events/predefined/GDPREvent.swift b/AffiseAttributionLib/Classes/events/predefined/GDPREvent.swift index 153acc2..7cf84d2 100644 --- a/AffiseAttributionLib/Classes/events/predefined/GDPREvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/GDPREvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event GDPR * diff --git a/AffiseAttributionLib/Classes/events/predefined/InitiateCheckoutEvent.swift b/AffiseAttributionLib/Classes/events/predefined/InitiateCheckoutEvent.swift index a03be02..840e02a 100644 --- a/AffiseAttributionLib/Classes/events/predefined/InitiateCheckoutEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/InitiateCheckoutEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event InitiateCheckoutEvent * diff --git a/AffiseAttributionLib/Classes/events/predefined/InitiatePurchaseEvent.swift b/AffiseAttributionLib/Classes/events/predefined/InitiatePurchaseEvent.swift index 130a729..af4bc0d 100644 --- a/AffiseAttributionLib/Classes/events/predefined/InitiatePurchaseEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/InitiatePurchaseEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event InitiatePurchase * diff --git a/AffiseAttributionLib/Classes/events/predefined/InitiateStreamEvent.swift b/AffiseAttributionLib/Classes/events/predefined/InitiateStreamEvent.swift index a9996e7..e62c008 100644 --- a/AffiseAttributionLib/Classes/events/predefined/InitiateStreamEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/InitiateStreamEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event InitiateStream * diff --git a/AffiseAttributionLib/Classes/events/predefined/InviteEvent.swift b/AffiseAttributionLib/Classes/events/predefined/InviteEvent.swift index ccd92b6..aca83e6 100644 --- a/AffiseAttributionLib/Classes/events/predefined/InviteEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/InviteEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event Invite * diff --git a/AffiseAttributionLib/Classes/events/predefined/LastAttributedTouchEvent.swift b/AffiseAttributionLib/Classes/events/predefined/LastAttributedTouchEvent.swift index 0b200ab..747127d 100644 --- a/AffiseAttributionLib/Classes/events/predefined/LastAttributedTouchEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/LastAttributedTouchEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event LastAttributedTouch * diff --git a/AffiseAttributionLib/Classes/events/predefined/LeadEvent.swift b/AffiseAttributionLib/Classes/events/predefined/LeadEvent.swift index 06a4476..90e0922 100644 --- a/AffiseAttributionLib/Classes/events/predefined/LeadEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/LeadEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event LeadEvent * diff --git a/AffiseAttributionLib/Classes/events/predefined/ListViewEvent.swift b/AffiseAttributionLib/Classes/events/predefined/ListViewEvent.swift index a5bddcd..098105c 100644 --- a/AffiseAttributionLib/Classes/events/predefined/ListViewEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/ListViewEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event ListView * diff --git a/AffiseAttributionLib/Classes/events/predefined/LoginEvent.swift b/AffiseAttributionLib/Classes/events/predefined/LoginEvent.swift index d625d33..f6694e6 100644 --- a/AffiseAttributionLib/Classes/events/predefined/LoginEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/LoginEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event Login * diff --git a/AffiseAttributionLib/Classes/events/predefined/OpenedFromPushNotificationEvent.swift b/AffiseAttributionLib/Classes/events/predefined/OpenedFromPushNotificationEvent.swift index 7186364..9778a3e 100644 --- a/AffiseAttributionLib/Classes/events/predefined/OpenedFromPushNotificationEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/OpenedFromPushNotificationEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event OpenedFromPushNotification * diff --git a/AffiseAttributionLib/Classes/events/predefined/OrderCancelEvent.swift b/AffiseAttributionLib/Classes/events/predefined/OrderCancelEvent.swift index ab8c0d2..8cb09d7 100644 --- a/AffiseAttributionLib/Classes/events/predefined/OrderCancelEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/OrderCancelEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event OrderCancelEvent * diff --git a/AffiseAttributionLib/Classes/events/predefined/OrderEvent.swift b/AffiseAttributionLib/Classes/events/predefined/OrderEvent.swift index 5176f61..6c3e03b 100644 --- a/AffiseAttributionLib/Classes/events/predefined/OrderEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/OrderEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event Order * diff --git a/AffiseAttributionLib/Classes/events/predefined/OrderItemAddedEvent.swift b/AffiseAttributionLib/Classes/events/predefined/OrderItemAddedEvent.swift index 0720fb1..1b399fa 100644 --- a/AffiseAttributionLib/Classes/events/predefined/OrderItemAddedEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/OrderItemAddedEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event OrderItemAdded * diff --git a/AffiseAttributionLib/Classes/events/predefined/OrderItemRemoveEvent.swift b/AffiseAttributionLib/Classes/events/predefined/OrderItemRemoveEvent.swift index c8eec4e..91ea427 100644 --- a/AffiseAttributionLib/Classes/events/predefined/OrderItemRemoveEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/OrderItemRemoveEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event OrderItemRemove * diff --git a/AffiseAttributionLib/Classes/events/predefined/OrderReturnRequestCancelEvent.swift b/AffiseAttributionLib/Classes/events/predefined/OrderReturnRequestCancelEvent.swift index 78f419d..e822e4c 100644 --- a/AffiseAttributionLib/Classes/events/predefined/OrderReturnRequestCancelEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/OrderReturnRequestCancelEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event OrderReturnRequestCancel * diff --git a/AffiseAttributionLib/Classes/events/predefined/OrderReturnRequestEvent.swift b/AffiseAttributionLib/Classes/events/predefined/OrderReturnRequestEvent.swift index f9fb6a8..3a94c8e 100644 --- a/AffiseAttributionLib/Classes/events/predefined/OrderReturnRequestEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/OrderReturnRequestEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event OrderReturnRequest * diff --git a/AffiseAttributionLib/Classes/events/predefined/PurchaseEvent.swift b/AffiseAttributionLib/Classes/events/predefined/PurchaseEvent.swift index 371dcc9..2558174 100644 --- a/AffiseAttributionLib/Classes/events/predefined/PurchaseEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/PurchaseEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event Purchase use * diff --git a/AffiseAttributionLib/Classes/events/predefined/RateEvent.swift b/AffiseAttributionLib/Classes/events/predefined/RateEvent.swift index 75a80db..34d810b 100644 --- a/AffiseAttributionLib/Classes/events/predefined/RateEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/RateEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event Rate use * diff --git a/AffiseAttributionLib/Classes/events/predefined/ReEngageEvent.swift b/AffiseAttributionLib/Classes/events/predefined/ReEngageEvent.swift index d7dac5e..3d685e2 100644 --- a/AffiseAttributionLib/Classes/events/predefined/ReEngageEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/ReEngageEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event Rate use * diff --git a/AffiseAttributionLib/Classes/events/predefined/ReserveEvent.swift b/AffiseAttributionLib/Classes/events/predefined/ReserveEvent.swift index a0ab612..5e6c697 100644 --- a/AffiseAttributionLib/Classes/events/predefined/ReserveEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/ReserveEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event Reserve * diff --git a/AffiseAttributionLib/Classes/events/predefined/SalesEvent.swift b/AffiseAttributionLib/Classes/events/predefined/SalesEvent.swift index 6ad1f16..b04e334 100644 --- a/AffiseAttributionLib/Classes/events/predefined/SalesEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/SalesEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event Sales * diff --git a/AffiseAttributionLib/Classes/events/predefined/ScheduleEvent.swift b/AffiseAttributionLib/Classes/events/predefined/ScheduleEvent.swift index 9e39af8..2f84ac8 100644 --- a/AffiseAttributionLib/Classes/events/predefined/ScheduleEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/ScheduleEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event ScheduleEvent * diff --git a/AffiseAttributionLib/Classes/events/predefined/SearchEvent.swift b/AffiseAttributionLib/Classes/events/predefined/SearchEvent.swift index f84c0e4..1b772ee 100644 --- a/AffiseAttributionLib/Classes/events/predefined/SearchEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/SearchEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event Search * diff --git a/AffiseAttributionLib/Classes/events/predefined/ShareEvent.swift b/AffiseAttributionLib/Classes/events/predefined/ShareEvent.swift index 249766b..c05133d 100644 --- a/AffiseAttributionLib/Classes/events/predefined/ShareEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/ShareEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event Share * diff --git a/AffiseAttributionLib/Classes/events/predefined/SpendCreditsEvent.swift b/AffiseAttributionLib/Classes/events/predefined/SpendCreditsEvent.swift index aac4ea9..d031217 100644 --- a/AffiseAttributionLib/Classes/events/predefined/SpendCreditsEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/SpendCreditsEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event SpendCredits * diff --git a/AffiseAttributionLib/Classes/events/predefined/StartRegistrationEvent.swift b/AffiseAttributionLib/Classes/events/predefined/StartRegistrationEvent.swift index e26e5a8..d9b779b 100644 --- a/AffiseAttributionLib/Classes/events/predefined/StartRegistrationEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/StartRegistrationEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event StartRegistration * diff --git a/AffiseAttributionLib/Classes/events/predefined/StartTrialEvent.swift b/AffiseAttributionLib/Classes/events/predefined/StartTrialEvent.swift index 9d8b170..2f628bb 100644 --- a/AffiseAttributionLib/Classes/events/predefined/StartTrialEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/StartTrialEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event StartTrial * diff --git a/AffiseAttributionLib/Classes/events/predefined/StartTutorialEvent.swift b/AffiseAttributionLib/Classes/events/predefined/StartTutorialEvent.swift index c477614..22c32b2 100644 --- a/AffiseAttributionLib/Classes/events/predefined/StartTutorialEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/StartTutorialEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event StartTutorial * diff --git a/AffiseAttributionLib/Classes/events/predefined/SubmitApplicationEvent.swift b/AffiseAttributionLib/Classes/events/predefined/SubmitApplicationEvent.swift index d078f19..e95fb01 100644 --- a/AffiseAttributionLib/Classes/events/predefined/SubmitApplicationEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/SubmitApplicationEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event SubmitApplicationEvent * diff --git a/AffiseAttributionLib/Classes/events/predefined/SubscribeEvent.swift b/AffiseAttributionLib/Classes/events/predefined/SubscribeEvent.swift index 53a35b4..9100eb1 100644 --- a/AffiseAttributionLib/Classes/events/predefined/SubscribeEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/SubscribeEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event Subscribe * diff --git a/AffiseAttributionLib/Classes/events/predefined/TravelBookingEvent.swift b/AffiseAttributionLib/Classes/events/predefined/TravelBookingEvent.swift index 41966cb..fb6e264 100644 --- a/AffiseAttributionLib/Classes/events/predefined/TravelBookingEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/TravelBookingEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event TravelBooking * diff --git a/AffiseAttributionLib/Classes/events/predefined/UnlockAchievementEvent.swift b/AffiseAttributionLib/Classes/events/predefined/UnlockAchievementEvent.swift index 6ffb072..a7f714c 100644 --- a/AffiseAttributionLib/Classes/events/predefined/UnlockAchievementEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/UnlockAchievementEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event UnlockAchievement * diff --git a/AffiseAttributionLib/Classes/events/predefined/UnsubscribeEvent.swift b/AffiseAttributionLib/Classes/events/predefined/UnsubscribeEvent.swift index 63dcbad..f271693 100644 --- a/AffiseAttributionLib/Classes/events/predefined/UnsubscribeEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/UnsubscribeEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event Unsubscribe * diff --git a/AffiseAttributionLib/Classes/events/predefined/UpdateEvent.swift b/AffiseAttributionLib/Classes/events/predefined/UpdateEvent.swift index dfbe9c0..aacf4d1 100644 --- a/AffiseAttributionLib/Classes/events/predefined/UpdateEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/UpdateEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event Update * diff --git a/AffiseAttributionLib/Classes/events/predefined/ViewAdvEvent.swift b/AffiseAttributionLib/Classes/events/predefined/ViewAdvEvent.swift index 6f2a3ae..1ca4011 100644 --- a/AffiseAttributionLib/Classes/events/predefined/ViewAdvEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/ViewAdvEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event ViewAdv * diff --git a/AffiseAttributionLib/Classes/events/predefined/ViewCartEvent.swift b/AffiseAttributionLib/Classes/events/predefined/ViewCartEvent.swift index e5afc3c..2a8044b 100644 --- a/AffiseAttributionLib/Classes/events/predefined/ViewCartEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/ViewCartEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event ViewCart * diff --git a/AffiseAttributionLib/Classes/events/predefined/ViewContentEvent.swift b/AffiseAttributionLib/Classes/events/predefined/ViewContentEvent.swift index 66f0897..a2d9650 100644 --- a/AffiseAttributionLib/Classes/events/predefined/ViewContentEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/ViewContentEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event ViewContentEvent * diff --git a/AffiseAttributionLib/Classes/events/predefined/ViewItemEvent.swift b/AffiseAttributionLib/Classes/events/predefined/ViewItemEvent.swift index b0d117a..d801839 100644 --- a/AffiseAttributionLib/Classes/events/predefined/ViewItemEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/ViewItemEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event ViewItem * diff --git a/AffiseAttributionLib/Classes/events/predefined/ViewItemsEvent.swift b/AffiseAttributionLib/Classes/events/predefined/ViewItemsEvent.swift index 3fd9bfa..b2dd8e5 100644 --- a/AffiseAttributionLib/Classes/events/predefined/ViewItemsEvent.swift +++ b/AffiseAttributionLib/Classes/events/predefined/ViewItemsEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event ViewItems * diff --git a/AffiseAttributionLib/Classes/events/predefined/enum/TouchType.swift b/AffiseAttributionLib/Classes/events/predefined/enum/TouchType.swift index 084e6b5..c9fcf73 100644 --- a/AffiseAttributionLib/Classes/events/predefined/enum/TouchType.swift +++ b/AffiseAttributionLib/Classes/events/predefined/enum/TouchType.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Type of touch */ diff --git a/AffiseAttributionLib/Classes/events/subscription/BaseSubscriptionEvent.swift b/AffiseAttributionLib/Classes/events/subscription/BaseSubscriptionEvent.swift index 49b1261..796d258 100644 --- a/AffiseAttributionLib/Classes/events/subscription/BaseSubscriptionEvent.swift +++ b/AffiseAttributionLib/Classes/events/subscription/BaseSubscriptionEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Base Event of Subscription use [data] of event and [userData] */ diff --git a/AffiseAttributionLib/Classes/events/subscription/SubscriptionActivation.swift b/AffiseAttributionLib/Classes/events/subscription/SubscriptionActivation.swift index 41cb700..2c94306 100644 --- a/AffiseAttributionLib/Classes/events/subscription/SubscriptionActivation.swift +++ b/AffiseAttributionLib/Classes/events/subscription/SubscriptionActivation.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event InitialSubscription use [data] of event and [userData] */ diff --git a/AffiseAttributionLib/Classes/events/subscription/SubscriptionCancellation.swift b/AffiseAttributionLib/Classes/events/subscription/SubscriptionCancellation.swift index 6a8e03d..7af1e33 100644 --- a/AffiseAttributionLib/Classes/events/subscription/SubscriptionCancellation.swift +++ b/AffiseAttributionLib/Classes/events/subscription/SubscriptionCancellation.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event FailedTrial use [data] of event and [userData] */ diff --git a/AffiseAttributionLib/Classes/events/subscription/SubscriptionEnteredBillingRetry.swift b/AffiseAttributionLib/Classes/events/subscription/SubscriptionEnteredBillingRetry.swift index 5ffaf34..d5d1024 100644 --- a/AffiseAttributionLib/Classes/events/subscription/SubscriptionEnteredBillingRetry.swift +++ b/AffiseAttributionLib/Classes/events/subscription/SubscriptionEnteredBillingRetry.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event TrialInRetry use [data] of event and [userData] */ diff --git a/AffiseAttributionLib/Classes/events/subscription/SubscriptionFirstConversion.swift b/AffiseAttributionLib/Classes/events/subscription/SubscriptionFirstConversion.swift index 916773e..464b377 100644 --- a/AffiseAttributionLib/Classes/events/subscription/SubscriptionFirstConversion.swift +++ b/AffiseAttributionLib/Classes/events/subscription/SubscriptionFirstConversion.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event ConvertedTrial use [data] of event and [userData] */ diff --git a/AffiseAttributionLib/Classes/events/subscription/SubscriptionReactivation.swift b/AffiseAttributionLib/Classes/events/subscription/SubscriptionReactivation.swift index 5f6e03c..3828c07 100644 --- a/AffiseAttributionLib/Classes/events/subscription/SubscriptionReactivation.swift +++ b/AffiseAttributionLib/Classes/events/subscription/SubscriptionReactivation.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event ReactivatedSubscription use [data] of event and [userData] */ diff --git a/AffiseAttributionLib/Classes/events/subscription/SubscriptionRenewal.swift b/AffiseAttributionLib/Classes/events/subscription/SubscriptionRenewal.swift index e30085d..f656f18 100644 --- a/AffiseAttributionLib/Classes/events/subscription/SubscriptionRenewal.swift +++ b/AffiseAttributionLib/Classes/events/subscription/SubscriptionRenewal.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event RenewedSubscription use [data] of event and [userData] */ diff --git a/AffiseAttributionLib/Classes/events/subscription/SubscriptionRenewalFromBillingRetry.swift b/AffiseAttributionLib/Classes/events/subscription/SubscriptionRenewalFromBillingRetry.swift index fd3fb54..7d3ee21 100644 --- a/AffiseAttributionLib/Classes/events/subscription/SubscriptionRenewalFromBillingRetry.swift +++ b/AffiseAttributionLib/Classes/events/subscription/SubscriptionRenewalFromBillingRetry.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event ConvertedTrialFromRetry use [data] of event and [userData] */ diff --git a/AffiseAttributionLib/Classes/events/subscription/Unsubscription.swift b/AffiseAttributionLib/Classes/events/subscription/Unsubscription.swift index 6eee21a..98aa8bc 100644 --- a/AffiseAttributionLib/Classes/events/subscription/Unsubscription.swift +++ b/AffiseAttributionLib/Classes/events/subscription/Unsubscription.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event Unsubscription use [data] of event and [userData] */ diff --git a/AffiseAttributionLib/Classes/init/AffiseInitProperties.swift b/AffiseAttributionLib/Classes/init/AffiseInitProperties.swift index 3bcfc00..7569dfe 100644 --- a/AffiseAttributionLib/Classes/init/AffiseInitProperties.swift +++ b/AffiseAttributionLib/Classes/init/AffiseInitProperties.swift @@ -1,3 +1,5 @@ +import Foundation + @objc public class AffiseInitProperties: NSObject { let affiseAppId: String? diff --git a/AffiseAttributionLib/Classes/internal/InternalEvent.swift b/AffiseAttributionLib/Classes/internal/InternalEvent.swift index 4213ffe..c6b592a 100644 --- a/AffiseAttributionLib/Classes/internal/InternalEvent.swift +++ b/AffiseAttributionLib/Classes/internal/InternalEvent.swift @@ -1,3 +1,4 @@ +import Foundation /** * Base internal event diff --git a/AffiseAttributionLib/Classes/internal/InternalEventName.swift b/AffiseAttributionLib/Classes/internal/InternalEventName.swift index b8a8dc8..388abad 100644 --- a/AffiseAttributionLib/Classes/internal/InternalEventName.swift +++ b/AffiseAttributionLib/Classes/internal/InternalEventName.swift @@ -1,3 +1,5 @@ +import Foundation + @objc internal enum InternalEventName: Int { case SESSION_START diff --git a/AffiseAttributionLib/Classes/internal/StoreInternalEventUseCaseImpl.swift b/AffiseAttributionLib/Classes/internal/StoreInternalEventUseCaseImpl.swift index 836e660..0612469 100644 --- a/AffiseAttributionLib/Classes/internal/StoreInternalEventUseCaseImpl.swift +++ b/AffiseAttributionLib/Classes/internal/StoreInternalEventUseCaseImpl.swift @@ -1,3 +1,5 @@ +import Foundation + class StoreInternalEventUseCaseImpl { private let repository: InternalEventsRepository diff --git a/AffiseAttributionLib/Classes/internal/platform/InternalCrossPlatform.swift b/AffiseAttributionLib/Classes/internal/platform/InternalCrossPlatform.swift index b8db569..cc52892 100644 --- a/AffiseAttributionLib/Classes/internal/platform/InternalCrossPlatform.swift +++ b/AffiseAttributionLib/Classes/internal/platform/InternalCrossPlatform.swift @@ -1,3 +1,5 @@ +import Foundation + public class InternalCrossPlatform { private static func getApi() -> AffiseApi? { return Affise.getApi() } diff --git a/AffiseAttributionLib/Classes/internal/predefined/SessionStartInternalEvent.swift b/AffiseAttributionLib/Classes/internal/predefined/SessionStartInternalEvent.swift index 5e96faa..783ca4b 100644 --- a/AffiseAttributionLib/Classes/internal/predefined/SessionStartInternalEvent.swift +++ b/AffiseAttributionLib/Classes/internal/predefined/SessionStartInternalEvent.swift @@ -1,3 +1,5 @@ +import Foundation + /** * When session start. * diff --git a/AffiseAttributionLib/Classes/logs/LogsManager.swift b/AffiseAttributionLib/Classes/logs/LogsManager.swift index 56f726a..97ea25c 100644 --- a/AffiseAttributionLib/Classes/logs/LogsManager.swift +++ b/AffiseAttributionLib/Classes/logs/LogsManager.swift @@ -1,11 +1,3 @@ -// -// LogsManager.swift -// app -// -// Created by Sergey Korney -// - - /** * Manager logs interface */ @@ -25,6 +17,11 @@ public protocol LogsManager { * Add [throwable] of user */ func addUserError(error: Error) + + /** + * Add [throwable] of user + */ + func addUserError(message: String) /** * Add [throwable] of sdk diff --git a/AffiseAttributionLib/Classes/logs/LogsManagerImpl.swift b/AffiseAttributionLib/Classes/logs/LogsManagerImpl.swift index e32d0d6..c4efbda 100644 --- a/AffiseAttributionLib/Classes/logs/LogsManagerImpl.swift +++ b/AffiseAttributionLib/Classes/logs/LogsManagerImpl.swift @@ -1,11 +1,3 @@ -// -// LogsManagerImpl.swift -// app -// -// Created by Sergey Korney -// - - internal class LogsManagerImpl { private let storeLogsUseCase: StoreLogsUseCase @@ -63,6 +55,18 @@ extension LogsManagerImpl: LogsManager { ) } + /** + * Add user [throwable] to logs + */ + func addUserError(message: String) { + //Create UserdataLog + storeLog( + event: AffiseLog.UserdataLog( + value: message + ) + ) + } + /** * Add sdk [throwable] to logs */ diff --git a/AffiseAttributionLib/Classes/modules/AffiseKeyValue.swift b/AffiseAttributionLib/Classes/modules/AffiseKeyValue.swift index 417e0c7..7946891 100644 --- a/AffiseAttributionLib/Classes/modules/AffiseKeyValue.swift +++ b/AffiseAttributionLib/Classes/modules/AffiseKeyValue.swift @@ -1,3 +1,6 @@ +import Foundation + +@objc public class AffiseKeyValue: NSObject { public override var description: String { "key=\(key), value=\(value ?? "")" } diff --git a/AffiseAttributionLib/Classes/modules/AffiseModule.swift b/AffiseAttributionLib/Classes/modules/AffiseModule.swift index 57be865..e679ae4 100644 --- a/AffiseAttributionLib/Classes/modules/AffiseModule.swift +++ b/AffiseAttributionLib/Classes/modules/AffiseModule.swift @@ -1,9 +1,12 @@ -open class AffiseModule { +import UIKit + +@objc +open class AffiseModule: NSObject { - public let app: UIApplication - public let logsManager: LogsManager - public let dependencies: [Any] - public let baseProviders: [Provider] + public var app: UIApplication? + public var logsManager: LogsManager? + public var dependencies: [Any] = [] + public var baseProviders: [Provider] = [] public required init( app: UIApplication, @@ -11,6 +14,7 @@ open class AffiseModule { dependencies: [Any], providers: [Provider] ) { + super.init() self.app = app self.logsManager = logsManager self.dependencies = dependencies diff --git a/AffiseAttributionLib/Classes/modules/AffiseModuleManager.swift b/AffiseAttributionLib/Classes/modules/AffiseModuleManager.swift index 32dc306..402819d 100644 --- a/AffiseAttributionLib/Classes/modules/AffiseModuleManager.swift +++ b/AffiseAttributionLib/Classes/modules/AffiseModuleManager.swift @@ -1,3 +1,6 @@ +import Foundation +import UIKit + internal class AffiseModuleManager { private let bundle: Bundle @@ -35,7 +38,7 @@ internal class AffiseModuleManager { } func status(_ module: AffiseModules, _ onComplete: @escaping OnKeyValueCallback) { - modules[module]?.status(onComplete) + modules[module]?.status(onComplete) ?? onComplete([AffiseKeyValue(module.value(), "not found")]) } private func classType(_ name: AffiseModules) -> AffiseModule.Type? { diff --git a/AffiseAttributionLib/Classes/modules/AffiseModules.swift b/AffiseAttributionLib/Classes/modules/AffiseModules.swift index d692f16..d5d6199 100644 --- a/AffiseAttributionLib/Classes/modules/AffiseModules.swift +++ b/AffiseAttributionLib/Classes/modules/AffiseModules.swift @@ -1,3 +1,5 @@ +import Foundation + @objc public enum AffiseModules: Int { case Status @@ -11,12 +13,10 @@ public enum AffiseModules: Int { extension AffiseModules: CaseIterable, CustomStringConvertible { - internal func value() -> String { "\(AffiseModules.PREFIX).\(self.enumValue)Module" } + internal func value() -> String { "Affise\(self.enumValue)Module" } internal static func values() -> [AffiseModules] { allCases } - internal static let PREFIX: String = "AffiseModule" - public var description: String { enumValue } public static func from(_ name: String) -> AffiseModules? { diff --git a/AffiseAttributionLib/Classes/network/CloudRepositoryImpl.swift b/AffiseAttributionLib/Classes/network/CloudRepositoryImpl.swift index 6e357cb..2f28af0 100644 --- a/AffiseAttributionLib/Classes/network/CloudRepositoryImpl.swift +++ b/AffiseAttributionLib/Classes/network/CloudRepositoryImpl.swift @@ -1,3 +1,5 @@ +import Foundation + internal class CloudRepositoryImpl { private let ATTEMPTS_TO_SEND = 3 @@ -21,7 +23,6 @@ internal class CloudRepositoryImpl { */ private func createRequest(url: String, data: [PostBackModel]) -> HttpResponse { guard let httpsUrl = url.toURL() else { return HttpResponse(0, "", nil) } -// let sendData = try JSONSerialization.data(withJSONObject: dictArray, options: .prettyPrinted) //Create request return networkService.executeRequest( diff --git a/AffiseAttributionLib/Classes/network/HttpRequest.swift b/AffiseAttributionLib/Classes/network/HttpRequest.swift index cb93ec8..4cbd509 100644 --- a/AffiseAttributionLib/Classes/network/HttpRequest.swift +++ b/AffiseAttributionLib/Classes/network/HttpRequest.swift @@ -1,3 +1,5 @@ +import Foundation + @objc public class HttpRequest: NSObject { public let url: URL diff --git a/AffiseAttributionLib/Classes/network/HttpResponse.swift b/AffiseAttributionLib/Classes/network/HttpResponse.swift index 20c8d42..47a4981 100644 --- a/AffiseAttributionLib/Classes/network/HttpResponse.swift +++ b/AffiseAttributionLib/Classes/network/HttpResponse.swift @@ -1,3 +1,5 @@ +import Foundation + @objc public class HttpResponse: NSObject { public let code: Int diff --git a/AffiseAttributionLib/Classes/network/NetworkService.swift b/AffiseAttributionLib/Classes/network/NetworkService.swift index d0176ea..d0210d0 100644 --- a/AffiseAttributionLib/Classes/network/NetworkService.swift +++ b/AffiseAttributionLib/Classes/network/NetworkService.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Method of connection */ diff --git a/AffiseAttributionLib/Classes/network/NetworkServiceImpl.swift b/AffiseAttributionLib/Classes/network/NetworkServiceImpl.swift index 0fcd54a..e9d1a9b 100644 --- a/AffiseAttributionLib/Classes/network/NetworkServiceImpl.swift +++ b/AffiseAttributionLib/Classes/network/NetworkServiceImpl.swift @@ -1,3 +1,5 @@ +import Foundation + public class NetworkServiceImpl { private let urlSession: URLSession private var debugRequest: DebugOnNetworkCallback? diff --git a/AffiseAttributionLib/Classes/parameters/ProviderType.swift b/AffiseAttributionLib/Classes/parameters/ProviderType.swift index 73b55d8..5d984ad 100644 --- a/AffiseAttributionLib/Classes/parameters/ProviderType.swift +++ b/AffiseAttributionLib/Classes/parameters/ProviderType.swift @@ -1,3 +1,5 @@ +import Foundation + @objc public enum ProviderType: Int { case AFFISE_APP_ID diff --git a/AffiseAttributionLib/Classes/parameters/providers/CountryProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/CountryProvider.swift index cdd1a5b..efebee4 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/CountryProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/CountryProvider.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Provider for parameter [ProviderType.COUNTRY] */ diff --git a/AffiseAttributionLib/Classes/parameters/providers/CpuTypeProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/CpuTypeProvider.swift index 6b4bff7..ba2db43 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/CpuTypeProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/CpuTypeProvider.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Provider for parameter [ProviderType.CPU_TYPE] */ diff --git a/AffiseAttributionLib/Classes/parameters/providers/DeviceNameProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/DeviceNameProvider.swift index 98b11bf..67305c3 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/DeviceNameProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/DeviceNameProvider.swift @@ -1,3 +1,5 @@ +import UIKit + /** * Provider for parameter [ProviderType.DEVICE_NAME] */ diff --git a/AffiseAttributionLib/Classes/parameters/providers/DeviceTypeProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/DeviceTypeProvider.swift index eeb808b..181f338 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/DeviceTypeProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/DeviceTypeProvider.swift @@ -1,3 +1,5 @@ +import UIKit + /** * Provider for parameter [ProviderType.DEVICE_TYPE] */ diff --git a/AffiseAttributionLib/Classes/parameters/providers/HardwareNameProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/HardwareNameProvider.swift index 864cad9..9b6ee49 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/HardwareNameProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/HardwareNameProvider.swift @@ -1,3 +1,5 @@ +import UIKit + /** * Provider for parameter [ProviderType.HARDWARE_NAME] */ diff --git a/AffiseAttributionLib/Classes/parameters/providers/LanguageProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/LanguageProvider.swift index 680b586..3efcf7f 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/LanguageProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/LanguageProvider.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Provider for parameter [ProviderType.LANGUAGE] */ diff --git a/AffiseAttributionLib/Classes/parameters/providers/OSVersionProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/OSVersionProvider.swift index 1bd8bd7..f6f36d6 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/OSVersionProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/OSVersionProvider.swift @@ -1,3 +1,5 @@ +import UIKit + /** * Provider for parameter [ProviderType.OS_VERSION] */ diff --git a/AffiseAttributionLib/Classes/parameters/providers/OsNameProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/OsNameProvider.swift index 906a34c..6e6971e 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/OsNameProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/OsNameProvider.swift @@ -1,3 +1,5 @@ +import UIKit + /** * Provider for parameter [ProviderType.OS_NAME] */ diff --git a/AffiseAttributionLib/Classes/parameters/providers/ProxyIpAddressProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/ProxyIpAddressProvider.swift index 59f0d14..9c68dd6 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/ProxyIpAddressProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/ProxyIpAddressProvider.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Provider for parameter [ProviderType.PROXY_IP_ADDRESS] */ diff --git a/AffiseAttributionLib/Classes/parameters/providers/PushTokenProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/PushTokenProvider.swift index 3a976ff..cdf122f 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/PushTokenProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/PushTokenProvider.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Provider for parameter [ProviderType.PUSHTOKEN] * diff --git a/AffiseAttributionLib/Classes/parameters/providers/RefTokenProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/RefTokenProvider.swift index 0152b62..002c433 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/RefTokenProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/RefTokenProvider.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Provider for parameter [ProviderType.REFTOKEN] * diff --git a/AffiseAttributionLib/Classes/parameters/providers/RefTokensProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/RefTokensProvider.swift index adfc237..4d25e8a 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/RefTokensProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/RefTokensProvider.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Provider for parameter [ProviderType.REFTOKENS] * diff --git a/AffiseAttributionLib/Classes/parameters/providers/RegionProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/RegionProvider.swift index 76fbf9e..c09b4ce 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/RegionProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/RegionProvider.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Provider for parameter [ProviderType.REGION] */ diff --git a/AffiseAttributionLib/Classes/parameters/providers/TimezoneDeviceProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/TimezoneDeviceProvider.swift index 3ee0639..1c9eaab 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/TimezoneDeviceProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/TimezoneDeviceProvider.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Provider for parameter [ProviderType.TIMEZONE_DEV] */ diff --git a/AffiseAttributionLib/Classes/parameters/providers/factory/PropertiesProviderFactory.swift b/AffiseAttributionLib/Classes/parameters/providers/factory/PropertiesProviderFactory.swift index 1acfe5f..95ec476 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/factory/PropertiesProviderFactory.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/factory/PropertiesProviderFactory.swift @@ -1,10 +1,5 @@ -// -// PropertiesProviderFactory.swift -// app -// -// Created by Sergey Korney -// - +import Foundation +import UIKit /** * Factory for [PostBackModelFactory] diff --git a/AffiseAttributionLib/Classes/parameters/providers/init/AffSDKVersionProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/init/AffSDKVersionProvider.swift index 8ea43b4..823f965 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/init/AffSDKVersionProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/init/AffSDKVersionProvider.swift @@ -5,7 +5,7 @@ class AffSDKVersionProvider: StringPropertyProvider { override func provide() -> String? { - return "1.6.15" + return "1.6.16" } public override func getOrder() -> Float { diff --git a/AffiseAttributionLib/Classes/parameters/providers/init/AffisePackageAppNameProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/init/AffisePackageAppNameProvider.swift index 70a12fd..3202754 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/init/AffisePackageAppNameProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/init/AffisePackageAppNameProvider.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Provider for parameter [ProviderType.AFFISE_PKG_APP_NAME] * diff --git a/AffiseAttributionLib/Classes/parameters/providers/init/AppVersionProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/init/AppVersionProvider.swift index b7fb038..c5b36f7 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/init/AppVersionProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/init/AppVersionProvider.swift @@ -1,3 +1,4 @@ +import Foundation /** * Provider for parameter [ProviderType.APP_VERSION] diff --git a/AffiseAttributionLib/Classes/parameters/providers/init/AppVersionRawProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/init/AppVersionRawProvider.swift index c08a680..80543f7 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/init/AppVersionRawProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/init/AppVersionRawProvider.swift @@ -1,3 +1,4 @@ +import Foundation /** * App version number (Android) [ProviderType.APP_VERSION_RAW] diff --git a/AffiseAttributionLib/Classes/parameters/providers/time/CreatedTimeHourProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/time/CreatedTimeHourProvider.swift index 18875db..00c9bff 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/time/CreatedTimeHourProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/time/CreatedTimeHourProvider.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Provider for parameter [ProviderType.CREATED_TIME_HOUR] */ diff --git a/AffiseAttributionLib/Classes/parameters/providers/time/CreatedTimeMilliProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/time/CreatedTimeMilliProvider.swift index 41b0e0e..ba60baf 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/time/CreatedTimeMilliProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/time/CreatedTimeMilliProvider.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Provider for parameter [ProviderType.CREATED_TIME_MILLI] */ diff --git a/AffiseAttributionLib/Classes/parameters/providers/time/CreatedTimeProvider.swift b/AffiseAttributionLib/Classes/parameters/providers/time/CreatedTimeProvider.swift index 798f99e..0347eb0 100644 --- a/AffiseAttributionLib/Classes/parameters/providers/time/CreatedTimeProvider.swift +++ b/AffiseAttributionLib/Classes/parameters/providers/time/CreatedTimeProvider.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Provider for parameter [ProviderType.CREATED_TIME] */ diff --git a/AffiseAttributionLib/Classes/preferences/ApplicationLifetimePreferencesRepositoryImpl.swift b/AffiseAttributionLib/Classes/preferences/ApplicationLifetimePreferencesRepositoryImpl.swift index d4fdaaa..a39fa23 100644 --- a/AffiseAttributionLib/Classes/preferences/ApplicationLifetimePreferencesRepositoryImpl.swift +++ b/AffiseAttributionLib/Classes/preferences/ApplicationLifetimePreferencesRepositoryImpl.swift @@ -1,9 +1,4 @@ -// -// ApplicationLifetimePreferencesRepositoryImpl.swift -// AffiseAttributionLib -// -// Created by Sergey Korney -// +import Foundation /** @@ -19,10 +14,7 @@ internal class ApplicationLifetimePreferencesRepositoryImpl : ApplicationLifetim init(userDefaults: UserDefaults) { self.userDefaults = userDefaults - } - - - + } var preferences: ApplicationLifetimePreferences { get { @@ -33,6 +25,5 @@ internal class ApplicationLifetimePreferencesRepositoryImpl : ApplicationLifetim set { userDefaults.set(newValue.trackingEnabled, forKey: ApplicationLifetimePreferencesRepositoryImpl.PREFERENCE_TRACKING) } - } } diff --git a/AffiseAttributionLib/Classes/session/SessionManager.swift b/AffiseAttributionLib/Classes/session/SessionManager.swift index 96d0838..48e89d2 100644 --- a/AffiseAttributionLib/Classes/session/SessionManager.swift +++ b/AffiseAttributionLib/Classes/session/SessionManager.swift @@ -1,10 +1,4 @@ -// -// SessionManager.swift -// app -// -// Created by Sergey Korney -// - +import Foundation /** * Manager Session interface diff --git a/AffiseAttributionLib/Classes/session/SessionManagerImpl.swift b/AffiseAttributionLib/Classes/session/SessionManagerImpl.swift index 9d42e9d..d866ec3 100644 --- a/AffiseAttributionLib/Classes/session/SessionManagerImpl.swift +++ b/AffiseAttributionLib/Classes/session/SessionManagerImpl.swift @@ -1,9 +1,4 @@ -// -// SessionManagerImpl.swift -// app -// -// Created by Sergey Korney -// +import Foundation struct SessionData { diff --git a/AffiseAttributionLib/Classes/settings/AffiseSettings.swift b/AffiseAttributionLib/Classes/settings/AffiseSettings.swift index d7154ed..c84f828 100644 --- a/AffiseAttributionLib/Classes/settings/AffiseSettings.swift +++ b/AffiseAttributionLib/Classes/settings/AffiseSettings.swift @@ -1,3 +1,6 @@ +import Foundation +import UIKit + @objc public class AffiseSettings: NSObject { diff --git a/AffiseAttributionLib/Classes/storages/EventsStorageImpl.swift b/AffiseAttributionLib/Classes/storages/EventsStorageImpl.swift index 558cec1..9534eba 100644 --- a/AffiseAttributionLib/Classes/storages/EventsStorageImpl.swift +++ b/AffiseAttributionLib/Classes/storages/EventsStorageImpl.swift @@ -1,3 +1,5 @@ +import Foundation + class EventsStorageImpl { private let logsManager: LogsManager diff --git a/AffiseAttributionLib/Classes/storages/InternalEventsStorageImpl.swift b/AffiseAttributionLib/Classes/storages/InternalEventsStorageImpl.swift index 9be678d..e981a2d 100644 --- a/AffiseAttributionLib/Classes/storages/InternalEventsStorageImpl.swift +++ b/AffiseAttributionLib/Classes/storages/InternalEventsStorageImpl.swift @@ -1,3 +1,5 @@ +import Foundation + class InternalEventsStorageImpl { private let logsManager: LogsManager diff --git a/AffiseAttributionLib/Classes/storages/IsFirstForUserStorageImpl.swift b/AffiseAttributionLib/Classes/storages/IsFirstForUserStorageImpl.swift index eeafb13..a7c8d5e 100644 --- a/AffiseAttributionLib/Classes/storages/IsFirstForUserStorageImpl.swift +++ b/AffiseAttributionLib/Classes/storages/IsFirstForUserStorageImpl.swift @@ -1,3 +1,5 @@ +import Foundation + class IsFirstForUserStorageImpl { private let logsManager: LogsManager diff --git a/AffiseAttributionLib/Classes/storages/LogsStorageImpl.swift b/AffiseAttributionLib/Classes/storages/LogsStorageImpl.swift index b5b71b1..bc37ec9 100644 --- a/AffiseAttributionLib/Classes/storages/LogsStorageImpl.swift +++ b/AffiseAttributionLib/Classes/storages/LogsStorageImpl.swift @@ -1,10 +1,4 @@ -// -// LogsStorageImpl.swift -// AffiseAttributionLib -// -// Created by Sergey Korney -// - +import Foundation class LogsStorageImpl { diff --git a/AffiseAttributionLib/Classes/usecase/FirstAppOpenUseCase.swift b/AffiseAttributionLib/Classes/usecase/FirstAppOpenUseCase.swift index 394ac0a..1ed0aa5 100644 --- a/AffiseAttributionLib/Classes/usecase/FirstAppOpenUseCase.swift +++ b/AffiseAttributionLib/Classes/usecase/FirstAppOpenUseCase.swift @@ -1,9 +1,4 @@ -// -// FirstAppOpenUseCase.swift -// app -// -// Created by Sergey Korney -// +import Foundation internal class FirstAppOpenUseCase { diff --git a/AffiseAttributionLib/Classes/usecase/IsFirstForUserUseCaseImpl.swift b/AffiseAttributionLib/Classes/usecase/IsFirstForUserUseCaseImpl.swift index 7a44a54..c50ae1f 100644 --- a/AffiseAttributionLib/Classes/usecase/IsFirstForUserUseCaseImpl.swift +++ b/AffiseAttributionLib/Classes/usecase/IsFirstForUserUseCaseImpl.swift @@ -1,3 +1,5 @@ +import Foundation + /** * Event use case for IsFirstForUser * @@ -56,14 +58,14 @@ extension IsFirstForUserUseCaseImpl: IsFirstForUserUseCase { func updateWebEvent(_ event: String) -> String { do { var eventClass: String? = nil - var dict = try JSONSerialization.jsonObject(with: event.data(using: .utf8)!, options: .mutableContainers) as! [String: Any?] + var dict = try JSONSerialization.jsonObject(with: event.data(using: .utf8)!, options: .mutableContainers) as? [String: Any?] - let subtype = (dict[Parameters.AFFISE_EVENT_DATA] as? [String: Any?])?[SubscriptionParameters.AFFISE_SUBSCRIPTION_EVENT_TYPE_KEY.rawValue] as? String + let subtype = (dict?[Parameters.AFFISE_EVENT_DATA] as? [String: Any?])?[SubscriptionParameters.AFFISE_SUBSCRIPTION_EVENT_TYPE_KEY.rawValue] as? String if let subtype = subtype { eventClass = subtype } else { - eventClass = dict[Parameters.AFFISE_EVENT_NAME] as? String + eventClass = dict?[Parameters.AFFISE_EVENT_NAME] as? String } guard let eventClass = eventClass else { @@ -71,14 +73,13 @@ extension IsFirstForUserUseCaseImpl: IsFirstForUserUseCase { } if (self.cacheContains(eventClass)) { - dict[Parameters.AFFISE_EVENT_FIRST_FOR_USER] = false + dict?[Parameters.AFFISE_EVENT_FIRST_FOR_USER] = false } else { self.cacheAppend(eventClass) self.isFirstForUserStorage.add(eventClass) - dict[Parameters.AFFISE_EVENT_FIRST_FOR_USER] = true + dict?[Parameters.AFFISE_EVENT_FIRST_FOR_USER] = true } - - let jsonData = try JSONSerialization.data(withJSONObject: dict, options: .prettyPrinted) + let jsonData = try JSONSerialization.data(withJSONObject: dict ?? "{}", options: .prettyPrinted) return String(data: jsonData, encoding: .utf8)! } catch { return event diff --git a/AffiseAttributionLib/Classes/usecase/SendDataToServerUseCaseImpl.swift b/AffiseAttributionLib/Classes/usecase/SendDataToServerUseCaseImpl.swift index be61b6a..d028558 100644 --- a/AffiseAttributionLib/Classes/usecase/SendDataToServerUseCaseImpl.swift +++ b/AffiseAttributionLib/Classes/usecase/SendDataToServerUseCaseImpl.swift @@ -1,3 +1,5 @@ +import Foundation + internal class SendDataToServerUseCaseImpl { private static let TIME_DELAY_SENDING: TimeInterval = 15 diff --git a/AffiseAttributionLib/Classes/usecase/StoreEventUseCaseImpl.swift b/AffiseAttributionLib/Classes/usecase/StoreEventUseCaseImpl.swift index 4ee92f3..b77f072 100644 --- a/AffiseAttributionLib/Classes/usecase/StoreEventUseCaseImpl.swift +++ b/AffiseAttributionLib/Classes/usecase/StoreEventUseCaseImpl.swift @@ -1,3 +1,5 @@ +import Foundation + class StoreEventUseCaseImpl { private let repository: EventsRepository private let eventsManager: EventsManager diff --git a/AffiseAttributionLib/Classes/usecase/StoreLogsUseCaseImpl.swift b/AffiseAttributionLib/Classes/usecase/StoreLogsUseCaseImpl.swift index 02d32e8..bb9622e 100644 --- a/AffiseAttributionLib/Classes/usecase/StoreLogsUseCaseImpl.swift +++ b/AffiseAttributionLib/Classes/usecase/StoreLogsUseCaseImpl.swift @@ -1,9 +1,4 @@ -// -// StoreLogsUseCaseImpl.swift -// AffiseAttributionLib -// -// Created by Sergey Korney -// +import Foundation /** diff --git a/AffiseAttributionLib/Classes/usecase/WebViewUseCase.swift b/AffiseAttributionLib/Classes/usecase/WebViewUseCase.swift index 54f3697..020cb69 100644 --- a/AffiseAttributionLib/Classes/usecase/WebViewUseCase.swift +++ b/AffiseAttributionLib/Classes/usecase/WebViewUseCase.swift @@ -1,10 +1,4 @@ -// -// WebViewUseCase.swift -// AffiseAttributionLib -// -// Created by Sergey Korney -// - +import Foundation import WebKit diff --git a/AffiseAttributionLib/Classes/utils/DelayRun.swift b/AffiseAttributionLib/Classes/utils/DelayRun.swift index 628a871..6bdb0c1 100644 --- a/AffiseAttributionLib/Classes/utils/DelayRun.swift +++ b/AffiseAttributionLib/Classes/utils/DelayRun.swift @@ -1,3 +1,5 @@ +import Foundation + func delayRun(delay: TimeInterval, execute: @escaping () -> Void) { DispatchQueue.main.asyncAfter(deadline: .now() + delay) { execute() diff --git a/AffiseAttributionLib/Classes/utils/StringUtils.swift b/AffiseAttributionLib/Classes/utils/StringUtils.swift index d391378..73b8415 100644 --- a/AffiseAttributionLib/Classes/utils/StringUtils.swift +++ b/AffiseAttributionLib/Classes/utils/StringUtils.swift @@ -1,3 +1,5 @@ +import Foundation + public func isNullOrBlank(_ text: String?) -> Bool { guard let text = text else { return true diff --git a/AffiseAttributionLib/Classes/utils/TimeInterval+Utils.swift b/AffiseAttributionLib/Classes/utils/TimeInterval+Utils.swift index d2e9e7c..9407cc5 100644 --- a/AffiseAttributionLib/Classes/utils/TimeInterval+Utils.swift +++ b/AffiseAttributionLib/Classes/utils/TimeInterval+Utils.swift @@ -1,10 +1,4 @@ -// -// Int64+Time.swift -// AffiseAttributionLib -// -// Created by Sergey Korney -// - +import Foundation extension TimeInterval { var stripTimestampToHours: TimeInterval { diff --git a/AffiseAttributionLib/Classes/utils/Timestamp.swift b/AffiseAttributionLib/Classes/utils/Timestamp.swift index ba8ca88..e5b6343 100644 --- a/AffiseAttributionLib/Classes/utils/Timestamp.swift +++ b/AffiseAttributionLib/Classes/utils/Timestamp.swift @@ -1,3 +1,5 @@ +import Foundation + public func timestamp() -> Int64 { return Int64(Date().timeIntervalSince1970 * 1000) } diff --git a/AffiseAttributionLib/Classes/utils/ToSnakeCase.swift b/AffiseAttributionLib/Classes/utils/ToSnakeCase.swift index d5e5ca6..dccf404 100644 --- a/AffiseAttributionLib/Classes/utils/ToSnakeCase.swift +++ b/AffiseAttributionLib/Classes/utils/ToSnakeCase.swift @@ -1,3 +1,5 @@ +import Foundation + public extension String { func toSnakeCase() -> String? { let pattern = "(?<=.)([A-Z]|\\d+)" diff --git a/AffiseAttributionLib/Classes/utils/UUID.swift b/AffiseAttributionLib/Classes/utils/UUID.swift index 071053d..d2a99b8 100644 --- a/AffiseAttributionLib/Classes/utils/UUID.swift +++ b/AffiseAttributionLib/Classes/utils/UUID.swift @@ -1,3 +1,5 @@ +import Foundation + private func get64LeastSignificantBitsForVersion1() -> Int64 { let random = Int64.random(in: 0...Int64.max) let random63BitLong = random & 0x3FFFFFFFFFFFFFFF diff --git a/AffiseAttributionLib/Classes/webbridge/WebBridgeManager.swift b/AffiseAttributionLib/Classes/webbridge/WebBridgeManager.swift index ccc8d8e..c47f887 100644 --- a/AffiseAttributionLib/Classes/webbridge/WebBridgeManager.swift +++ b/AffiseAttributionLib/Classes/webbridge/WebBridgeManager.swift @@ -1,10 +1,4 @@ -// -// WebBridgeManager.swift -// AffiseAttributionLib -// -// Created by Sergey Korney -// - +import Foundation import WebKit internal class WebBridgeManager: NSObject, WKScriptMessageHandler { @@ -31,9 +25,8 @@ internal class WebBridgeManager: NSObject, WKScriptMessageHandler { self.webView = webView webView.configuration.userContentController.add(self, name: WEB_BRIDGE_JAVASCRIPT_INTERFACE_NAME) webView.configuration.userContentController.add(self, name: WEB_BRIDGE_LOG) - let bundle = Bundle(for: type(of: self)) do { - guard let path = bundle.path(forResource: "affise", ofType: "js") else { + guard let path = getAssetPath(name: "affise", ext: "js") else { return } let contents = try String(contentsOfFile: path) @@ -79,4 +72,35 @@ internal class WebBridgeManager: NSObject, WKScriptMessageHandler { break } } + + private func getAssetPath(name: String, ext: String) -> String? { + let bundle = Bundle(for: type(of: self)) + + if let path = bundle.path(forResource: name, ofType: ext) { + return path + } + + if let path = getSpmBundle()?.path(forResource: name, ofType: ext) { + return path + } + + return nil + } + + private func getSpmBundle() -> Bundle? { + let bundleName = "Affise_AffiseAttributionLib.bundle" + let resourceURLs = [ + Bundle.main.resourceURL, + Bundle.main.bundleURL, + Bundle(for: type(of: self)).resourceURL + ] + + for url in resourceURLs { + let bundlePath = url?.appendingPathComponent(bundleName) + if let bundle = bundlePath.flatMap(Bundle.init(url:)) { + return bundle + } + } + return nil + } } diff --git a/AffiseInternal.podspec b/AffiseInternal.podspec index e97d868..2f01da5 100644 --- a/AffiseInternal.podspec +++ b/AffiseInternal.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |spec| spec.name = "AffiseInternal" - spec.version = ENV['LIB_VERSION'] || "1.6.15" + spec.version = ENV['LIB_VERSION'] || "1.6.16" spec.summary = "Affise Internal library" spec.description = "Affise Internal wrapper library for crossplatform" spec.homepage = "https://github.com/affise/sdk-ios" diff --git a/AffiseInternal/Classes/AffiseApiMethod.swift b/AffiseInternal/Classes/AffiseApiMethod.swift index b97f5f0..27f6eaa 100644 --- a/AffiseInternal/Classes/AffiseApiMethod.swift +++ b/AffiseInternal/Classes/AffiseApiMethod.swift @@ -1,3 +1,5 @@ +import Foundation + @objc public enum AffiseApiMethod: Int { case INIT diff --git a/AffiseInternal/Classes/AffiseApiWrapper.swift b/AffiseInternal/Classes/AffiseApiWrapper.swift index 4eea051..2a156b0 100644 --- a/AffiseInternal/Classes/AffiseApiWrapper.swift +++ b/AffiseInternal/Classes/AffiseApiWrapper.swift @@ -1,3 +1,5 @@ +import Foundation +import UIKit import AffiseAttributionLib @objc @@ -26,16 +28,13 @@ public class AffiseApiWrapper: NSObject { } } - public func setCallback(_ callback: @escaping (_ api: String, _ map: [String: Any?]) -> Void) { - self.callback = { apiName, map in - callback(apiName, map) - } + public func setCallback(_ callback: @escaping OnCallback) { + self.callback = callback } @objc(deeplink:) public func handleDeeplink(_ link: String?) { - guard let url = link else { return } - InternalCrossPlatform.deeplink(url) + InternalCrossPlatform.deeplink(link ?? "") } @objc(react) diff --git a/AffiseInternal/Classes/builder/AffiseBuilder.swift b/AffiseInternal/Classes/builder/AffiseBuilder.swift index 1845cd9..bd013b4 100644 --- a/AffiseInternal/Classes/builder/AffiseBuilder.swift +++ b/AffiseInternal/Classes/builder/AffiseBuilder.swift @@ -1,4 +1,6 @@ +import Foundation import AffiseAttributionLib + internal class AffiseBuilder { func call(_ api: AffiseApiMethod, _ map: [String: Any?], _ result: AffiseResult?) { guard let data: [String: Any?] = map.opt(api) else { @@ -43,18 +45,18 @@ internal class AffiseBuilder { let currency: String? = map.opt(AffiseBuilderProperty.CURRENCY) - let _ = adRevenue.setRevenue(revenue.doubleValue, currency ?? "") + _ = adRevenue.setRevenue(revenue.doubleValue, currency ?? "") if let network: String = map.opt(AffiseBuilderProperty.NETWORK) { - let _ = adRevenue.setNetwork(network) + _ = adRevenue.setNetwork(network) } if let unit: String = map.opt(AffiseBuilderProperty.UNIT) { - let _ = adRevenue.setUnit(unit) + _ = adRevenue.setUnit(unit) } if let placement: String = map.opt(AffiseBuilderProperty.PLACEMENT) { - let _ = adRevenue.setPlacement(placement) + _ = adRevenue.setPlacement(placement) } adRevenue.send() diff --git a/AffiseInternal/Classes/callback/AffiseResult.swift b/AffiseInternal/Classes/callback/AffiseResult.swift index 9fed322..87a78ba 100644 --- a/AffiseInternal/Classes/callback/AffiseResult.swift +++ b/AffiseInternal/Classes/callback/AffiseResult.swift @@ -1,3 +1,5 @@ +import Foundation + @objc public protocol AffiseResult { func success(_ result: Any?) diff --git a/AffiseInternal/Classes/events/EventParameters.swift b/AffiseInternal/Classes/events/EventParameters.swift index f13a859..1b10f9e 100644 --- a/AffiseInternal/Classes/events/EventParameters.swift +++ b/AffiseInternal/Classes/events/EventParameters.swift @@ -1,3 +1,4 @@ +import Foundation import AffiseAttributionLib internal class EventParameters { @@ -33,42 +34,42 @@ internal extension Event { guard let string = value as? String else { return } - let _ = self.addPredefinedParameter(param as! PredefinedString, string: string) + _ = self.addPredefinedParameter(param as! PredefinedString, string: string) break case is PredefinedListString: guard let list = value as? [String] else { return } - let _ = self.addPredefinedParameter(param as! PredefinedListString, listString: list) + _ = self.addPredefinedParameter(param as! PredefinedListString, listString: list) break case is PredefinedLong: guard let number = value as? NSNumber else { return } - let _ = self.addPredefinedParameter(param as! PredefinedLong, long: number.int64Value) + _ = self.addPredefinedParameter(param as! PredefinedLong, long: number.int64Value) break case is PredefinedFloat: guard let number = value as? NSNumber else { return } - let _ = self.addPredefinedParameter(param as! PredefinedFloat, float: number.floatValue) + _ = self.addPredefinedParameter(param as! PredefinedFloat, float: number.floatValue) break case is PredefinedObject: guard let object = value as? [(String, Any)] else { return } - let _ = self.addPredefinedParameter(param as! PredefinedObject, object: object) + _ = self.addPredefinedParameter(param as! PredefinedObject, object: object) break case is PredefinedListObject: guard let list = value as? [Any] else { return } - let _ = self.addPredefinedParameter(param as! PredefinedListObject, listObject: list.toArrayOfObject()) + _ = self.addPredefinedParameter(param as! PredefinedListObject, listObject: list.toArrayOfObject()) break default: diff --git a/AffiseInternal/Classes/ext/AffiseSettingsExt.swift b/AffiseInternal/Classes/ext/AffiseSettingsExt.swift index 2505ec2..a1350fd 100644 --- a/AffiseInternal/Classes/ext/AffiseSettingsExt.swift +++ b/AffiseInternal/Classes/ext/AffiseSettingsExt.swift @@ -40,23 +40,23 @@ internal extension Dictionary where Key == String, Value == Any? { internal extension AffiseSettings { func addSettings(_ data: [String: Any?]) -> AffiseSettings { if let value = data.getString(Field.DOMAIN) { - self.setDomain(value) + _ = self.setDomain(value) } if let value = data.getBool(Field.IS_PRODUCTION) { - self.setProduction(value) + _ = self.setProduction(value) } if let value = data.getString(Field.PART_PARAM_NAME) { - self.setPartParamName(value) + _ = self.setPartParamName(value) } if let value = data.getString(Field.PART_PARAM_NAME_TOKEN) { - self.setPartParamNameToken(value) + _ = self.setPartParamNameToken(value) } if let value = data.getString(Field.APP_TOKEN) { - self.setAppToken(value) + _ = self.setAppToken(value) } return self diff --git a/AffiseModule.podspec b/AffiseModule.podspec index 6744d4a..b3bd325 100644 --- a/AffiseModule.podspec +++ b/AffiseModule.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = "AffiseModule" - s.version = ENV["LIB_VERSION"] || "1.6.15" + s.version = ENV["LIB_VERSION"] || "1.6.16" s.summary = "Affise Modules" s.description = "Affise module collection" s.homepage = "https://github.com/affise/sdk-ios" diff --git a/AffiseModule/Status/Classes/StatusModule.swift b/AffiseModule/Status/Classes/StatusModule.swift index 2f9ee68..d3e48b0 100644 --- a/AffiseModule/Status/Classes/StatusModule.swift +++ b/AffiseModule/Status/Classes/StatusModule.swift @@ -1,13 +1,15 @@ +import Foundation +import UIKit import AffiseAttributionLib - -class StatusModule: AffiseModule { +@objc(AffiseStatusModule) +public final class StatusModule: AffiseModule { private var checkStatusUseCase: CheckStatusUseCase? = nil private lazy var stringToKeyValueConverter: StringToKeyValueConverter = StringToKeyValueConverter() - override func initialize() { + public override func initialize() { guard let providersToJsonStringConverter: ProvidersToJsonStringConverter = get() else { return } guard let networkService: NetworkService = get() else { return } @@ -20,7 +22,7 @@ class StatusModule: AffiseModule { ) } - override func status(_ onComplete: @escaping OnKeyValueCallback) { + public override func status(_ onComplete: @escaping OnKeyValueCallback) { checkStatusUseCase?.send(onComplete) ?? onComplete([]) } } diff --git a/AffiseModule/Status/Classes/usecase/CheckStatusUseCaseImpl.swift b/AffiseModule/Status/Classes/usecase/CheckStatusUseCaseImpl.swift index 80ede39..dda0418 100644 --- a/AffiseModule/Status/Classes/usecase/CheckStatusUseCaseImpl.swift +++ b/AffiseModule/Status/Classes/usecase/CheckStatusUseCaseImpl.swift @@ -1,3 +1,4 @@ +import Foundation import AffiseAttributionLib internal class CheckStatusUseCaseImpl { @@ -9,7 +10,7 @@ internal class CheckStatusUseCaseImpl { let PATH: String = "check_status" var url: String = "" - let logsManager: LogsManager + let logsManager: LogsManager? let converter: ProvidersToJsonStringConverter let keyValueConverter: StringToKeyValueConverter let networkService: NetworkService @@ -17,7 +18,7 @@ internal class CheckStatusUseCaseImpl { init( affiseModule: AffiseModule, - logsManager: LogsManager, + logsManager: LogsManager?, networkService: NetworkService, converter: ProvidersToJsonStringConverter, keyValueConverter: StringToKeyValueConverter @@ -77,7 +78,7 @@ extension CheckStatusUseCaseImpl: CheckStatusUseCase { onComplete([]) let error = AffiseError.network(status: response.code, message: response.body) //Log error - logsManager.addSdkError(error: AffiseError.cloud(url: url, error: error, attempts: ATTEMPTS_TO_SEND, retry: true)) + logsManager?.addSdkError(error: AffiseError.cloud(url: url, error: error, attempts: ATTEMPTS_TO_SEND, retry: true)) } else { onFailedAttempt() } diff --git a/AffiseSKAdNetwork.podspec b/AffiseSKAdNetwork.podspec index 1e6cdc1..2812df4 100644 --- a/AffiseSKAdNetwork.podspec +++ b/AffiseSKAdNetwork.podspec @@ -5,7 +5,7 @@ Pod::Spec.new do |spec| spec.name = "AffiseSKAdNetwork" - spec.version = ENV['LIB_VERSION'] || "1.6.15" + spec.version = ENV['LIB_VERSION'] || "1.6.16" spec.summary = "AffiseSKAdNetwork iOS library" spec.description = "Affise library for StoreKit Ad Network (SKAdNetwork)" spec.homepage = "https://github.com/affise/sdk-ios" @@ -16,7 +16,7 @@ Pod::Spec.new do |spec| :tag => "#{spec.version}" } - spec.source_files = "AffiseSKAdNetwork/Classes/**/*.{h,m,swift}" + spec.source_files = "AffiseSKAdNetwork/**/*.{h,m,swift}" spec.platform = "ios" spec.ios.deployment_target = "9.0" spec.swift_version = "5.7" diff --git a/AffiseSKAdNetwork/Classes/AffiseSKAd.swift b/AffiseSKAdNetwork/Classes/AffiseSKAd.swift index 8f82857..b5396e1 100644 --- a/AffiseSKAdNetwork/Classes/AffiseSKAd.swift +++ b/AffiseSKAdNetwork/Classes/AffiseSKAd.swift @@ -1,20 +1,29 @@ +import Foundation +#if canImport(UIKit) +import UIKit +#endif + +#if canImport(AffiseInternalWrapperObjC) +import AffiseInternalWrapperObjC +#endif + @objc public class AffiseSKAd: NSObject { @objc(registerWithCompletionHandler:) public static func register(_ completionHandler: @escaping (String)->Void) { if #available(iOS 16.1, *) { - AffiseSKAdNetwork.shared()?.updatePostbackConversionValue(0, coarseValue: CoarseConversionValue.medium.value, completionHandler: { error in + AffiseStoreKitWrapper.shared()?.updatePostbackConversionValue(0, coarseValue: CoarseConversionValue.medium.value, completionHandler: { error in let errorMessage = error?.localizedDescription ?? "" completionHandler(errorMessage) }) } else if #available(iOS 15.4, *) { - AffiseSKAdNetwork.shared()?.updatePostbackConversionValue(0, completionHandler: { error in + AffiseStoreKitWrapper.shared()?.updatePostbackConversionValue(0, completionHandler: { error in let errorMessage = error?.localizedDescription ?? "" completionHandler(errorMessage) }) } else if #available(iOS 14.0, *) { - AffiseSKAdNetwork.shared()?.registerAppForAdNetworkAttribution(completionHandler: { error in + AffiseStoreKitWrapper.shared()?.registerAppForAdNetworkAttribution(completionHandler: { error in let errorMessage = error?.localizedDescription ?? "" completionHandler(errorMessage) }) @@ -28,17 +37,17 @@ public class AffiseSKAd: NSObject { let coarse = coarseValue?.value ?? CoarseConversionValue.medium.value if #available(iOS 16.1, *) { - AffiseSKAdNetwork.shared()?.updatePostbackConversionValue(fineValue, coarseValue: coarse, completionHandler: { error in + AffiseStoreKitWrapper.shared()?.updatePostbackConversionValue(fineValue, coarseValue: coarse, completionHandler: { error in let errorMessage = error?.localizedDescription ?? "" completionHandler(errorMessage) }) } else if #available(iOS 15.4, *) { - AffiseSKAdNetwork.shared()?.updatePostbackConversionValue(fineValue, completionHandler: { error in + AffiseStoreKitWrapper.shared()?.updatePostbackConversionValue(fineValue, completionHandler: { error in let errorMessage = error?.localizedDescription ?? "" completionHandler(errorMessage) }) } else if #available(iOS 14.0, *) { - AffiseSKAdNetwork.shared()?.updateConversionValue(fineValue, completionHandler: { error in + AffiseStoreKitWrapper.shared()?.updateConversionValue(fineValue, completionHandler: { error in let errorMessage = error?.localizedDescription ?? "" completionHandler(errorMessage) }) @@ -48,6 +57,23 @@ public class AffiseSKAd: NSObject { } private static func notSupported() -> String { - return "\(UIDevice.current.systemName) \(UIDevice.current.systemVersion) Not supported" + return "\(self.systemName()) \(self.systemVersion()) Not supported" + } + + private static func systemName() -> String { + #if canImport(UIKit) + return UIDevice.current.systemName + #else + return Host.current().name ?? "" + #endif + } + + + private static func systemVersion() -> String { + #if canImport(UIKit) + return UIDevice.current.systemVersion + #else + return ProcessInfo.processInfo.operatingSystemVersionString + #endif } } diff --git a/AffiseSKAdNetwork/Classes/CoarseConversionValue.swift b/AffiseSKAdNetwork/Classes/CoarseConversionValue.swift index 675181d..bb04cff 100644 --- a/AffiseSKAdNetwork/Classes/CoarseConversionValue.swift +++ b/AffiseSKAdNetwork/Classes/CoarseConversionValue.swift @@ -1,3 +1,5 @@ +import Foundation + @objc public class CoarseConversionValue: NSObject { diff --git a/AffiseSKAdNetwork/Classes/CoarseValue.swift b/AffiseSKAdNetwork/Classes/CoarseValue.swift index 30e766c..04d84c5 100644 --- a/AffiseSKAdNetwork/Classes/CoarseValue.swift +++ b/AffiseSKAdNetwork/Classes/CoarseValue.swift @@ -1,3 +1,5 @@ +import Foundation + @objc public class CoarseValue: NSObject { diff --git a/AffiseSKAdNetwork/Classes/AffiseSKAdNetwork.h b/AffiseSKAdNetwork/ObjC/AffiseStoreKitWrapper.h similarity index 89% rename from AffiseSKAdNetwork/Classes/AffiseSKAdNetwork.h rename to AffiseSKAdNetwork/ObjC/AffiseStoreKitWrapper.h index 0522614..4f57d6d 100644 --- a/AffiseSKAdNetwork/Classes/AffiseSKAdNetwork.h +++ b/AffiseSKAdNetwork/ObjC/AffiseStoreKitWrapper.h @@ -1,11 +1,3 @@ -// -// AffiseSKAdNetwork.h -// AffiseAttributionSKAd -// -// Created by Sergey Korney -// -// - #import @@ -21,7 +13,7 @@ typedef NS_ENUM(NSUInteger, AffiseSKAdNetworkErrorCode) { typedef void(^AffiseSKAdNetworkCompletionHandler)(NSError *_Nullable error); -@interface AffiseSKAdNetwork : NSObject +@interface AffiseStoreKitWrapper : NSObject + (nullable instancetype)shared; - (void)registerAppForAdNetworkAttributionWithCompletionHandler:(AffiseSKAdNetworkCompletionHandler)completionHandler; diff --git a/AffiseSKAdNetwork/Classes/AffiseSKAdNetwork.m b/AffiseSKAdNetwork/ObjC/AffiseStoreKitWrapper.m similarity index 89% rename from AffiseSKAdNetwork/Classes/AffiseSKAdNetwork.m rename to AffiseSKAdNetwork/ObjC/AffiseStoreKitWrapper.m index 1fa9ecd..51098fa 100644 --- a/AffiseSKAdNetwork/Classes/AffiseSKAdNetwork.m +++ b/AffiseSKAdNetwork/ObjC/AffiseStoreKitWrapper.m @@ -1,21 +1,13 @@ -// -// AffiseSKAdNetwork.m -// AffiseAttributionSKAd -// -// Created by Sergey Korney -// -// - -#import "AffiseSKAdNetwork.h" +#import "AffiseStoreKitWrapper.h" NS_ASSUME_NONNULL_BEGIN NSString *const kAffiseSKAdNetworkErrorDomain = @"affiseSKAdNetworkError"; -@implementation AffiseSKAdNetwork +@implementation AffiseStoreKitWrapper + (nullable instancetype)shared { - static AffiseSKAdNetwork *shared = nil; + static AffiseStoreKitWrapper *shared = nil; static dispatch_once_t onceToken = 0; dispatch_once(&onceToken, ^{ shared = [[self alloc] init]; @@ -161,25 +153,23 @@ - (nullable Class)skadNetworkClass { - (BOOL)isApiAvailableForClass:(Class)class andSelector:(SEL)selector error:(NSError **)error { if (class == nil) { - if (error != nil) { - *error = [AffiseSKAdNetwork errorWithCode:AffiseSKAdNetworkErrorCodeUnknown + if (error == nil) return NO; + + *error = [AffiseStoreKitWrapper errorWithCode:AffiseSKAdNetworkErrorCodeUnknown failureReason:@"StoreKit.framework not found in the app (SKAdNetwork class not found)" underlyingError:nil]; - } - return NO; } if (!selector) { - if (error != nil) { - *error = [AffiseSKAdNetwork errorWithCode:AffiseSKAdNetworkErrorCodeUnknown + if (error == nil) return NO; + + *error = [AffiseStoreKitWrapper errorWithCode:AffiseSKAdNetworkErrorCodeUnknown failureReason:@"Selector for given method was not found" underlyingError:nil]; - } - return NO; } if ([class respondsToSelector:selector] == NO) { - *error = [AffiseSKAdNetwork errorWithCode:AffiseSKAdNetworkErrorCodeUnknown - failureReason:[NSString stringWithFormat:@"%@ method implementation not found", NSStringFromSelector(selector)] - underlyingError:nil]; + *error = [AffiseStoreKitWrapper errorWithCode:AffiseSKAdNetworkErrorCodeUnknown + failureReason:[NSString stringWithFormat:@"%@ method implementation not found", NSStringFromSelector(selector)] + underlyingError:nil]; return NO; } diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..f19135b --- /dev/null +++ b/Package.swift @@ -0,0 +1,56 @@ +// swift-tools-version: 5.6 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "Affise", + platforms: [ + .iOS(.v9) + ], + products: [ + .library(name: "AffiseAttributionLib", targets: ["AffiseAttributionLib"]), + .library(name: "AffiseModuleStatus", targets: ["AffiseModuleStatus"]), + .library(name: "AffiseSKAdNetwork", targets: ["AffiseSKAdNetwork", "AffiseInternalWrapperObjC"]), + ], + targets: [ + .target( + name: "AffiseAttributionLib", + path: "AffiseAttributionLib", + sources: [ "Classes" ], + resources: [ + .process("Assets"), + ] + ), + .target( + name: "AffiseModuleStatus", + dependencies: ["AffiseAttributionLib"], + path: "AffiseModule/Status", + sources: [ "Classes" ] + ), + .target( + name: "AffiseSKAdNetwork", + dependencies: ["AffiseInternalWrapperObjC"], + path: "AffiseSKAdNetwork", + sources: [ "Classes" ] + ), + .target( + name: "AffiseInternalWrapperObjC", + path: "AffiseSKAdNetwork", + sources: [ "ObjC" ], + publicHeadersPath: ".", + linkerSettings: [ + .linkedFramework("StoreKit"), + ] + ), + .target( + name: "AffiseInternal", + dependencies: [ + "AffiseAttributionLib", + "AffiseSKAdNetwork", + ], + path: "AffiseInternal", + sources: [ "Classes" ] + ), + ] +) diff --git a/README.md b/README.md index 884d1cd..0c8933b 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,16 @@ | Pod | Version | | ---- |:-------:| -| `AffiseAttributionLib` | [`1.6.15`](https://github.com/CocoaPods/Specs/tree/master/Specs/a/9/3/AffiseAttributionLib) | -| `AffiseSKAdNetwork` | [`1.6.15`](https://github.com/CocoaPods/Specs/tree/master/Specs/3/6/f/AffiseSKAdNetwork) | -| `AffiseModule/Status` | [`1.6.15`](https://github.com/CocoaPods/Specs/tree/master/Specs/0/3/d/AffiseModule/) | +| `AffiseAttributionLib` | [`1.6.16`](https://github.com/CocoaPods/Specs/tree/master/Specs/a/9/3/AffiseAttributionLib) | +| `AffiseSKAdNetwork` | [`1.6.16`](https://github.com/CocoaPods/Specs/tree/master/Specs/3/6/f/AffiseSKAdNetwork) | +| `AffiseModule/Status` | [`1.6.16`](https://github.com/CocoaPods/Specs/tree/master/Specs/0/3/d/AffiseModule/) | - [Affise Attribution iOS Library](#affise-attribution-ios-library) - [Description](#description) - [Quick start](#quick-start) - [Integration](#integration) - [Integrate as Cocoapods](#integrate-as-cocoapods) + - [Integrate as Swift Package Manager](#integrate-as-swift-package-manager) - [Initialize](#initialize) - [Domain](#domain) - [Requirements](#requirements) @@ -66,20 +67,32 @@ To add the SDK using Cocoapods, specify the version you want to use in your Podf ```ruby # Affise SDK library -pod 'AffiseAttributionLib', '~> 1.6.15' +pod 'AffiseAttributionLib', '~> 1.6.16' # Affise module -pod 'AffiseModule/Status', '~> 1.6.15' +pod 'AffiseModule/Status', '~> 1.6.16' ``` Get source directly from GitHub ```ruby # Affise SDK library -pod 'AffiseAttributionLib', :git => 'https://github.com/affise/sdk-ios.git', :tag => '1.6.15' +pod 'AffiseAttributionLib', :git => 'https://github.com/affise/sdk-ios.git', :tag => '1.6.16' # Affise module -pod 'AffiseModule/Status', :git => 'https://github.com/affise/sdk-ios.git', :tag => '1.6.15' +pod 'AffiseModule/Status', :git => 'https://github.com/affise/sdk-ios.git', :tag => '1.6.16' ``` +### Integrate as Swift Package Manager + +To add the SDK using SPM: + +1. Open XCode project, navigate to `File / Add Packages`. + +2. In the `Add New Package` window enter `https://github.com/affise/sdk-ios` in `search` field. + +3. Click on the `Add Package` button. + +4. In `Choose Package Products` window select required packages and click `Add Package`, and it will be added to your iOS project and linked automatically. + ### Initialize After library is added as dependency sync project with gradle files and initialize. @@ -177,14 +190,14 @@ To add the SDK using Cocoapods, specify the version you want to use in your Podf ```ruby # Wrapper for StoreKit Ad Network -pod 'AffiseSKAdNetwork', '~> 1.6.15' +pod 'AffiseSKAdNetwork', '~> 1.6.16' ``` Get source directly from GitHub ```ruby # Wrapper for StoreKit Ad Network -pod 'AffiseSKAdNetwork', :git => 'https://github.com/affise/sdk-ios.git', :tag => '1.6.15' +pod 'AffiseSKAdNetwork', :git => 'https://github.com/affise/sdk-ios.git', :tag => '1.6.16' ``` For `swift` use: @@ -713,7 +726,7 @@ Example: [`example/app/app/Info.plist`](example/app/app/Info.plist) CFBundleTypeRole Editor CFBundleURLName - YOUR_AFFISE_APP_ID.affattr.com + YOUR_DOMAIN CFBundleURLSchemes affise