Skip to content

Commit f5d7805

Browse files
deprecated static init methods and made initWithBuilder public (#272)
* deprecated static init methods and made initWithBuilder public * Test cases added * Fix Analyze OptimizelySDKiOSUniversal warnings * Fix Analyze OptimizelySDKTVOS warning (SDK was calling a deprecated SDK method) * Fix warnings in 2 tvOS *.m test files (SDK was calling a deprecated SDK method) * Fix warnings in 1 iOS *.m test file (SDK was calling a deprecated SDK method) * Headers updated
1 parent 01769db commit f5d7805

File tree

67 files changed

+1109
-260
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+1109
-260
lines changed

OptimizelyDemoApp/AppDelegate.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/****************************************************************************
2-
* Copyright 2017, Optimizely, Inc. and contributors *
2+
* Copyright 2017-2018, Optimizely, Inc. and contributors *
33
* *
44
* Licensed under the Apache License, Version 2.0 (the "License"); *
55
* you may not use this file except in compliance with the License. *
@@ -65,24 +65,24 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
6565
// **************************************************
6666

6767
// ---- Create the Event Dispatcher ----
68-
let eventDispatcher = OPTLYEventDispatcherDefault.init{(builder) in
68+
let eventDispatcher = OPTLYEventDispatcherDefault.init(builder: OPTLYEventDispatcherBuilder.init(block: { (builder) in
6969
builder?.eventDispatcherDispatchInterval = self.eventDispatcherDispatchInterval
7070
builder?.logger = OPTLYLoggerDefault.init(logLevel: .debug)
71-
}
71+
}))
7272

7373
// ---- Create the Datafile Manager ----
74-
let datafileManager = OPTLYDatafileManagerDefault.init{(builder) in
74+
let datafileManager = OPTLYDatafileManagerDefault.init(builder: OPTLYDatafileManagerBuilder.init(block: { (builder) in
7575
// builder!.datafileFetchInterval = TimeInterval(self.datafileManagerDownloadInterval)
76-
builder!.datafileConfig = OPTLYDatafileConfig(projectId: nil, withSDKKey:self.projectId)!;
77-
}
76+
builder!.datafileConfig = OPTLYDatafileConfig(projectId: nil, withSDKKey:self.projectId)!;
77+
}))
7878

7979
// ---- Create the Manager ----
80-
let optimizelyManager = OPTLYManager.init {(builder) in
80+
let optimizelyManager = OPTLYManager.init(builder: OPTLYManagerBuilder.init(block: { (builder) in
8181
builder!.projectId = nil;
8282
builder!.sdkKey = self.projectId
8383
builder!.datafileManager = datafileManager!
8484
builder!.eventDispatcher = eventDispatcher
85-
}
85+
}))
8686

8787
// After creating the client, there are three different ways to intialize the manager:
8888

OptimizelyDemoApp/OptimizelyDemoApp.xcodeproj/project.pbxproj

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -688,7 +688,7 @@
688688
SDKROOT = iphoneos;
689689
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
690690
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
691-
SWIFT_VERSION = 3.0;
691+
SWIFT_VERSION = 4.2;
692692
TARGETED_DEVICE_FAMILY = "1,2";
693693
};
694694
name = Debug;
@@ -742,7 +742,7 @@
742742
MTL_ENABLE_DEBUG_INFO = NO;
743743
SDKROOT = iphoneos;
744744
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
745-
SWIFT_VERSION = 3.0;
745+
SWIFT_VERSION = 4.2;
746746
TARGETED_DEVICE_FAMILY = "1,2";
747747
VALIDATE_PRODUCT = YES;
748748
};
@@ -769,7 +769,7 @@
769769
SWIFT_OBJC_BRIDGING_HEADER = "";
770770
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
771771
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
772-
SWIFT_VERSION = 4.0;
772+
SWIFT_VERSION = 4.2;
773773
TARGETED_DEVICE_FAMILY = 3;
774774
TVOS_DEPLOYMENT_TARGET = 9.0;
775775
};
@@ -791,7 +791,7 @@
791791
SDKROOT = appletvos;
792792
SWIFT_OBJC_BRIDGING_HEADER = "";
793793
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
794-
SWIFT_VERSION = 4.0;
794+
SWIFT_VERSION = 4.2;
795795
TARGETED_DEVICE_FAMILY = 3;
796796
TVOS_DEPLOYMENT_TARGET = 9.0;
797797
};
@@ -823,7 +823,7 @@
823823
SWIFT_OBJC_BRIDGING_HEADER = "OptimizelyDemoApp-Bridging-Header.h";
824824
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
825825
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
826-
SWIFT_VERSION = 4.0;
826+
SWIFT_VERSION = 4.2;
827827
USER_HEADER_SEARCH_PATHS = "";
828828
};
829829
name = Debug;
@@ -843,7 +843,7 @@
843843
PRODUCT_NAME = "$(TARGET_NAME)";
844844
SWIFT_OBJC_BRIDGING_HEADER = "OptimizelyDemoApp-Bridging-Header.h";
845845
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
846-
SWIFT_VERSION = 4.0;
846+
SWIFT_VERSION = 4.2;
847847
USER_HEADER_SEARCH_PATHS = "";
848848
};
849849
name = Release;

OptimizelySDKCore/OptimizelySDKCore.xcodeproj/project.pbxproj

Lines changed: 42 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,10 @@
205205
3EF9D99020AE425000A9B002 /* V2TestDatafile.json in Resources */ = {isa = PBXBuildFile; fileRef = 3EF9D98F20AE424F00A9B002 /* V2TestDatafile.json */; };
206206
3EF9D99120AE425000A9B002 /* V2TestDatafile.json in Resources */ = {isa = PBXBuildFile; fileRef = 3EF9D98F20AE424F00A9B002 /* V2TestDatafile.json */; };
207207
4FFB468BAFC670CF55514638 /* Pods_OptimizelySDKCoreTVOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A3A368275572C29A76DC80A /* Pods_OptimizelySDKCoreTVOSTests.framework */; };
208+
59B9E1D120E28DBC002F732E /* OptimizelySwiftTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59B9E1CE20E28D9D002F732E /* OptimizelySwiftTest.swift */; };
209+
59B9E1D220E28DBE002F732E /* OptimizelySwiftTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59B9E1CE20E28D9D002F732E /* OptimizelySwiftTest.swift */; };
210+
59B9E1E220E35C9E002F732E /* OPTLYProjectConfigSwiftTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59B9E1E020E35C9E002F732E /* OPTLYProjectConfigSwiftTest.swift */; };
211+
59B9E1E320E35C9E002F732E /* OPTLYProjectConfigSwiftTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59B9E1E020E35C9E002F732E /* OPTLYProjectConfigSwiftTest.swift */; };
208212
5E3C0E701DDF7A290025DB85 /* OPTLYVariable.m in Sources */ = {isa = PBXBuildFile; fileRef = 5ECBBE671DDE6A800028FF6B /* OPTLYVariable.m */; };
209213
5E3C0E711DDF7A3C0025DB85 /* OPTLYVariable.h in Headers */ = {isa = PBXBuildFile; fileRef = 5ECBBE661DDE6A800028FF6B /* OPTLYVariable.h */; settings = {ATTRIBUTES = (Public, ); }; };
210214
5E4C07F31DFF645C0042B1F8 /* InvalidDatafileVersionDatafile.json in Resources */ = {isa = PBXBuildFile; fileRef = 5E4C07F21DFF645C0042B1F8 /* InvalidDatafileVersionDatafile.json */; };
@@ -462,7 +466,6 @@
462466

463467
/* Begin PBXFileReference section */
464468
0A6CB89801ECA4E57E2C4771 /* Pods-OptimizelySDKCoreiOSTests.beta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OptimizelySDKCoreiOSTests.beta.xcconfig"; path = "../Pods/Target Support Files/Pods-OptimizelySDKCoreiOSTests/Pods-OptimizelySDKCoreiOSTests.beta.xcconfig"; sourceTree = "<group>"; };
465-
0BDF71FA202BF5E100EB9742 /* OptimizelySDKCoreiOSTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "OptimizelySDKCoreiOSTests-Bridging-Header.h"; sourceTree = "<group>"; };
466469
0BDF71FD202D04EE00EB9742 /* OptimizelySDKCoreTVOSTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "OptimizelySDKCoreTVOSTests-Bridging-Header.h"; sourceTree = "<group>"; };
467470
0BDF71FE202D04EF00EB9742 /* OPTLYNotificationCenterTest2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OPTLYNotificationCenterTest2.swift; sourceTree = "<group>"; };
468471
2191B624058E423153096145 /* Pods-OptimizelySDKCoreTVOSTests.beta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OptimizelySDKCoreTVOSTests.beta.xcconfig"; path = "../Pods/Target Support Files/Pods-OptimizelySDKCoreTVOSTests/Pods-OptimizelySDKCoreTVOSTests.beta.xcconfig"; sourceTree = "<group>"; };
@@ -598,6 +601,9 @@
598601
3EEC2B0120CB40ED00D096E4 /* OptimizelyV3Test.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OptimizelyV3Test.m; sourceTree = "<group>"; };
599602
3EF9D98F20AE424F00A9B002 /* V2TestDatafile.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = V2TestDatafile.json; sourceTree = "<group>"; };
600603
51B050141BF2E9277B39EEE8 /* Pods-OptimizelySDKCoreiOSTests.rc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OptimizelySDKCoreiOSTests.rc.xcconfig"; path = "../Pods/Target Support Files/Pods-OptimizelySDKCoreiOSTests/Pods-OptimizelySDKCoreiOSTests.rc.xcconfig"; sourceTree = "<group>"; };
604+
59B9E1CE20E28D9D002F732E /* OptimizelySwiftTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OptimizelySwiftTest.swift; sourceTree = "<group>"; };
605+
59B9E1DF20E35C50002F732E /* OptimizelySDKCoreiOSTests-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "OptimizelySDKCoreiOSTests-Bridging-Header.h"; sourceTree = "<group>"; };
606+
59B9E1E020E35C9E002F732E /* OPTLYProjectConfigSwiftTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OPTLYProjectConfigSwiftTest.swift; sourceTree = "<group>"; };
601607
5E4C07F21DFF645C0042B1F8 /* InvalidDatafileVersionDatafile.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = InvalidDatafileVersionDatafile.json; sourceTree = "<group>"; };
602608
5E4C07FA1DFF66B00042B1F8 /* OPTLYNetworkServiceTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OPTLYNetworkServiceTest.m; sourceTree = "<group>"; };
603609
5ECBBE661DDE6A800028FF6B /* OPTLYVariable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OPTLYVariable.h; sourceTree = "<group>"; };
@@ -1170,7 +1176,6 @@
11701176
EA2FA9721DC6F3CF00B1D81B /* Frameworks */,
11711177
EA3C68061DC1E66C00C578CA /* Products */,
11721178
93BE4E5119FD429B5D9A3435 /* Pods */,
1173-
0BDF71FA202BF5E100EB9742 /* OptimizelySDKCoreiOSTests-Bridging-Header.h */,
11741179
);
11751180
sourceTree = "<group>";
11761181
};
@@ -1213,8 +1218,11 @@
12131218
EA3C68131DC1E66C00C578CA /* OptimizelySDKCoreTests */ = {
12141219
isa = PBXGroup;
12151220
children = (
1221+
59B9E1DF20E35C50002F732E /* OptimizelySDKCoreiOSTests-Bridging-Header.h */,
12161222
EA3C68161DC1E66C00C578CA /* OptimizelySDKCoreTests-Info.plist */,
12171223
EA2FAB841DC6FDFA00B1D81B /* OptimizelySDKCoreTests.m */,
1224+
0BDF71FD202D04EE00EB9742 /* OptimizelySDKCoreTVOSTests-Bridging-Header.h */,
1225+
59B9E1CE20E28D9D002F732E /* OptimizelySwiftTest.swift */,
12181226
EA2FAB861DC6FDFA00B1D81B /* OptimizelyTest.m */,
12191227
3EEC2B0120CB40ED00D096E4 /* OptimizelyV3Test.m */,
12201228
EA2FAB871DC6FDFA00B1D81B /* OPTLYAudienceTest.m */,
@@ -1229,13 +1237,13 @@
12291237
EA2FAB8F1DC6FDFA00B1D81B /* OPTLYLoggerTest.m */,
12301238
5E4C07FA1DFF66B00042B1F8 /* OPTLYNetworkServiceTest.m */,
12311239
3EA818931FFF88F800BEBD41 /* OPTLYNotificationCenterTest.m */,
1240+
0BDF71FE202D04EF00EB9742 /* OPTLYNotificationCenterTest2.swift */,
1241+
59B9E1E020E35C9E002F732E /* OPTLYProjectConfigSwiftTest.swift */,
12321242
EA2FAB901DC6FDFA00B1D81B /* OPTLYProjectConfigTest.m */,
12331243
EA064BCB1DD3FC9F00DF7537 /* OPTLYQueueTest.m */,
12341244
EA2FAB911DC6FDFA00B1D81B /* OPTLYTestHelper.h */,
12351245
EA2FAB921DC6FDFA00B1D81B /* OPTLYTestHelper.m */,
12361246
EA2FAB941DC6FDFA00B1D81B /* TestData */,
1237-
0BDF71FE202D04EF00EB9742 /* OPTLYNotificationCenterTest2.swift */,
1238-
0BDF71FD202D04EE00EB9742 /* OptimizelySDKCoreTVOSTests-Bridging-Header.h */,
12391247
);
12401248
path = OptimizelySDKCoreTests;
12411249
sourceTree = "<group>";
@@ -1533,10 +1541,12 @@
15331541
};
15341542
3EA27B061F47AB0D00C0208F = {
15351543
CreatedOnToolsVersion = 8.3.3;
1544+
LastSwiftMigration = 1000;
15361545
ProvisioningStyle = Automatic;
15371546
};
15381547
EA2FA7FD1DC5DBA000B1D81B = {
15391548
CreatedOnToolsVersion = 8.1;
1549+
LastSwiftMigration = 1000;
15401550
ProvisioningStyle = Automatic;
15411551
};
15421552
EA2FA8051DC5DBA000B1D81B = {
@@ -1546,6 +1556,7 @@
15461556
};
15471557
EA2FA81D1DC5DBB100B1D81B = {
15481558
CreatedOnToolsVersion = 8.1;
1559+
LastSwiftMigration = 1000;
15491560
ProvisioningStyle = Automatic;
15501561
};
15511562
EA2FA8251DC5DBB100B1D81B = {
@@ -1933,8 +1944,10 @@
19331944
buildActionMask = 2147483647;
19341945
files = (
19351946
EA2FABAE1DC6FDFA00B1D81B /* OPTLYConditionTest.m in Sources */,
1947+
59B9E1E220E35C9E002F732E /* OPTLYProjectConfigSwiftTest.swift in Sources */,
19361948
EA2FAB9C1DC6FDFA00B1D81B /* OptimizelySDKCoreTests.m in Sources */,
19371949
EA2FABA21DC6FDFA00B1D81B /* OptimizelyTest.m in Sources */,
1950+
59B9E1D120E28DBC002F732E /* OptimizelySwiftTest.swift in Sources */,
19381951
EA2FABC31DC6FDFA00B1D81B /* OPTLYTestHelper.m in Sources */,
19391952
EA2FABBD1DC6FDFA00B1D81B /* OPTLYLoggerTest.m in Sources */,
19401953
EA064BCE1DD3FCD700DF7537 /* OPTLYQueueTest.m in Sources */,
@@ -2025,9 +2038,11 @@
20252038
EA2FABA31DC6FDFA00B1D81B /* OptimizelyTest.m in Sources */,
20262039
3EEC2B0320CB40ED00D096E4 /* OptimizelyV3Test.m in Sources */,
20272040
EA2FABC41DC6FDFA00B1D81B /* OPTLYTestHelper.m in Sources */,
2041+
59B9E1D220E28DBE002F732E /* OptimizelySwiftTest.swift in Sources */,
20282042
EA2FABBE1DC6FDFA00B1D81B /* OPTLYLoggerTest.m in Sources */,
20292043
EA064BCF1DD3FCD800DF7537 /* OPTLYQueueTest.m in Sources */,
20302044
5E4C07FC1DFF66B00042B1F8 /* OPTLYNetworkServiceTest.m in Sources */,
2045+
59B9E1E320E35C9E002F732E /* OPTLYProjectConfigSwiftTest.swift in Sources */,
20312046
EA2FABB51DC6FDFA00B1D81B /* OPTLYEventBuilderTest.m in Sources */,
20322047
EA8FD0EB1DE97DD900D950AD /* OPTLYHTTPRequestManagerTest.m in Sources */,
20332048
3EA818961FFF890E00BEBD41 /* OPTLYNotificationCenterTest.m in Sources */,
@@ -2106,6 +2121,7 @@
21062121
isa = XCBuildConfiguration;
21072122
buildSettings = {
21082123
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
2124+
CLANG_ENABLE_MODULES = YES;
21092125
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
21102126
DEVELOPMENT_TEAM = "";
21112127
FRAMEWORK_SEARCH_PATHS = "";
@@ -2120,13 +2136,16 @@
21202136
OTHER_LDFLAGS = "";
21212137
PRODUCT_BUNDLE_IDENTIFIER = com.optimizely.OPTLYJSONModeliOSTests;
21222138
PRODUCT_NAME = "$(TARGET_NAME)";
2139+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
2140+
SWIFT_VERSION = 4.2;
21232141
};
21242142
name = Debug;
21252143
};
21262144
3EA27B121F47AB0D00C0208F /* Release */ = {
21272145
isa = XCBuildConfiguration;
21282146
buildSettings = {
21292147
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
2148+
CLANG_ENABLE_MODULES = YES;
21302149
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
21312150
DEVELOPMENT_TEAM = "";
21322151
FRAMEWORK_SEARCH_PATHS = "";
@@ -2137,6 +2156,7 @@
21372156
OTHER_LDFLAGS = "";
21382157
PRODUCT_BUNDLE_IDENTIFIER = com.optimizely.OPTLYJSONModeliOSTests;
21392158
PRODUCT_NAME = "$(TARGET_NAME)";
2159+
SWIFT_VERSION = 4.2;
21402160
};
21412161
name = Release;
21422162
};
@@ -2201,6 +2221,7 @@
22012221
PRODUCT_MODULE_NAME = "$(PRODUCT_NAME)";
22022222
SDKROOT = iphoneos;
22032223
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
2224+
SWIFT_VERSION = 4.2;
22042225
TARGETED_DEVICE_FAMILY = "1,2";
22052226
VALIDATE_PRODUCT = YES;
22062227
VERSIONING_SYSTEM = "apple-generic";
@@ -2212,6 +2233,7 @@
22122233
isa = XCBuildConfiguration;
22132234
buildSettings = {
22142235
APPLICATION_EXTENSION_API_ONLY = YES;
2236+
CLANG_ENABLE_MODULES = YES;
22152237
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
22162238
CLANG_WARN_INFINITE_RECURSION = YES;
22172239
CLANG_WARN_SUSPICIOUS_MOVES = YES;
@@ -2238,6 +2260,8 @@
22382260
PRODUCT_MODULE_NAME = OptimizelySDKCore;
22392261
PRODUCT_NAME = OptimizelySDKCore;
22402262
SKIP_INSTALL = YES;
2263+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
2264+
SWIFT_VERSION = 4.2;
22412265
TARGETED_DEVICE_FAMILY = "1,2";
22422266
};
22432267
name = Debug;
@@ -2246,6 +2270,7 @@
22462270
isa = XCBuildConfiguration;
22472271
buildSettings = {
22482272
APPLICATION_EXTENSION_API_ONLY = YES;
2273+
CLANG_ENABLE_MODULES = YES;
22492274
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
22502275
CLANG_WARN_INFINITE_RECURSION = YES;
22512276
CLANG_WARN_SUSPICIOUS_MOVES = YES;
@@ -2268,6 +2293,7 @@
22682293
PRODUCT_MODULE_NAME = OptimizelySDKCore;
22692294
PRODUCT_NAME = OptimizelySDKCore;
22702295
SKIP_INSTALL = YES;
2296+
SWIFT_VERSION = 4.2;
22712297
TARGETED_DEVICE_FAMILY = "1,2";
22722298
};
22732299
name = Release;
@@ -2289,9 +2315,9 @@
22892315
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
22902316
PRODUCT_BUNDLE_IDENTIFIER = Optimizely.OptimizelySDKCoreiOSTests;
22912317
PRODUCT_NAME = "$(TARGET_NAME)";
2292-
SWIFT_OBJC_BRIDGING_HEADER = "OptimizelySDKCoreiOSTests-Bridging-Header.h";
2318+
SWIFT_OBJC_BRIDGING_HEADER = "OptimizelySDKCoreTests/OptimizelySDKCoreiOSTests-Bridging-Header.h";
22932319
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
2294-
SWIFT_VERSION = 3.0;
2320+
SWIFT_VERSION = 4.2;
22952321
};
22962322
name = Debug;
22972323
};
@@ -2308,15 +2334,16 @@
23082334
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
23092335
PRODUCT_BUNDLE_IDENTIFIER = Optimizely.OptimizelySDKCoreiOSTests;
23102336
PRODUCT_NAME = "$(TARGET_NAME)";
2311-
SWIFT_OBJC_BRIDGING_HEADER = "OptimizelySDKCoreiOSTests-Bridging-Header.h";
2312-
SWIFT_VERSION = 3.0;
2337+
SWIFT_OBJC_BRIDGING_HEADER = "OptimizelySDKCoreTests/OptimizelySDKCoreiOSTests-Bridging-Header.h";
2338+
SWIFT_VERSION = 4.2;
23132339
};
23142340
name = Release;
23152341
};
23162342
EA2FA8301DC5DBB100B1D81B /* Debug */ = {
23172343
isa = XCBuildConfiguration;
23182344
buildSettings = {
23192345
APPLICATION_EXTENSION_API_ONLY = YES;
2346+
CLANG_ENABLE_MODULES = YES;
23202347
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
23212348
CLANG_WARN_INFINITE_RECURSION = YES;
23222349
CLANG_WARN_SUSPICIOUS_MOVES = YES;
@@ -2338,6 +2365,8 @@
23382365
PRODUCT_NAME = OptimizelySDKCore;
23392366
SDKROOT = appletvos;
23402367
SKIP_INSTALL = YES;
2368+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
2369+
SWIFT_VERSION = 4.2;
23412370
TARGETED_DEVICE_FAMILY = 3;
23422371
TVOS_DEPLOYMENT_TARGET = 9.0;
23432372
};
@@ -2347,6 +2376,7 @@
23472376
isa = XCBuildConfiguration;
23482377
buildSettings = {
23492378
APPLICATION_EXTENSION_API_ONLY = YES;
2379+
CLANG_ENABLE_MODULES = YES;
23502380
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
23512381
CLANG_WARN_INFINITE_RECURSION = YES;
23522382
CLANG_WARN_SUSPICIOUS_MOVES = YES;
@@ -2364,6 +2394,7 @@
23642394
PRODUCT_NAME = OptimizelySDKCore;
23652395
SDKROOT = appletvos;
23662396
SKIP_INSTALL = YES;
2397+
SWIFT_VERSION = 4.2;
23672398
TARGETED_DEVICE_FAMILY = 3;
23682399
TVOS_DEPLOYMENT_TARGET = 9.0;
23692400
};
@@ -2388,7 +2419,7 @@
23882419
SDKROOT = appletvos;
23892420
SWIFT_OBJC_BRIDGING_HEADER = "OptimizelySDKCoreTests/OptimizelySDKCoreTVOSTests-Bridging-Header.h";
23902421
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
2391-
SWIFT_VERSION = 3.0;
2422+
SWIFT_VERSION = 4.2;
23922423
TVOS_DEPLOYMENT_TARGET = 9.0;
23932424
};
23942425
name = Debug;
@@ -2407,7 +2438,7 @@
24072438
PRODUCT_NAME = "$(TARGET_NAME)";
24082439
SDKROOT = appletvos;
24092440
SWIFT_OBJC_BRIDGING_HEADER = "OptimizelySDKCoreTests/OptimizelySDKCoreTVOSTests-Bridging-Header.h";
2410-
SWIFT_VERSION = 3.0;
2441+
SWIFT_VERSION = 4.2;
24112442
TVOS_DEPLOYMENT_TARGET = 9.0;
24122443
};
24132444
name = Release;
@@ -2479,6 +2510,7 @@
24792510
OPTIMIZELY_SDK_VERSION_SUFFIX = "-beta2";
24802511
PRODUCT_MODULE_NAME = "$(PRODUCT_NAME)";
24812512
SDKROOT = iphoneos;
2513+
SWIFT_VERSION = 4.2;
24822514
TARGETED_DEVICE_FAMILY = "1,2";
24832515
VERSIONING_SYSTEM = "apple-generic";
24842516
VERSION_INFO_PREFIX = "";

OptimizelySDKCore/OptimizelySDKCore/OPTLYBuilder.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,14 @@ - (id)initWithBlock:(OPTLYBuilderBlock)block {
5050
return nil;
5151
}
5252

53-
_config = [OPTLYProjectConfig init:^(OPTLYProjectConfigBuilder * _Nullable builder) {
53+
_config = [[OPTLYProjectConfig alloc] initWithBuilder:[OPTLYProjectConfigBuilder builderWithBlock:^(OPTLYProjectConfigBuilder * _Nullable builder) {
5454
builder.datafile = self.datafile;
5555
builder.logger = self.logger;
5656
builder.userProfileService = self.userProfileService;
5757
builder.errorHandler = self.errorHandler;
5858
builder.clientEngine = self.clientEngine;
5959
builder.clientVersion = self.clientVersion;
60-
}];
60+
}]];
6161

6262
if (_config == nil) {
6363
NSError *error = [NSError errorWithDomain:OPTLYErrorHandlerMessagesDomain

OptimizelySDKCore/OptimizelySDKCore/OPTLYProjectConfig.h

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/****************************************************************************
2-
* Copyright 2017, Optimizely, Inc. and contributors *
2+
* Copyright 2017-2018, Optimizely, Inc. and contributors *
33
* *
44
* Licensed under the Apache License, Version 2.0 (the "License"); *
55
* you may not use this file except in compliance with the License. *
@@ -77,7 +77,15 @@ NS_ASSUME_NONNULL_END
7777
/**
7878
* Initialize the Project Config from a builder block.
7979
*/
80-
+ (nullable instancetype)init:(nonnull OPTLYProjectConfigBuilderBlock)builderBlock;
80+
+ (nullable instancetype)init:(nonnull OPTLYProjectConfigBuilderBlock)builderBlock
81+
__attribute((deprecated("Use OPTLYProjectConfig initWithBuilder method instead.")));
82+
83+
/**
84+
* Initialize the Project Config from a OPTLYProjectConfigBuilder object.
85+
* @param builder The OPTLYProjectConfigBuilder object, which has logger, errorHandler, and eventDispatcher to be set.
86+
* @return OPTLYProjectConfig instance.
87+
*/
88+
- (nullable instancetype)initWithBuilder:(nonnull OPTLYProjectConfigBuilder *)builder;
8189

8290
/**
8391
* Initialize the Project Config from a datafile.

0 commit comments

Comments
 (0)