Skip to content

Commit f275310

Browse files
committed
Address PR review comments and fix compiler warnings
- Use XCTAssertEqual with NSNumber cast instead of isEqual+XCTAssertTrue for better type safety and failure messages in integration tests - Add explicit AnyClass? type annotation to suppress type inference warning - Suppress performSelector leak warnings with pragma for dynamic dispatch - Replace deprecated Branch.trackingDisabled with preferenceHelper instance
1 parent a4914d6 commit f275310

File tree

4 files changed

+20
-8
lines changed

4 files changed

+20
-8
lines changed

SDKIntegrationTestApps/Source/IntegrationTests/iOSReleaseTestTests.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,11 @@ final class iOSReleaseTestTests: XCTestCase {
5959
let cppLevel = BNCPreferenceHelper.sharedInstance().attributionLevel
6060
print("[Test] CPP Level: \(String(describing: cppLevel))")
6161

62-
let isNone = cppLevel?.isEqual(to: BranchAttributionLevel.none.rawValue) ?? false
63-
XCTAssertTrue(isNone, "Tracking should be disabled (true)")
62+
XCTAssertEqual(
63+
cppLevel,
64+
BranchAttributionLevel.none.rawValue as NSNumber,
65+
"Tracking should be disabled"
66+
)
6467

6568
print("[Test] Disabling tracking again...")
6669
sdk.setCPPLevel(status: BranchAttributionLevel.full)

SDKIntegrationTestApps/Source/IntegrationTests/tvOSReleaseTestTests.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,11 @@ final class tvOSReleaseTestTests: XCTestCase {
5959
let cppLevel = BNCPreferenceHelper.sharedInstance().attributionLevel
6060
print("[Test] CPP Level: \(String(describing: cppLevel))")
6161

62-
let isNone = cppLevel?.isEqual(to: BranchAttributionLevel.none.rawValue) ?? false
63-
XCTAssertTrue(isNone, "Tracking should be disabled (true)")
62+
XCTAssertEqual(
63+
cppLevel,
64+
BranchAttributionLevel.none.rawValue as NSNumber,
65+
"Tracking should be disabled"
66+
)
6467

6568
print("[Test] Disabling tracking again...")
6669
sdk.setCPPLevel(status: BranchAttributionLevel.full)

Sources/BranchSDK/BNCServerRequestOperation.m

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,10 @@ - (void)startWithSwiftOperation API_AVAILABLE(ios(13.0), tvos(13.0)) {
155155
// Forward operation lifecycle to Swift implementation
156156
SEL startSelector = NSSelectorFromString(@"start");
157157
if ([self.swiftOperation respondsToSelector:startSelector]) {
158+
#pragma clang diagnostic push
159+
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
158160
[self.swiftOperation performSelector:startSelector];
161+
#pragma clang diagnostic pop
159162
}
160163

161164
// Monitor Swift operation state and reflect in Objective-C operation
@@ -205,16 +208,16 @@ - (void)startObjectiveCOperation {
205208
self.executing = YES;
206209
[[BranchLogger shared] logVerbose:[NSString stringWithFormat:@"BNCServerRequestOperation (Objective-C) starting for request: %@", self.request.requestUUID] error:nil];
207210

211+
BNCPreferenceHelper *preferenceHelper = self.preferenceHelper ?: [BNCPreferenceHelper sharedInstance];
212+
208213
// Check if tracking is disabled
209-
if (Branch.trackingDisabled) {
214+
if (preferenceHelper.trackingDisabled) {
210215
[[BranchLogger shared] logDebug:[NSString stringWithFormat:@"Tracking disabled. Skipping request: %@", self.request.requestUUID] error:nil];
211216
self.executing = NO;
212217
self.finished = YES;
213218
return;
214219
}
215220

216-
BNCPreferenceHelper *preferenceHelper = self.preferenceHelper ?: [BNCPreferenceHelper sharedInstance];
217-
218221
// Session validation for requests
219222
if (!([self.request isKindOfClass:[BranchInstallRequest class]])) {
220223
if (!preferenceHelper.randomizedBundleToken) {
@@ -271,7 +274,10 @@ - (void)cancel {
271274
if (self.swiftOperation) {
272275
SEL cancelSelector = NSSelectorFromString(@"cancel");
273276
if ([self.swiftOperation respondsToSelector:cancelSelector]) {
277+
#pragma clang diagnostic push
278+
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
274279
[self.swiftOperation performSelector:cancelSelector];
280+
#pragma clang diagnostic pop
275281
}
276282
}
277283
}

Sources/BranchSwiftSDK/BranchRequestOperation.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ public final class BranchRequestOperation: Operation, @unchecked Sendable {
258258
let requestClassName = String(describing: type(of: request))
259259
if requestClassName.contains("BranchEventRequest") {
260260
// Use dynamic method invocation for Objective-C callback
261-
let callbackMap = NSClassFromString("BNCCallbackMap")
261+
let callbackMap: AnyClass? = NSClassFromString("BNCCallbackMap")
262262
let sharedSelector = NSSelectorFromString("shared")
263263
if let callbackMapClass = callbackMap as? NSObject.Type,
264264
callbackMapClass.responds(to: sharedSelector),

0 commit comments

Comments
 (0)