Skip to content

Commit f50c8cf

Browse files
authored
Merge pull request #50 from sendbird/fix/crash-on-new-architecture
[CLNP-6518] fix: crash on iOS when using New Architecture
2 parents 01efbed + 3f7c3e8 commit f50c8cf

File tree

3 files changed

+25
-24
lines changed

3 files changed

+25
-24
lines changed

ios/RNSendbirdCalls.m

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ @interface RCT_EXTERN_MODULE(RNSendbirdCalls, NSObject)
5555
: (NSString *)type)
5656

5757
RCT_EXTERN_METHOD(setDirectCallDialingSoundOnWhenSilentOrVibrateMode
58-
: (BOOL *)enabled)
58+
: (nonnull NSNumber *)enabled)
5959

6060
RCT_EXTERN_METHOD(initialize
6161
: (NSString *)appId)
@@ -84,7 +84,7 @@ @interface RCT_EXTERN_MODULE(RNSendbirdCalls, NSObject)
8484

8585
RCT_EXTERN_METHOD(registerPushToken
8686
: (NSString *)token
87-
: (BOOL *)unique
87+
: (nonnull NSNumber *)unique
8888
: (RCTPromiseResolveBlock)resolve
8989
: (RCTPromiseRejectBlock)reject)
9090

@@ -95,7 +95,7 @@ @interface RCT_EXTERN_MODULE(RNSendbirdCalls, NSObject)
9595

9696
RCT_EXTERN_METHOD(registerVoIPPushToken
9797
: (NSString *)token
98-
: (BOOL *)unique
98+
: (nonnull NSNumber *)unique
9999
: (RCTPromiseResolveBlock)resolve
100100
: (RCTPromiseRejectBlock)reject)
101101

@@ -106,7 +106,7 @@ @interface RCT_EXTERN_MODULE(RNSendbirdCalls, NSObject)
106106

107107
RCT_EXTERN_METHOD(dial
108108
: (NSString *)calleeId
109-
: (BOOL *)isVideoCall
109+
: (nonnull NSNumber *)isVideoCall
110110
: (NSDictionary *)options
111111
: (RCTPromiseResolveBlock)resolve
112112
: (RCTPromiseRejectBlock)reject)
@@ -130,7 +130,7 @@ @interface RCT_EXTERN_MODULE(RNSendbirdCalls, NSObject)
130130
RCT_EXTERN_METHOD(accept
131131
: (NSString *)callId
132132
: (NSDictionary *)options
133-
: (BOOL *)holdActiveCall
133+
: (nonnull NSNumber *)holdActiveCall
134134
: (RCTPromiseResolveBlock)resolve
135135
: (RCTPromiseRejectBlock)reject)
136136

@@ -141,11 +141,11 @@ @interface RCT_EXTERN_MODULE(RNSendbirdCalls, NSObject)
141141

142142
RCT_EXTERN_METHOD(updateLocalVideoView
143143
: (NSString *)callId
144-
: (NSNumber *)videoViewId)
144+
: (nonnull NSNumber *)videoViewId)
145145

146146
RCT_EXTERN_METHOD(updateRemoteVideoView
147147
: (NSString *)callId
148-
: (NSNumber *)videoViewId)
148+
: (nonnull NSNumber *)videoViewId)
149149

150150
// MARK: - SendbirdCalls: GroupCall
151151
RCT_EXTERN_METHOD(enter

ios/RNSendbirdCalls.swift

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class RNSendbirdCalls: RCTEventEmitter {
3535
module = CallsModule()
3636
}
3737

38-
@objc func handleRemoteNotificationData(data: [AnyHashable: Any]) {
38+
@objc func handleRemoteNotificationData(_ data: [AnyHashable: Any]) {
3939
SendBirdCall.application(UIApplication.shared, didReceiveRemoteNotification: data)
4040
}
4141

@@ -80,8 +80,8 @@ extension RNSendbirdCalls {
8080
module.queryNext(queryKey, type, Promise(resolve,reject))
8181
}
8282

83-
@objc func queryRelease(_ querKey: String) {
84-
module.queryRelease(querKey)
83+
@objc func queryRelease(_ queryKey: String) {
84+
module.queryRelease(queryKey)
8585
}
8686
}
8787

@@ -99,12 +99,13 @@ extension RNSendbirdCalls {
9999
module.removeDirectCallSound(type)
100100
}
101101

102-
@objc func setDirectCallDialingSoundOnWhenSilentOrVibrateMode(_ enabled: Bool) {
103-
module.setDirectCallDialingSoundOnWhenSilentOrVibrateMode(enabled)
102+
@objc func setDirectCallDialingSoundOnWhenSilentOrVibrateMode(_ enabled: NSNumber) {
103+
module.setDirectCallDialingSoundOnWhenSilentOrVibrateMode(enabled.boolValue)
104104
}
105105

106-
@objc func initialize(_ appId: String) -> Bool {
107-
return module.initialize(appId)
106+
@objc func initialize(_ appId: String) -> NSNumber {
107+
let result = module.initialize(appId)
108+
return NSNumber(value: result)
108109
}
109110

110111
@objc func getCurrentUser(_ resolve: @escaping RCTPromiseResolveBlock, _ reject: @escaping RCTPromiseRejectBlock) {
@@ -127,24 +128,24 @@ extension RNSendbirdCalls {
127128
module.deauthenticate(Promise(resolve, reject))
128129
}
129130

130-
@objc func registerPushToken(_ token: String, _ unique: Bool, _ resolve: @escaping RCTPromiseResolveBlock, _ reject: @escaping RCTPromiseRejectBlock) {
131-
module.registerPushToken(token, unique, Promise(resolve, reject))
131+
@objc func registerPushToken(_ token: String, _ unique: NSNumber, _ resolve: @escaping RCTPromiseResolveBlock, _ reject: @escaping RCTPromiseRejectBlock) {
132+
module.registerPushToken(token, unique.boolValue, Promise(resolve, reject))
132133
}
133134

134135
@objc func unregisterPushToken(_ token: String, _ resolve: @escaping RCTPromiseResolveBlock, _ reject: @escaping RCTPromiseRejectBlock) {
135136
module.unregisterPushToken(token, Promise(resolve, reject))
136137
}
137138

138-
@objc func registerVoIPPushToken(_ token: String, _ unique: Bool, _ resolve: @escaping RCTPromiseResolveBlock, _ reject: @escaping RCTPromiseRejectBlock) {
139-
module.registerVoIPPushToken(token, unique, Promise(resolve, reject))
139+
@objc func registerVoIPPushToken(_ token: String, _ unique: NSNumber, _ resolve: @escaping RCTPromiseResolveBlock, _ reject: @escaping RCTPromiseRejectBlock) {
140+
module.registerVoIPPushToken(token, unique.boolValue, Promise(resolve, reject))
140141
}
141142

142143
@objc func unregisterVoIPPushToken(_ token: String, _ resolve: @escaping RCTPromiseResolveBlock, _ reject: @escaping RCTPromiseRejectBlock) {
143144
module.unregisterVoIPPushToken(token, Promise(resolve, reject))
144145
}
145146

146-
@objc func dial(_ calleeId: String, _ isVideoCall: Bool, _ options: [String: Any], _ resolve: @escaping RCTPromiseResolveBlock, _ reject: @escaping RCTPromiseRejectBlock) {
147-
module.dial(calleeId, isVideoCall, options, Promise(resolve, reject))
147+
@objc func dial(_ calleeId: String, _ isVideoCall: NSNumber, _ options: [String: Any], _ resolve: @escaping RCTPromiseResolveBlock, _ reject: @escaping RCTPromiseRejectBlock) {
148+
module.dial(calleeId, isVideoCall.boolValue, options, Promise(resolve, reject))
148149
}
149150

150151
@objc func fetchRoomById(_ roomId: String, _ resolve: @escaping RCTPromiseResolveBlock, _ reject: @escaping RCTPromiseRejectBlock) {
@@ -162,8 +163,8 @@ extension RNSendbirdCalls {
162163

163164
// MARK: DirectCall
164165
extension RNSendbirdCalls {
165-
@objc func accept(_ callId: String, _ options: [String: Any], _ holdActiveCall: Bool, _ resolve: @escaping RCTPromiseResolveBlock, _ reject: @escaping RCTPromiseRejectBlock) {
166-
module.accept(callId, options, holdActiveCall, Promise(resolve, reject))
166+
@objc func accept(_ callId: String, _ options: [String: Any], _ holdActiveCall: NSNumber, _ resolve: @escaping RCTPromiseResolveBlock, _ reject: @escaping RCTPromiseRejectBlock) {
167+
module.accept(callId, options, holdActiveCall.boolValue, Promise(resolve, reject))
167168
}
168169

169170
@objc func end(_ callId: String, _ resolve: @escaping RCTPromiseResolveBlock, _ reject: @escaping RCTPromiseRejectBlock) {

sample/ios/Podfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ target 'SendbirdCallsRNSample' do
3737
:app_path => "#{Pod::Config.instance.installation_root}/..",
3838

3939
# Temporary workaround: A SIGABRT occurs during iOS execution because the new architecture is not yet stabilized.
40-
:new_arch_enabled => false
40+
:new_arch_enabled => true
4141
)
4242

4343
post_install do |installer|
@@ -46,7 +46,7 @@ target 'SendbirdCallsRNSample' do
4646
installer,
4747
config[:reactNativePath],
4848
:mac_catalyst_enabled => false,
49-
# :ccache_enabled => true
49+
# :cache_enabled => true
5050
)
5151
# XCode14
5252
installer.pods_project.targets.each do |target|

0 commit comments

Comments
 (0)