Skip to content

Commit 6807e2d

Browse files
authored
Fixing Xcode warning: [UIApplication registerForRemoteNotifications] must be used from main thread only (#41)
1 parent b903239 commit 6807e2d

File tree

4 files changed

+12
-4
lines changed

4 files changed

+12
-4
lines changed

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ plugins {
2121

2222
allprojects {
2323
group = "io.github.mirzemehdi"
24-
version = "1.0.0"
24+
version = "1.0.1"
2525
val sonatypeUsername = gradleLocalProperties(rootDir).getProperty("sonatypeUsername")
2626
val sonatypePassword = gradleLocalProperties(rootDir).getProperty("sonatypePassword")
2727
val gpgKeySecret = gradleLocalProperties(rootDir).getProperty("gpgKeySecret")

gradle/libs.versions.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@ koin = "3.5.6"
1919
kotlinx-binary-validator = "0.13.2"
2020
dokka = "1.9.10"
2121
firebase-messaging = "24.0.0"
22+
kotlinx-coroutine = "1.9.0-RC"
2223

2324

2425
[libraries]
2526
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
2627
kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" }
28+
kotlinx-coroutine = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutine" }
2729
junit = { group = "junit", name = "junit", version.ref = "junit" }
2830
compose-ui = { module = "androidx.compose.ui:ui", version.ref = "compose" }
2931
compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose" }

kmpnotifier/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ kotlin {
4545
}
4646
commonMain.dependencies {
4747
implementation(libs.koin.core)
48+
implementation(libs.kotlinx.coroutine)
4849
}
4950
}
5051
}

kmpnotifier/src/iosMain/kotlin/com/mmk/kmpnotifier/firebase/FirebasePushNotifierImpl.kt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import cocoapods.FirebaseMessaging.FIRMessagingDelegateProtocol
55
import com.mmk.kmpnotifier.notification.NotifierManagerImpl
66
import com.mmk.kmpnotifier.notification.PushNotifier
77
import kotlinx.cinterop.ExperimentalForeignApi
8+
import kotlinx.coroutines.MainScope
9+
import kotlinx.coroutines.launch
810
import platform.UIKit.UIApplication
911
import platform.UIKit.registerForRemoteNotifications
1012
import platform.darwin.NSObject
@@ -16,9 +18,12 @@ import kotlin.coroutines.suspendCoroutine
1618
internal class FirebasePushNotifierImpl : PushNotifier {
1719

1820
init {
19-
println("FirebasePushNotifier is initialized")
20-
UIApplication.sharedApplication.registerForRemoteNotifications()
21-
FIRMessaging.messaging().delegate = FirebaseMessageDelegate()
21+
MainScope().launch {
22+
println("FirebasePushNotifier is initialized")
23+
UIApplication.sharedApplication.registerForRemoteNotifications()
24+
FIRMessaging.messaging().delegate = FirebaseMessageDelegate()
25+
}
26+
2227
}
2328

2429

0 commit comments

Comments
 (0)