Skip to content

Commit b6deeba

Browse files
committed
fix: dev client crash
1 parent 13ed57e commit b6deeba

1 file changed

Lines changed: 10 additions & 7 deletions

File tree

packages/react-native-device-activity/ios/ReactNativeDeviceActivityModule.swift

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,10 @@ class NativeEventObserver {
232232
registerListener(name: "intervalWillEndWarning")
233233
registerListener(name: "eventWillReachThresholdWarning")
234234
}
235+
236+
func unregister() {
237+
CFNotificationCenterRemoveEveryObserver(notificationCenter, observer)
238+
}
235239
}
236240

237241
@available(iOS 15.0, *)
@@ -277,8 +281,6 @@ public class ReactNativeDeviceActivityModule: Module {
277281
])
278282
let fileManager = FileManager.default
279283

280-
let observer = NativeEventObserver(module: self)
281-
282284
var watchActivitiesHandle: Cancellable?
283285
var onDeviceActivityDetectedHandle: Cancellable?
284286

@@ -321,7 +323,10 @@ public class ReactNativeDeviceActivityModule: Module {
321323
return to.absoluteString
322324
}
323325

326+
var observer: NativeEventObserver?
327+
324328
OnStartObserving {
329+
observer = NativeEventObserver(module: self)
325330
onDeviceActivityDetectedHandle = AuthorizationCenter.shared.$authorizationStatus.sink {
326331
status in
327332
self.sendEvent(
@@ -341,6 +346,8 @@ public class ReactNativeDeviceActivityModule: Module {
341346
}
342347

343348
OnStopObserving {
349+
observer?.unregister()
350+
observer = nil
344351
watchActivitiesHandle?.cancel()
345352
onDeviceActivityDetectedHandle?.cancel()
346353
}
@@ -694,7 +701,7 @@ public class ReactNativeDeviceActivityModule: Module {
694701

695702
let activitySelection = parseActivitySelectionInput(input: familyActivitySelection)
696703

697-
try blockSelectedApps(
704+
blockSelectedApps(
698705
blockSelection: activitySelection,
699706
triggeredBy: triggeredBy
700707
)
@@ -816,15 +823,11 @@ public class ReactNativeDeviceActivityModule: Module {
816823
}
817824

818825
Prop("footerText") { (view: ReactNativeDeviceActivityView, prop: String?) in
819-
820826
view.model.footerText = prop
821-
822827
}
823828

824829
Prop("headerText") { (view: ReactNativeDeviceActivityView, prop: String?) in
825-
826830
view.model.headerText = prop
827-
828831
}
829832
}
830833
}

0 commit comments

Comments
 (0)