diff --git a/splitio/example/ios/Podfile b/splitio/example/ios/Podfile index 0b6609e..2c068c4 100644 --- a/splitio/example/ios/Podfile +++ b/splitio/example/ios/Podfile @@ -32,8 +32,6 @@ target 'Runner' do use_modular_headers! flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) - - pod 'Split', :git => 'https://github.com/splitio/ios-client.git', :branch => 'SDKS-9073_baseline' # TODO: remove; development only end post_install do |installer| diff --git a/splitio/example/ios/Podfile.lock b/splitio/example/ios/Podfile.lock index 56de32d..e004592 100644 --- a/splitio/example/ios/Podfile.lock +++ b/splitio/example/ios/Podfile.lock @@ -1,34 +1,29 @@ PODS: - Flutter (1.0.0) - - Split (3.1.0) - - splitio_ios (0.7.0): + - Split (3.3.2) + - splitio_ios (0.8.0): - Flutter - - Split + - Split (~> 3.3.2) DEPENDENCIES: - Flutter (from `Flutter`) - - Split (from `https://github.com/splitio/ios-client.git`, branch `SDKS-9073_baseline`) - splitio_ios (from `.symlinks/plugins/splitio_ios/ios`) +SPEC REPOS: + trunk: + - Split + EXTERNAL SOURCES: Flutter: :path: Flutter - Split: - :branch: SDKS-9073_baseline - :git: https://github.com/splitio/ios-client.git splitio_ios: :path: ".symlinks/plugins/splitio_ios/ios" -CHECKOUT OPTIONS: - Split: - :commit: 708427ff99d24e2f2ae6e5a672ee23efebafba06 - :git: https://github.com/splitio/ios-client.git - SPEC CHECKSUMS: Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 - Split: 17f15abcc74b39c3a8d670f59e787163626ad6b5 - splitio_ios: 00bf48283a9e3f9497a973d9b5cafc5d414dd427 + Split: 0d4962a6c15180e1857c1a3753e1ae9c91a6150b + splitio_ios: 438ad21d0dfe467670f8b9508773b77b16a71d6b -PODFILE CHECKSUM: a52d9df387b5aca8aed91ec989839c51add619b2 +PODFILE CHECKSUM: 4e8f8b2be68aeea4c0d5beb6ff1e79fface1d048 -COCOAPODS: 1.15.0 +COCOAPODS: 1.16.2 diff --git a/splitio/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/splitio/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e0c9630..4300fbd 100644 --- a/splitio/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/splitio/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -26,6 +26,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit" shouldUseLaunchSchemeArgsEnv = "YES"> diff --git a/splitio/example/ios/Runner/AppDelegate.swift b/splitio/example/ios/Runner/AppDelegate.swift index 70693e4..b636303 100644 --- a/splitio/example/ios/Runner/AppDelegate.swift +++ b/splitio/example/ios/Runner/AppDelegate.swift @@ -1,7 +1,7 @@ import UIKit import Flutter -@UIApplicationMain +@main @objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, diff --git a/splitio/example/pubspec.lock b/splitio/example/pubspec.lock index 8c2bff7..624c7f2 100644 --- a/splitio/example/pubspec.lock +++ b/splitio/example/pubspec.lock @@ -173,14 +173,14 @@ packages: path: "../../splitio_android" relative: true source: path - version: "0.3.0-rc.1" + version: "1.0.0-rc.1" splitio_ios: dependency: transitive description: path: "../../splitio_ios" relative: true source: path - version: "0.2.0" + version: "1.0.0-rc.1" splitio_platform_interface: dependency: transitive description: diff --git a/splitio_ios/example/ios/Podfile b/splitio_ios/example/ios/Podfile index c4289ff..8629561 100644 --- a/splitio_ios/example/ios/Podfile +++ b/splitio_ios/example/ios/Podfile @@ -32,8 +32,6 @@ target 'Runner' do use_modular_headers! flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) - - pod 'Split', :git => 'https://github.com/splitio/ios-client.git', :branch => 'SDKS-9073_baseline' # TODO: remove; development only end target 'SplitTests' do @@ -41,8 +39,6 @@ target 'SplitTests' do use_modular_headers! flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) - - pod 'Split', :git => 'https://github.com/splitio/ios-client.git', :branch => 'SDKS-9073_baseline' # TODO: remove; development only end post_install do |installer| diff --git a/splitio_ios/example/ios/Podfile.lock b/splitio_ios/example/ios/Podfile.lock index 5ee5b26..ea8a88c 100644 --- a/splitio_ios/example/ios/Podfile.lock +++ b/splitio_ios/example/ios/Podfile.lock @@ -1,34 +1,29 @@ PODS: - Flutter (1.0.0) - - Split (3.1.0) - - splitio_ios (0.7.0): + - Split (3.3.2) + - splitio_ios (0.8.0): - Flutter - - Split + - Split (~> 3.3.2) DEPENDENCIES: - Flutter (from `Flutter`) - - Split (from `https://github.com/splitio/ios-client.git`, branch `SDKS-9073_baseline`) - splitio_ios (from `.symlinks/plugins/splitio_ios/ios`) +SPEC REPOS: + trunk: + - Split + EXTERNAL SOURCES: Flutter: :path: Flutter - Split: - :branch: SDKS-9073_baseline - :git: https://github.com/splitio/ios-client.git splitio_ios: :path: ".symlinks/plugins/splitio_ios/ios" -CHECKOUT OPTIONS: - Split: - :commit: 708427ff99d24e2f2ae6e5a672ee23efebafba06 - :git: https://github.com/splitio/ios-client.git - SPEC CHECKSUMS: Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 - Split: 17f15abcc74b39c3a8d670f59e787163626ad6b5 - splitio_ios: 00bf48283a9e3f9497a973d9b5cafc5d414dd427 + Split: 0d4962a6c15180e1857c1a3753e1ae9c91a6150b + splitio_ios: 438ad21d0dfe467670f8b9508773b77b16a71d6b -PODFILE CHECKSUM: 3e7633332e3580ada5ac333ff9c0b05e8c0b7972 +PODFILE CHECKSUM: aed42fc5c94ade572556b7ed357c5c57f1bd83a2 -COCOAPODS: 1.15.0 +COCOAPODS: 1.16.2 diff --git a/splitio_ios/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/splitio_ios/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e0c9630..4300fbd 100644 --- a/splitio_ios/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/splitio_ios/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -26,6 +26,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit" shouldUseLaunchSchemeArgsEnv = "YES"> diff --git a/splitio_ios/example/ios/Runner/AppDelegate.swift b/splitio_ios/example/ios/Runner/AppDelegate.swift index 70693e4..b636303 100644 --- a/splitio_ios/example/ios/Runner/AppDelegate.swift +++ b/splitio_ios/example/ios/Runner/AppDelegate.swift @@ -1,7 +1,7 @@ import UIKit import Flutter -@UIApplicationMain +@main @objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, diff --git a/splitio_ios/example/ios/SplitTests/ExtensionsTests.swift b/splitio_ios/example/ios/SplitTests/ExtensionsTests.swift index cdb123e..ea87d72 100644 --- a/splitio_ios/example/ios/SplitTests/ExtensionsTests.swift +++ b/splitio_ios/example/ios/SplitTests/ExtensionsTests.swift @@ -14,9 +14,10 @@ class ExtensionsTests: XCTestCase { impression.label = "label" impression.treatment = "on" impression.time = 16161616 + impression.properties = "{\"myProp\": true}" let impressionMap = impression.toMap() - XCTAssert(impressionMap.count == 8) + XCTAssert(impressionMap.count == 9) XCTAssert(NSDictionary(dictionary: impressionMap).isEqual(to: [ "key": "matching-key", "bucketingKey": "bucketing-key", @@ -25,7 +26,8 @@ class ExtensionsTests: XCTestCase { "appliedRule": "label", "treatment": "on", "split": "my-split", - "time": 16161616])) + "time": 16161616, + "properties": "{\"myProp\": true}"])) } func testSplitViewMapping() throws { @@ -38,10 +40,21 @@ class ExtensionsTests: XCTestCase { splitView.configs = ["key": "value"] splitView.defaultTreatment = "off" splitView.sets = ["set1", "set2"] + + let prerequisiteJSON = """ + { + "n": "pre1", + "t": ["on", "off"] + } + """.data(using: .utf8)! + + let prerequisite = try JSONDecoder().decode(Prerequisite.self, from: prerequisiteJSON) + splitView.prerequisites = [prerequisite] splitView.impressionsDisabled = true let splitViewMap = SplitView.asMap(splitView: splitView) - XCTAssert(splitViewMap.count == 9) + + XCTAssert(splitViewMap.count == 10) XCTAssert(NSDictionary(dictionary: splitViewMap).isEqual(to: [ "name": "my-split", "trafficType": "account", @@ -51,6 +64,7 @@ class ExtensionsTests: XCTestCase { "configs": ["key": "value"], "defaultTreatment": "off", "sets": ["set1", "set2"], - "impressionsDisabled": true])) + "impressionsDisabled": true, + "prerequisites": [prerequisite]])) } } diff --git a/splitio_ios/example/ios/SplitTests/SplitTests.swift b/splitio_ios/example/ios/SplitTests/SplitTests.swift index 7f378bb..a749dde 100644 --- a/splitio_ios/example/ios/SplitTests/SplitTests.swift +++ b/splitio_ios/example/ios/SplitTests/SplitTests.swift @@ -356,6 +356,7 @@ class SplitClientStub: SplitClient { var clearAttributesCalled: Bool = false var sdkReadyEventAction: SplitAction? + // MARK: Evaluation feature func getTreatment(_ split: String, attributes: [String: Any]?) -> String { methodCalls["getTreatment"] = true return SplitConstants.control @@ -365,7 +366,7 @@ class SplitClientStub: SplitClient { methodCalls["getTreatment"] = true return SplitConstants.control } - + func getTreatments(splits: [String], attributes: [String: Any]?) -> [String: String] { methodCalls["getTreatments"] = true return ["feature": SplitConstants.control] @@ -385,45 +386,48 @@ class SplitClientStub: SplitClient { methodCalls["getTreatmentsWithConfig"] = true return ["feature": SplitResult(treatment: SplitConstants.control)] } - - func getTreatmentsByFlagSet(_ flagSet: String, attributes: [String : Any]?) -> [String : String] { - methodCalls["getTreatmentsByFlagSet"] = true - return [:] + + // MARK: Evaluation with Properties (EvaluationOptions) + func getTreatment(_ split: String, attributes: [String: Any]?, evaluationOptions: EvaluationOptions?) -> String { + methodCalls["getTreatment"] = true + return SplitConstants.control } - - func getTreatmentsByFlagSets(_ flagSets: [String], attributes: [String : Any]?) -> [String : String] { - methodCalls["getTreatmentsByFlagSets"] = true - return [:] + + func getTreatments(splits: [String], attributes: [String: Any]?, evaluationOptions: EvaluationOptions?) -> [String: String] { + methodCalls["getTreatments"] = true + return ["feature": SplitConstants.control] } - - func getTreatmentsWithConfigByFlagSet(_ flagSet: String, attributes: [String : Any]?) -> [String : SplitResult] { - methodCalls["getTreatmentsWithConfigByFlagSet"] = true - return [:] + + func getTreatmentWithConfig(_ split: String, attributes: [String: Any]?, evaluationOptions: EvaluationOptions?) -> SplitResult { + methodCalls["getTreatmentWithConfig"] = true + return SplitResult(treatment: SplitConstants.control) } - - func getTreatmentsWithConfigByFlagSets(_ flagSets: [String], attributes: [String : Any]?) -> [String : SplitResult] { - methodCalls["getTreatmentsWithConfigByFlagSets"] = true - return [:] + + func getTreatmentsWithConfig(splits: [String], attributes: [String: Any]?, evaluationOptions: EvaluationOptions?) -> [String: SplitResult] { + methodCalls["getTreatmentsWithConfig"] = true + return ["feature": SplitResult(treatment: SplitConstants.control)] } - func on(event: SplitEvent, runInBackground: Bool, execute action: @escaping SplitAction) { + // MARK: Event handling + func on(event: SplitEvent, execute action: @escaping SplitAction) { if event == .sdkReady { sdkReadyEventAction = action } } - - func on(event: SplitEvent, queue: DispatchQueue, execute action: @escaping SplitAction) { + + func on(event: SplitEvent, runInBackground: Bool, execute action: @escaping SplitAction) { if event == .sdkReady { sdkReadyEventAction = action } } - - func on(event: SplitEvent, execute action: @escaping SplitAction) { + + func on(event: SplitEvent, queue: DispatchQueue, execute action: @escaping SplitAction) { if event == .sdkReady { sdkReadyEventAction = action } } + // MARK: Track feature func track(trafficType: String, eventType: String) -> Bool { return true } @@ -470,6 +474,7 @@ class SplitClientStub: SplitClient { return true } + // MARK: Persistent attributes feature func setAttribute(name: String, value: Any) -> Bool { attributeNameValue = name attributeValue = value @@ -499,6 +504,7 @@ class SplitClientStub: SplitClient { return true } + // MARK: Client lifecycle func flush() { methodCalls["flush"] = true } @@ -510,6 +516,48 @@ class SplitClientStub: SplitClient { func destroy(completion: (() -> Void)?) { destroyCalled = true } + + // MARK: Evaluation with flagsets + func getTreatmentsByFlagSet(_ flagSet: String, attributes: [String: Any]?) -> [String: String] { + methodCalls["getTreatmentsByFlagSet"] = true + return [:] + } + + func getTreatmentsByFlagSets(_ flagSets: [String], attributes: [String: Any]?) -> [String: String] { + methodCalls["getTreatmentsByFlagSets"] = true + return [:] + } + + func getTreatmentsWithConfigByFlagSet(_ flagSet: String, attributes: [String: Any]?) -> [String: SplitResult] { + methodCalls["getTreatmentsWithConfigByFlagSet"] = true + return [:] + } + + func getTreatmentsWithConfigByFlagSets(_ flagSets: [String], attributes: [String: Any]?) -> [String: SplitResult] { + methodCalls["getTreatmentsWithConfigByFlagSets"] = true + return [:] + } + + // MARK: Evaluation with flagsets and properties (EvaluationOptions) + func getTreatmentsByFlagSet(_ flagSet: String, attributes: [String: Any]?, evaluationOptions: EvaluationOptions?) -> [String: String] { + methodCalls["getTreatmentsByFlagSet"] = true + return [:] + } + + func getTreatmentsByFlagSets(_ flagSets: [String], attributes: [String: Any]?, evaluationOptions: EvaluationOptions?) -> [String: String] { + methodCalls["getTreatmentsByFlagSets"] = true + return [:] + } + + func getTreatmentsWithConfigByFlagSet(_ flagSet: String, attributes: [String: Any]?, evaluationOptions: EvaluationOptions?) -> [String: SplitResult] { + methodCalls["getTreatmentsWithConfigByFlagSet"] = true + return [:] + } + + func getTreatmentsWithConfigByFlagSets(_ flagSets: [String], attributes: [String: Any]?, evaluationOptions: EvaluationOptions?) -> [String: SplitResult] { + methodCalls["getTreatmentsWithConfigByFlagSets"] = true + return [:] + } } class SplitManagerStub: SplitManager, Destroyable { diff --git a/splitio_ios/example/pubspec.lock b/splitio_ios/example/pubspec.lock index ec19606..5d236bc 100644 --- a/splitio_ios/example/pubspec.lock +++ b/splitio_ios/example/pubspec.lock @@ -5,42 +5,42 @@ packages: dependency: transitive description: name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" url: "https://pub.dev" source: hosted - version: "2.11.0" + version: "2.13.0" boolean_selector: dependency: transitive description: name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" characters: dependency: transitive description: name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.0" clock: dependency: transitive description: name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" collection: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.1" cupertino_icons: dependency: "direct main" description: @@ -53,10 +53,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.3.3" flutter: dependency: "direct main" description: flutter @@ -79,18 +79,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.9" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.9" leak_tracker_testing: dependency: transitive description: @@ -111,34 +111,34 @@ packages: dependency: transitive description: name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 url: "https://pub.dev" source: hosted - version: "0.12.16+1" + version: "0.12.17" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.16.0" path: dependency: transitive description: name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" plugin_platform_interface: dependency: transitive description: @@ -151,69 +151,69 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_span: dependency: transitive description: name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.10.1" splitio_ios: dependency: "direct main" description: path: ".." relative: true source: path - version: "0.2.0" + version: "1.0.0-rc.1" splitio_platform_interface: dependency: transitive description: path: "../../splitio_platform_interface" relative: true source: path - version: "1.5.0" + version: "2.0.0-rc.1" stack_trace: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" string_scanner: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.4.1" term_glyph: dependency: transitive description: name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" test_api: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.4" vector_math: dependency: transitive description: @@ -226,10 +226,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 url: "https://pub.dev" source: hosted - version: "14.2.1" + version: "15.0.0" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.7.0-0 <4.0.0" flutter: ">=3.18.0-18.0.pre.54" diff --git a/splitio_ios/ios/Classes/Extensions.swift b/splitio_ios/ios/Classes/Extensions.swift index 490d398..1c8e65e 100644 --- a/splitio_ios/ios/Classes/Extensions.swift +++ b/splitio_ios/ios/Classes/Extensions.swift @@ -10,7 +10,7 @@ extension Impression { "appliedRule": label, "changeNumber": changeNumber, "attributes": attributes, - "properties": "properties"] // TODO + "properties": properties] } } @@ -27,7 +27,7 @@ extension SplitView { "defaultTreatment": splitView.defaultTreatment, "sets": splitView.sets, "impressionsDisabled": splitView.impressionsDisabled, - "properties": "" // TODO + "prerequisites": splitView.prerequisites ] } else { return [:] diff --git a/splitio_ios/ios/splitio_ios.podspec b/splitio_ios/ios/splitio_ios.podspec index 78c16a3..bb24308 100644 --- a/splitio_ios/ios/splitio_ios.podspec +++ b/splitio_ios/ios/splitio_ios.podspec @@ -4,7 +4,7 @@ # Pod::Spec.new do |s| s.name = 'splitio_ios' - s.version = '0.7.0' + s.version = '0.8.0' s.summary = 'split.io official Flutter plugin.' s.description = <<-DESC split.io official Flutter plugin. @@ -15,7 +15,7 @@ split.io official Flutter plugin. s.source = { :path => '.' } s.source_files = 'Classes/**/*' s.dependency 'Flutter' - s.dependency 'Split' # TODO: specify version + s.dependency 'Split', '~> 3.3.2' s.platform = :ios, '9.0' # Flutter.framework does not contain a i386 slice.