Skip to content

Commit 428ad1d

Browse files
Fix an issue where importing an Objective-C type called Optional causes LLDB to sometimes not be able to distinguish between Swift.Optional and OptimizelySDKiOS.Optional. (#274)
1 parent f421f49 commit 428ad1d

25 files changed

+64
-64
lines changed

OptimizelySDKCore/OPTLYJSONModel/OPTLYJSONModel/OPTLYJSONModel/OPTLYJSONModel.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,16 +57,16 @@ DEPRECATED_ATTRIBUTE
5757
* Protocol for defining optional properties in a JSON Model class. Use like below to define
5858
* model properties that are not required to have values in the JSON input:
5959
*
60-
* @property (strong, nonatomic) NSString<Optional> *propertyName;
60+
* @property (strong, nonatomic) NSString<OPTLYOptional> *propertyName;
6161
*
6262
*/
63-
@protocol Optional
63+
@protocol OPTLYOptional
6464
@end
6565

6666
/**
6767
* Make all objects compatible to avoid compiler warnings
6868
*/
69-
@interface NSObject (OPTLYJSONModelPropertyCompatibility) <Optional, Ignore>
69+
@interface NSObject (OPTLYJSONModelPropertyCompatibility) <OPTLYOptional, Ignore>
7070
@end
7171

7272
/////////////////////////////////////////////////////////////////////////////////////////////
@@ -250,11 +250,11 @@ DEPRECATED_ATTRIBUTE
250250
+ (OPTLYJSONKeyMapper *)keyMapper;
251251

252252
/**
253-
* Indicates whether the property with the given name is Optional.
254-
* To have a model with all of its properties being Optional just return YES.
253+
* Indicates whether the property with the given name is OPTLYOptional.
254+
* To have a model with all of its properties being OPTLYOptional just return YES.
255255
* This method returns by default NO, since the default behaviour is to have all properties required.
256256
* @param propertyName the name of the property
257-
* @return a BOOL result indicating whether the property is optional
257+
* @return a BOOL result indicating whether the property is OPTLYOptional
258258
*/
259259
+ (BOOL)propertyIsOptional:(NSString *)propertyName;
260260

OptimizelySDKCore/OPTLYJSONModel/OPTLYJSONModel/OPTLYJSONModel/OPTLYJSONModel.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -607,7 +607,7 @@ -(void)__inspectProperties
607607

608608
[scanner scanUpToString:@">" intoString: &protocolName];
609609

610-
if ([protocolName isEqualToString:@"Optional"]) {
610+
if ([protocolName isEqualToString:@"OPTLYOptional"]) {
611611
p.isOptional = YES;
612612
} else if([protocolName isEqualToString:@"Index"]) {
613613
#pragma GCC diagnostic push

OptimizelySDKCore/OPTLYJSONModel/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,9 +211,9 @@ for OPTLYJSONModel to work, the protocol must be in place.
211211
```objc
212212
@interface ProductModel : OPTLYJSONModel
213213
@property (nonatomic) NSInteger id;
214-
@property (nonatomic) NSString <Optional> *name;
214+
@property (nonatomic) NSString <OPTLYOptional> *name;
215215
@property (nonatomic) float price;
216-
@property (nonatomic) NSNumber <Optional> *uuid;
216+
@property (nonatomic) NSNumber <OPTLYOptional> *uuid;
217217
@end
218218
```
219219

OptimizelySDKCore/OPTLYJSONModelTests/KeyMappingTests.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@
3939
@interface TestModel: OPTLYJSONModel
4040

4141
@property (strong, nonatomic) NSString* text1;
42-
@property (strong, nonatomic) NSString<Optional>* text2;
42+
@property (strong, nonatomic) NSString<OPTLYOptional>* text2;
4343

44-
@property (strong, nonatomic) NSString<Optional>* text3;
44+
@property (strong, nonatomic) NSString<OPTLYOptional>* text3;
4545

4646
@end
4747

OptimizelySDKCore/OPTLYJSONModelTests/Models/Headers/ConcurrentReposModel.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
@property (assign, nonatomic) int watchers;
3333
@property (strong, nonatomic) NSString* owner;
3434
@property (assign, nonatomic) int forks;
35-
@property (strong, nonatomic) NSString<Optional>* language;
35+
@property (strong, nonatomic) NSString<OPTLYOptional>* language;
3636
@property (assign, nonatomic) BOOL fork;
3737
@property (assign, nonatomic) double size;
3838
@property (assign, nonatomic) int followers;

OptimizelySDKCore/OPTLYJSONModelTests/Models/Headers/GitHubKeyMapRepoModel.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
@interface GitHubKeyMapRepoModel : OPTLYJSONModel
2828

2929
@property (strong, nonatomic) NSString* __description;
30-
@property (strong, nonatomic) NSString<Optional>* language;
30+
@property (strong, nonatomic) NSString<OPTLYOptional>* language;
3131

3232
#pragma GCC diagnostic push
3333
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"

OptimizelySDKCore/OPTLYJSONModelTests/Models/Headers/GitHubRepoModel.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
@property (assign, nonatomic) int watchers;
3232
@property (strong, nonatomic) NSString* owner;
3333
@property (assign, nonatomic) int forks;
34-
@property (strong, nonatomic) NSString<Optional>* language;
34+
@property (strong, nonatomic) NSString<OPTLYOptional>* language;
3535
@property (assign, nonatomic) BOOL fork;
3636
@property (assign, nonatomic) double size;
3737
@property (assign, nonatomic) int followers;

OptimizelySDKCore/OPTLYJSONModelTests/Models/Headers/GitHubRepoModelForUSMapper.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@
3030
@property (strong, nonatomic) NSDate* createdAt;
3131
@property (assign, nonatomic) int aVeryLongPropertyName;
3232
@property (strong, nonatomic) NSString* itemObject145;
33-
@property (strong, nonatomic) NSString<Optional>* itemObject176Details;
33+
@property (strong, nonatomic) NSString<OPTLYOptional>* itemObject176Details;
3434

3535
@end

OptimizelySDKCore/OPTLYJSONModelTests/Models/Headers/ImageModel.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@
3030

3131
@property (strong, nonatomic) NSNumber* idImage;
3232
@property (strong, nonatomic) NSString* name;
33-
@property (strong, nonatomic) CopyrightModel<Optional>* copyright;
33+
@property (strong, nonatomic) CopyrightModel<OPTLYOptional>* copyright;
3434

3535
@end

OptimizelySDKCore/OPTLYJSONModelTests/Models/Headers/JSONTypesModel.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,6 @@
3434
@property (strong, nonatomic) NSMutableArray* dynamicList;
3535
@property (strong, nonatomic) NSDictionary* dictionary;
3636
@property (strong, nonatomic) NSMutableDictionary* dynamicDictionary;
37-
@property (strong, nonatomic) NSString<Optional>* notAvailable;
37+
@property (strong, nonatomic) NSString<OPTLYOptional>* notAvailable;
3838

3939
@end

OptimizelySDKCore/OPTLYJSONModelTests/Models/Headers/OptionalPropModel.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
@interface OptionalPropModel : OPTLYJSONModel
2929

3030
@property (assign, nonatomic) int fillerNumber;
31-
@property (strong, nonatomic) NSString<Optional>* notRequredProperty;
31+
@property (strong, nonatomic) NSString<OPTLYOptional>* notRequredProperty;
3232
@property (strong, nonatomic) NSString<Ignore>* ignoredProperty;
3333
@property (assign, nonatomic) CGPoint notRequiredPoint;
3434

OptimizelySDKCore/OPTLYJSONModelTests/Models/Headers/PostModel.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,6 @@
3131
@property (strong, nonatomic) NSString<Index>* id;
3232
#pragma GCC diagnostic pop
3333

34-
@property (strong, nonatomic) NSString<Optional>* name;
34+
@property (strong, nonatomic) NSString<OPTLYOptional>* name;
3535

3636
@end

OptimizelySDKCore/OPTLYJSONModelTests/NullTests.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,15 @@
2626
@import OptimizelySDKCore;
2727

2828
@interface NullModelA : OPTLYJSONModel
29-
@property (nonatomic) NSString <Optional> *optional;
29+
@property (nonatomic) NSString <OPTLYOptional> *optional;
3030
@property (nonatomic) NSString *required;
3131
@end
3232

3333
@implementation NullModelA
3434
@end
3535

3636
@interface NullModelB : OPTLYJSONModel
37-
@property (nonatomic) NSString <Optional> *prop;
37+
@property (nonatomic) NSString <OPTLYOptional> *prop;
3838
@end
3939

4040
@implementation NullModelB

OptimizelySDKCore/OptimizelySDKCore/OPTLYDecisionEventTicket.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,33 +30,33 @@
3030
//The time the decision was made.
3131
@property (nonatomic, assign) long long timestamp;
3232
// Revision of client DATA, corresponding to a stored snapshot
33-
@property (nonatomic, strong, nullable) NSString<Optional> *revision;
33+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *revision;
3434
// Unique ID shared by all events in the current activation cycle
35-
@property (nonatomic, strong, nullable) NSString<Optional> *activationId;
35+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *activationId;
3636
// GUID ID uniquely identifying the decision event triggering
37-
@property (nonatomic, strong, nullable) NSString<Optional> *decisionId;
37+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *decisionId;
3838
// GUID ID uniquely identifying the user’s current session
39-
@property (nonatomic, strong, nullable) NSString<Optional> *sessionId;
39+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *sessionId;
4040
// Project ID of the decision.
4141
@property (nonatomic, strong, nonnull) NSString *projectId;
4242
// Account ID of the decision.
4343
@property (nonatomic, strong, nonnull) NSString *accountId;
4444
// The type of client engine sending this event: ‘ios’, ‘android’, ‘js’.
45-
@property (nonatomic, strong, nullable) NSString<Optional> *clientEngine;
45+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *clientEngine;
4646
// The version of the client engine sending this event.
47-
@property (nonatomic, strong, nullable) NSString<Optional> *clientVersion;
47+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *clientVersion;
4848
// Event information taken from the http header instead of the payload
49-
@property (nonatomic, strong, nullable) OPTLYEventHeader<Optional> *header;
49+
@property (nonatomic, strong, nullable) OPTLYEventHeader<OPTLYOptional> *header;
5050
// The layer affected by this decision
5151
@property (nonatomic, strong, nonnull) NSString *layerId;
5252
// Visitor-specific input to Client Decision Engine
53-
@property (nonatomic, strong, nullable) NSArray<OPTLYEventDecisionTicket, Optional> *decisionTicket;
53+
@property (nonatomic, strong, nullable) NSArray<OPTLYEventDecisionTicket, OPTLYOptional> *decisionTicket;
5454
// Output of the Client Decision Engine
5555
@property (nonatomic, strong, nonnull) OPTLYEventDecision *decision;
5656
// The ID of the user
5757
@property (nonatomic, strong, nonnull) NSString *visitorId;
5858
// The unique user ID of the user (if available)
59-
@property (nonatomic, strong, nullable) NSString<Optional> *visitorUUID;
59+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *visitorUUID;
6060
// Features attached to the user
6161
@property (nonatomic, strong, nonnull) NSArray<OPTLYEventFeature> *userFeatures;
6262
// If true, then the experience in this decision was held back at the global level

OptimizelySDKCore/OptimizelySDKCore/OPTLYEventAudience.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@
2929
@interface OPTLYEventAudience : OPTLYJSONModel
3030

3131
// The ID of the audience
32-
@property (nonatomic, strong, nullable) NSString<Optional> *audienceId;
32+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *audienceId;
3333
// The audience’s name
34-
@property (nonatomic, strong, nullable) NSString<Optional> *name;
34+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *name;
3535

3636
@end

OptimizelySDKCore/OptimizelySDKCore/OPTLYEventDecision.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@
2929
@interface OPTLYEventDecision : OPTLYJSONModel
3030

3131
// ID of chosen experiment, null if visitor is not targeted for any experiments
32-
@property (nonatomic, strong, nullable) NSString<Optional> *experimentId;
32+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *experimentId;
3333
// ID of chosen variation, null if if visitor is not targeted for any experiments
34-
@property (nonatomic, strong, nullable) NSString<Optional> *variationId;
34+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *variationId;
3535
// If true, the chosen experience was held back at the layer level
3636
// TODO - Remove later when this ticket is completed: https://optimizely.atlassian.net/browse/NB-1493
3737
@property (nonatomic, assign) BOOL isLayerHoldback;

OptimizelySDKCore/OptimizelySDKCore/OPTLYEventDecisionTicket.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131
@interface OPTLYEventDecisionTicket : OPTLYJSONModel
3232

3333
// The audiences bucketed at decision time
34-
@property (nonatomic, strong, nullable) NSArray<OPTLYEventAudience, Optional> *audiences;
34+
@property (nonatomic, strong, nullable) NSArray<OPTLYEventAudience, OPTLYOptional> *audiences;
3535
// Id (UUID or visitorId) used for bucketing
36-
@property (nonatomic, strong, nullable) NSString<Optional> *bucketingId;
36+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *bucketingId;
3737

3838
@end

OptimizelySDKCore/OptimizelySDKCore/OPTLYEventFeature.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@ NS_ASSUME_NONNULL_END
3333
@interface OPTLYEventFeature : OPTLYJSONModel
3434

3535
// The ID of feature for non-custom features. Should be the GAE ID if it exists.
36-
@property (nonatomic, strong, nullable) NSString<Optional> *featureId;
36+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *featureId;
3737
// The name of the feature, which along with type uniquely identify the feature.
38-
@property (nonatomic, strong, nullable) NSString<Optional> *name;
38+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *name;
3939
// The type the feature, which along with name uniquely identifies the feature.
40-
@property (nonatomic, strong, nullable) NSString<Optional> *type;
40+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *type;
4141
// The value of the feature (supports: string, long, int, double, float, boolean)
4242
@property (nonatomic, strong, nonnull) id value;
4343
// If true, this feature will be indexed in the counting service. Otherwise it will just be logged

OptimizelySDKCore/OptimizelySDKCore/OPTLYEventHeader.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131
// The IP address of the client
3232
@property (nonatomic, strong, nonnull) NSString *clientIp;
3333
// The user agent of the client. Null on mobile.
34-
@property (nonatomic, strong, nullable) NSString<Optional> *userAgent;
34+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *userAgent;
3535
// The referrer of the client. Null on mobile.
36-
@property (nonatomic, strong, nullable) NSString<Optional> *referer;
36+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *referer;
3737

3838
@end

OptimizelySDKCore/OptimizelySDKCore/OPTLYEventLayerState.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,27 +33,27 @@
3333
// The id of the layer state
3434
@property (nonatomic, strong, nonnull) NSString *layerId;
3535
// Visitor-specific input to Client Decision Engine
36-
@property (nonatomic, strong, nullable) OPTLYEventDecisionTicket<Optional> *decisionTicket;
36+
@property (nonatomic, strong, nullable) OPTLYEventDecisionTicket<OPTLYOptional> *decisionTicket;
3737
// Output of the Client Decision Engine
38-
@property (nonatomic, strong, nullable) OPTLYEventDecision<Optional> *decision;
38+
@property (nonatomic, strong, nullable) OPTLYEventDecision<OPTLYOptional> *decision;
3939
// The activationId when the decision was made
40-
@property (nonatomic, strong, nullable) NSString<Optional> *decisionActivationId;
40+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *decisionActivationId;
4141
// The sessionId when the decision was made
42-
@property (nonatomic, strong, nullable) NSString<Optional> *decisionSessionId;
42+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *decisionSessionId;
4343
// The timestamp when the decision was made
44-
@property (nonatomic, strong, nullable) NSNumber<Optional> *decisionTimestamp;
44+
@property (nonatomic, strong, nullable) NSNumber<OPTLYOptional> *decisionTimestamp;
4545
// The generated UID for the DecisionEventTicketAvro logged when this decision was made.
46-
@property (nonatomic, strong, nullable) NSString<Optional> *decisionEventId;
46+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *decisionEventId;
4747
// Indicates whether any actions for this layer have trigged
4848
@property (nonatomic, assign) BOOL actionTriggered;
4949
// The activation ID when the action was last triggered
50-
@property (nonatomic, strong, nullable) NSString<Optional> *actionActivationId;
50+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *actionActivationId;
5151
// The session Id when the action was last triggered
52-
@property (nonatomic, strong, nullable) NSString<Optional> *actionSessionId;
52+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *actionSessionId;
5353
// The timestamp when the action was last triggered
54-
@property (nonatomic, strong, nullable) NSNumber<Optional> *actionTimestamp;
54+
@property (nonatomic, strong, nullable) NSNumber<OPTLYOptional> *actionTimestamp;
5555
// The DATA revision of the layer definition in use when this layer was processed
56-
@property (nonatomic, strong, nullable) NSString<Optional> *revision;
56+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *revision;
5757

5858

5959
@end

OptimizelySDKCore/OptimizelySDKCore/OPTLYEventRelatedEvent.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@
2929
@interface OPTLYEventRelatedEvent : OPTLYJSONModel
3030

3131
// The id of the related event
32-
@property (nonatomic, strong, nullable) NSString<Optional> *eventId;
32+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *eventId;
3333
// The type of the relationship to this event
34-
@property (nonatomic, strong, nullable) NSString<Optional> *relationship;
34+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *relationship;
3535

3636
@end

OptimizelySDKCore/OptimizelySDKCore/OPTLYEventView.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@
3131
@interface OPTLYEventView : OPTLYJSONModel
3232

3333
// The ID of the view containing this impression.
34-
@property (nonatomic, strong, nullable) NSString<Optional> *viewId;
34+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *viewId;
3535
// The timestamp when the containing view was activated.
36-
@property (nonatomic, strong, nullable) NSNumber<Optional> *activatedTimestamp;
36+
@property (nonatomic, strong, nullable) NSNumber<OPTLYOptional> *activatedTimestamp;
3737
// Features attached to the view.
38-
@property (nonatomic, strong, nullable) NSArray<OPTLYEventFeature, Optional> *viewFeatures;
38+
@property (nonatomic, strong, nullable) NSArray<OPTLYEventFeature, OPTLYOptional> *viewFeatures;
3939

4040
@end

OptimizelySDKCore/OptimizelySDKCore/OPTLYFeatureFlag.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
/// an NSArray of the feature variables that are part of this feature
4040
@property (nonatomic, strong, nonnull) NSArray<OPTLYFeatureVariable> *variables;
4141
/// an NSString to hold the group Id the feature belongs to.
42-
@property (nonatomic, strong, nullable) NSString<Optional> *groupId;
42+
@property (nonatomic, strong, nullable) NSString<OPTLYOptional> *groupId;
4343

4444
/**
4545
* Determines whether all the experiments in the feature flag belongs to the same mutex group

OptimizelySDKCore/OptimizelySDKCore/OPTLYProjectConfig.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ NS_ASSUME_NONNULL_END
4545
/// Datafile Revision number
4646
@property (nonatomic, strong, nonnull) NSString *revision;
4747
/// Flag for IP anonymization
48-
@property (nonatomic, strong, nonnull) NSNumber<Optional> *anonymizeIP;
48+
@property (nonatomic, strong, nonnull) NSNumber<OPTLYOptional> *anonymizeIP;
4949
/// Flag for Bot Filtering
50-
@property (nonatomic, strong, nonnull) NSNumber<Optional> *botFiltering;
50+
@property (nonatomic, strong, nonnull) NSNumber<OPTLYOptional> *botFiltering;
5151
/// List of Optimizely Experiment objects
5252
@property (nonatomic, strong, nonnull) NSArray<OPTLYExperiment> *experiments;
5353
/// List of Optimizely Event Type objects
@@ -59,7 +59,7 @@ NS_ASSUME_NONNULL_END
5959
/// List of group objects
6060
@property (nonatomic, strong, nonnull) NSArray<OPTLYGroup> *groups;
6161
/// List of live variable objects (DEPRECATED)
62-
@property (nonatomic, strong, nonnull) NSArray<OPTLYVariable, Optional> *variables;
62+
@property (nonatomic, strong, nonnull) NSArray<OPTLYVariable, OPTLYOptional> *variables;
6363

6464
/// a comprehensive list of experiments that includes experiments being whitelisted (in Groups)
6565
@property (nonatomic, strong, nullable) NSArray<OPTLYExperiment, Ignore> *allExperiments;
@@ -72,9 +72,9 @@ NS_ASSUME_NONNULL_END
7272
/// Returns the client version number
7373
@property (nonatomic, strong, readonly, nonnull) NSString<Ignore> *clientVersion;
7474
/// List of Optimizely Feature Flags objects
75-
@property (nonatomic, strong, nonnull) NSArray<OPTLYFeatureFlag, Optional> *featureFlags;
75+
@property (nonatomic, strong, nonnull) NSArray<OPTLYFeatureFlag, OPTLYOptional> *featureFlags;
7676
/// List of Optimizely Rollouts objects
77-
@property (nonatomic, strong, nonnull) NSArray<OPTLYRollout, Optional> *rollouts;
77+
@property (nonatomic, strong, nonnull) NSArray<OPTLYRollout, OPTLYOptional> *rollouts;
7878

7979
/**
8080
* Initialize the Project Config from a builder block.

OptimizelySDKCore/OptimizelySDKCore/OPTLYVariation.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,14 @@
3737
/// The variation's Key.
3838
@property (nonatomic, strong, nonnull) NSString *variationKey;
3939
/// The array containing the variables usage instances that are part of this variation.
40-
@property (nonatomic, strong, nullable) NSArray<OPTLYVariableUsage, Optional> *variableUsageInstances;
40+
@property (nonatomic, strong, nullable) NSArray<OPTLYVariableUsage, OPTLYOptional> *variableUsageInstances;
4141
/// Flag for Feature Toggle Ability
4242
@property (nonatomic, assign) BOOL featureEnabled;
4343

4444
/// Gets the variable usage instance for a given variable id
4545
- (nullable OPTLYVariableUsage *)getVariableUsageForVariableId:(nullable NSString *)variableId;
4646

4747
/// The array containing the variation's live variable information -- variable ID and variable value. (DEPRECATED)
48-
@property (nonatomic, strong, nullable) NSArray<OPTLYVariationVariable, Optional> *variables;
48+
@property (nonatomic, strong, nullable) NSArray<OPTLYVariationVariable, OPTLYOptional> *variables;
4949

5050
@end

0 commit comments

Comments
 (0)