Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# Optimizely Objective-C SDK Changelog

## 2.1.1
September 25, 2018

This release supports xcode 10 and Swift 4.

### New Features
* No new features for this minor release.

### Bug Fixes:
* Fix nullable and nonnull tags so that Swift 4 functions properly.
* Rename protocol Optional for JSON to OPTLYOptional.

## 2.1.0
August 2nd, 2018

Expand Down
2 changes: 1 addition & 1 deletion OptimizelySDKCore.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "OptimizelySDKCore"
s.version = "2.1.0"
s.version = "2.1.1"
s.summary = "Optimizely server-side testing core framework."
s.homepage = "http://developers.optimizely.com/server/reference/index.html?language=objectivec"
s.license = { :type => "Apache License, Version 2.0", :file => "LICENSE" }
Expand Down
4 changes: 2 additions & 2 deletions OptimizelySDKCore/OptimizelySDKCore.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -2240,7 +2240,7 @@
OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)";
OPTIMIZELY_SDK_VERSION_MAJOR = 2;
OPTIMIZELY_SDK_VERSION_MINOR = 1;
OPTIMIZELY_SDK_VERSION_PATCH = 0;
OPTIMIZELY_SDK_VERSION_PATCH = 1;
OPTIMIZELY_SDK_VERSION_SUFFIX = "";
PRODUCT_MODULE_NAME = "$(PRODUCT_NAME)";
SDKROOT = iphoneos;
Expand Down Expand Up @@ -2530,7 +2530,7 @@
OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)";
OPTIMIZELY_SDK_VERSION_MAJOR = 2;
OPTIMIZELY_SDK_VERSION_MINOR = 1;
OPTIMIZELY_SDK_VERSION_PATCH = 0;
OPTIMIZELY_SDK_VERSION_PATCH = 1;
OPTIMIZELY_SDK_VERSION_SUFFIX = "";
PRODUCT_MODULE_NAME = "$(PRODUCT_NAME)";
SDKROOT = iphoneos;
Expand Down
2 changes: 1 addition & 1 deletion OptimizelySDKCore/OptimizelySDKCore/OPTLYEventBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ NS_ASSUME_NONNULL_END
@interface OPTLYEventBuilderDefault : NSObject<OPTLYEventBuilder>

/// init is disabled. Please use initWithConfig to create an Event Builder
- (instancetype)init NS_UNAVAILABLE;
- (nonnull instancetype)init NS_UNAVAILABLE;

/**
* Initialize the default event build with the project config.
Expand Down
4 changes: 2 additions & 2 deletions OptimizelySDKDatafileManager.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "OptimizelySDKDatafileManager"
s.version = "2.1.0"
s.version = "2.1.1"
s.summary = "Optimizely server-side testing datafile manager framework."
s.homepage = "http://developers.optimizely.com/server/reference/index.html?language=objectivec"
s.license = { :type => "Apache License, Version 2.0", :file => "LICENSE" }
Expand All @@ -16,5 +16,5 @@ Pod::Spec.new do |s|
s.framework = "Foundation"
s.requires_arc = true
s.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => "OPTIMIZELY_SDK_VERSION=@\\\"#{s.version}\\\"" }
s.dependency 'OptimizelySDKShared', '2.1.0'
s.dependency 'OptimizelySDKShared', '2.1.1'
end
Original file line number Diff line number Diff line change
Expand Up @@ -815,7 +815,7 @@
OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)";
OPTIMIZELY_SDK_VERSION_MAJOR = 2;
OPTIMIZELY_SDK_VERSION_MINOR = 1;
OPTIMIZELY_SDK_VERSION_PATCH = 0;
OPTIMIZELY_SDK_VERSION_PATCH = 1;
OPTIMIZELY_SDK_VERSION_SUFFIX = "";
SDKROOT = iphoneos;
SWIFT_VERSION = 4.2;
Expand Down Expand Up @@ -886,7 +886,7 @@
OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)";
OPTIMIZELY_SDK_VERSION_MAJOR = 2;
OPTIMIZELY_SDK_VERSION_MINOR = 1;
OPTIMIZELY_SDK_VERSION_PATCH = 0;
OPTIMIZELY_SDK_VERSION_PATCH = 1;
OPTIMIZELY_SDK_VERSION_SUFFIX = "";
SDKROOT = iphoneos;
SWIFT_VERSION = 4.2;
Expand Down
4 changes: 2 additions & 2 deletions OptimizelySDKEventDispatcher.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "OptimizelySDKEventDispatcher"
s.version = "2.1.0"
s.version = "2.1.1"
s.summary = "Optimizely server-side testing event dispatcher framework."
s.homepage = "http://developers.optimizely.com/server/reference/index.html?language=objectivec"
s.license = { :type => "Apache License, Version 2.0", :file => "LICENSE" }
Expand All @@ -16,5 +16,5 @@ Pod::Spec.new do |s|
s.framework = "Foundation"
s.requires_arc = true
s.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => "OPTIMIZELY_SDK_VERSION=@\\\"#{s.version}\\\"" }
s.dependency 'OptimizelySDKShared', '2.1.0'
s.dependency 'OptimizelySDKShared', '2.1.1'
end
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@
EA29D8F21DCAC2410034A4FE /* OPTLYEventDispatcherBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = EA29D8EF1DCAC2410034A4FE /* OPTLYEventDispatcherBuilder.h */; settings = {ATTRIBUTES = (Public, ); }; };
EA29D8F31DCAC2410034A4FE /* OPTLYEventDispatcherBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = EA29D8F01DCAC2410034A4FE /* OPTLYEventDispatcherBuilder.m */; };
EA29D8F41DCAC2410034A4FE /* OPTLYEventDispatcherBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = EA29D8F01DCAC2410034A4FE /* OPTLYEventDispatcherBuilder.m */; };
EA29D8F91DCB23750034A4FE /* OptimizelySDKEventDispatcherTests-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = EA29D8F81DCB23750034A4FE /* OptimizelySDKEventDispatcherTests-Info.plist */; };
EA29D8FA1DCB23750034A4FE /* OptimizelySDKEventDispatcherTests-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = EA29D8F81DCB23750034A4FE /* OptimizelySDKEventDispatcherTests-Info.plist */; };
EA5247C81DC7272300AF6685 /* OptimizelySDKEventDispatcher.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA5247BF1DC7272300AF6685 /* OptimizelySDKEventDispatcher.framework */; };
EA52493F1DC72F8400AF6685 /* OPTLYEventDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = EA52493D1DC72F8400AF6685 /* OPTLYEventDispatcher.h */; settings = {ATTRIBUTES = (Public, ); }; };
EA5249411DC72F8400AF6685 /* OPTLYEventDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = EA52493E1DC72F8400AF6685 /* OPTLYEventDispatcher.m */; };
Expand Down Expand Up @@ -466,7 +464,6 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
EA29D8F91DCB23750034A4FE /* OptimizelySDKEventDispatcherTests-Info.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand All @@ -481,7 +478,6 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
EA29D8FA1DCB23750034A4FE /* OptimizelySDKEventDispatcherTests-Info.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -691,7 +687,7 @@
OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)";
OPTIMIZELY_SDK_VERSION_MAJOR = 2;
OPTIMIZELY_SDK_VERSION_MINOR = 1;
OPTIMIZELY_SDK_VERSION_PATCH = 0;
OPTIMIZELY_SDK_VERSION_PATCH = 1;
OPTIMIZELY_SDK_VERSION_SUFFIX = "";
SDKROOT = iphoneos;
SWIFT_VERSION = 4.2;
Expand Down Expand Up @@ -764,7 +760,7 @@
OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)";
OPTIMIZELY_SDK_VERSION_MAJOR = 2;
OPTIMIZELY_SDK_VERSION_MINOR = 1;
OPTIMIZELY_SDK_VERSION_PATCH = 0;
OPTIMIZELY_SDK_VERSION_PATCH = 1;
OPTIMIZELY_SDK_VERSION_SUFFIX = "";
SDKROOT = iphoneos;
SWIFT_VERSION = 4.2;
Expand Down
4 changes: 2 additions & 2 deletions OptimizelySDKShared.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "OptimizelySDKShared"
s.version = "2.1.0"
s.version = "2.1.1"
s.summary = "Optimizely server-side testing shared framework."
s.homepage = "http://developers.optimizely.com/server/reference/index.html?language=objectivec"
s.license = { :type => "Apache License, Version 2.0", :file => "LICENSE" }
Expand All @@ -18,5 +18,5 @@ Pod::Spec.new do |s|
s.ios.library = "sqlite3"
s.requires_arc = true
s.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => "OPTIMIZELY_SDK_VERSION=@\\\"#{s.version}\\\"" }
s.dependency 'OptimizelySDKCore', '2.1.0'
s.dependency 'OptimizelySDKCore', '2.1.1'
end
Original file line number Diff line number Diff line change
Expand Up @@ -1130,7 +1130,7 @@
OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)";
OPTIMIZELY_SDK_VERSION_MAJOR = 2;
OPTIMIZELY_SDK_VERSION_MINOR = 1;
OPTIMIZELY_SDK_VERSION_PATCH = 0;
OPTIMIZELY_SDK_VERSION_PATCH = 1;
OPTIMIZELY_SDK_VERSION_SUFFIX = "";
SDKROOT = iphoneos;
SWIFT_VERSION = 4.2;
Expand Down Expand Up @@ -1203,7 +1203,7 @@
OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)";
OPTIMIZELY_SDK_VERSION_MAJOR = 2;
OPTIMIZELY_SDK_VERSION_MINOR = 1;
OPTIMIZELY_SDK_VERSION_PATCH = 0;
OPTIMIZELY_SDK_VERSION_PATCH = 1;
OPTIMIZELY_SDK_VERSION_SUFFIX = "";
SDKROOT = iphoneos;
SWIFT_VERSION = 4.2;
Expand Down
8 changes: 4 additions & 4 deletions OptimizelySDKTVOS.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "OptimizelySDKTVOS"
s.version = "2.1.0"
s.version = "2.1.1"
s.summary = "Optimizely server-side testing framework for tvOS."
s.homepage = "http://developers.optimizely.com/server/reference/index.html?language=objectivec"
s.license = { :type => "Apache License, Version 2.0", :file => "LICENSE" }
Expand All @@ -16,7 +16,7 @@ Pod::Spec.new do |s|
s.framework = "Foundation"
s.requires_arc = true
s.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => "OPTIMIZELY_SDK_VERSION=@\\\"#{s.version}\\\"" }
s.dependency 'OptimizelySDKEventDispatcher', '2.1.0'
s.dependency 'OptimizelySDKUserProfileService', '2.1.0'
s.dependency 'OptimizelySDKDatafileManager', '2.1.0'
s.dependency 'OptimizelySDKEventDispatcher', '2.1.1'
s.dependency 'OptimizelySDKUserProfileService', '2.1.1'
s.dependency 'OptimizelySDKDatafileManager', '2.1.1'
end
4 changes: 2 additions & 2 deletions OptimizelySDKTVOS/OptimizelySDKTVOS.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -672,7 +672,7 @@
OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)";
OPTIMIZELY_SDK_VERSION_MAJOR = 2;
OPTIMIZELY_SDK_VERSION_MINOR = 1;
OPTIMIZELY_SDK_VERSION_PATCH = 0;
OPTIMIZELY_SDK_VERSION_PATCH = 1;
OPTIMIZELY_SDK_VERSION_SUFFIX = "";
SDKROOT = appletvos;
SWIFT_VERSION = 4.2;
Expand Down Expand Up @@ -773,7 +773,7 @@
OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)";
OPTIMIZELY_SDK_VERSION_MAJOR = 2;
OPTIMIZELY_SDK_VERSION_MINOR = 1;
OPTIMIZELY_SDK_VERSION_PATCH = 0;
OPTIMIZELY_SDK_VERSION_PATCH = 1;
OPTIMIZELY_SDK_VERSION_SUFFIX = "";
SDKROOT = appletvos;
SWIFT_VERSION = 4.2;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1904,7 +1904,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
BITCODE_GENERATION_MODE = marker;
BITCODE_GENERATION_MODE = bitcode;
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
Expand Down Expand Up @@ -1963,7 +1963,7 @@
OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)";
OPTIMIZELY_SDK_VERSION_MAJOR = 2;
OPTIMIZELY_SDK_VERSION_MINOR = 1;
OPTIMIZELY_SDK_VERSION_PATCH = 0;
OPTIMIZELY_SDK_VERSION_PATCH = 1;
OPTIMIZELY_SDK_VERSION_SUFFIX = "";
RESOURCES_TARGETED_DEVICE_FAMILY = "";
SDKROOT = iphoneos;
Expand Down Expand Up @@ -2036,7 +2036,7 @@
OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)";
OPTIMIZELY_SDK_VERSION_MAJOR = 2;
OPTIMIZELY_SDK_VERSION_MINOR = 1;
OPTIMIZELY_SDK_VERSION_PATCH = 0;
OPTIMIZELY_SDK_VERSION_PATCH = 1;
OPTIMIZELY_SDK_VERSION_SUFFIX = "";
RESOURCES_TARGETED_DEVICE_FAMILY = "";
SDKROOT = iphoneos;
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ __attribute((deprecated("Use OPTLYClient initWithBuilder method instead.")));
* @param builder The OPTLYClientBuilder object which has datafile, event handler, event dispatcher, and other configurations to be set.
* @return OPTLYClient instance
*/
- (instancetype)initWithBuilder:(OPTLYClientBuilder *)builder;
- (nonnull instancetype)initWithBuilder:(nullable OPTLYClientBuilder *)builder;

- (OPTLYNotificationCenter *_Nullable)notificationCenter;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,23 +15,23 @@
***************************************************************************/
#import <Foundation/Foundation.h>

extern NSString * const DEFAULT_HOST;
extern NSString * const OPTLY_PROJECTID_SUFFIX;
extern NSString * const OPTLY_ENVIRONMENTS_SUFFIX;
extern NSString * __nonnull const DEFAULT_HOST;
extern NSString * __nonnull const OPTLY_PROJECTID_SUFFIX;
extern NSString * __nonnull const OPTLY_ENVIRONMENTS_SUFFIX;

@interface OPTLYDatafileConfig : NSObject
- (nullable id)initWithProjectId:(NSString *)projectId withSDKKey:(NSString *)sdkKey withHost:(NSString *)host;
- (nullable id)initWithProjectId:(NSString *)projectId withSDKKey:(NSString *)sdkKey;
- (NSURL *) URLForKey;
- (NSString *) key;
- (nullable id)initWithProjectId:(nullable NSString *)projectId withSDKKey:(nullable NSString *)sdkKey withHost:(nonnull NSString *)host;
- (nullable id)initWithProjectId:(nullable NSString *)projectId withSDKKey:(nullable NSString *)sdkKey;
- (nonnull NSURL *) URLForKey;
- (nonnull NSString *) key;
@end

@interface OPTLYDatafileConfig(OPTLYHelpers)
+ (NSString *)defaultProjectIdCdnPath:(NSString *)projectId;
+ (NSString *)defaultSdkKeyCdnPath:(NSString *)sdkKey;
+ (nonnull NSString *)defaultProjectIdCdnPath:(nonnull NSString *)projectId;
+ (nonnull NSString *)defaultSdkKeyCdnPath:(nonnull NSString *)sdkKey;
/*
* Test if string s can be an Optimizely SDK key string.
*/
+ (BOOL)isValidKeyString:(NSString*)s;
+ (BOOL)isValidKeyString:(nullable NSString*)s;

@end
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,14 @@
* @param builderBlock The builder block containing the datafile fetch interval.
* @return an Optimizely Datafile Manager instance.
*/
+ (nullable instancetype)init:(nonnull OPTLYDatafileManagerBuilderBlock)builderBlock
+ (nullable instancetype)init:(nullable OPTLYDatafileManagerBuilderBlock)builderBlock
__attribute((deprecated("Use OPTLYDatafileManagerDefault initWithBuilder method instead.")));

/**
* Init with OPTLYDatafileManagerBuilder object
* @param builder The OPTLYDatafileManagerBuilder object containing the datafile fetch interval.
* @return an Optimizely Datafile Manager instance.
*/
- (instancetype)initWithBuilder:(OPTLYDatafileManagerBuilder *)builder;
- (nullable instancetype)initWithBuilder:(nullable OPTLYDatafileManagerBuilder *)builder;

@end
Original file line number Diff line number Diff line change
Expand Up @@ -30,33 +30,33 @@
//The time the decision was made.
@property (nonatomic, assign) long long timestamp;
// Revision of client DATA, corresponding to a stored snapshot
@property (nonatomic, strong, nullable) NSString<Optional> *revision;
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *revision;
// Unique ID shared by all events in the current activation cycle
@property (nonatomic, strong, nullable) NSString<Optional> *activationId;
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *activationId;
// GUID ID uniquely identifying the decision event triggering
@property (nonatomic, strong, nullable) NSString<Optional> *decisionId;
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *decisionId;
// GUID ID uniquely identifying the user’s current session
@property (nonatomic, strong, nullable) NSString<Optional> *sessionId;
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *sessionId;
// Project ID of the decision.
@property (nonatomic, strong, nonnull) NSString *projectId;
// Account ID of the decision.
@property (nonatomic, strong, nonnull) NSString *accountId;
// The type of client engine sending this event: ‘ios’, ‘android’, ‘js’.
@property (nonatomic, strong, nullable) NSString<Optional> *clientEngine;
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *clientEngine;
// The version of the client engine sending this event.
@property (nonatomic, strong, nullable) NSString<Optional> *clientVersion;
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *clientVersion;
// Event information taken from the http header instead of the payload
@property (nonatomic, strong, nullable) OPTLYEventHeader<Optional> *header;
@property (nonatomic, strong, nullable) OPTLYEventHeader<OPTLYOptional> *header;
// The layer affected by this decision
@property (nonatomic, strong, nonnull) NSString *layerId;
// Visitor-specific input to Client Decision Engine
@property (nonatomic, strong, nullable) NSArray<OPTLYEventDecisionTicket, Optional> *decisionTicket;
@property (nonatomic, strong, nullable) NSArray<OPTLYEventDecisionTicket, OPTLYOptional> *decisionTicket;
// Output of the Client Decision Engine
@property (nonatomic, strong, nonnull) OPTLYEventDecision *decision;
// The ID of the user
@property (nonatomic, strong, nonnull) NSString *visitorId;
// The unique user ID of the user (if available)
@property (nonatomic, strong, nullable) NSString<Optional> *visitorUUID;
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *visitorUUID;
// Features attached to the user
@property (nonatomic, strong, nonnull) NSArray<OPTLYEventFeature> *userFeatures;
// If true, then the experience in this decision was held back at the global level
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
extern NSString * const OPTLYErrorHandlerMessagesDomain;

extern NSString * const OPTLYErrorHandlerMessagesDataFileInvalid;
extern NSString * const OPTLYErrorHandlerMessagesDataFileVersionInvalid;
extern NSString * const OPTLYErrorHandlerMessagesEventDispatcherInvalid;
extern NSString * const OPTLYErrorHandlerMessagesLoggerInvalid;
extern NSString * const OPTLYErrorHandlerMessagesErrorHandlerInvalid;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@
@interface OPTLYEventAudience : OPTLYJSONModel

// The ID of the audience
@property (nonatomic, strong, nullable) NSString<Optional> *audienceId;
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *audienceId;
// The audience’s name
@property (nonatomic, strong, nullable) NSString<Optional> *name;
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *name;

@end
Loading