Fix review prompt on iOS

This commit is contained in:
Leon Böttger committed 2025-08-20 10:03:01 +02:00
1 parent 951b783902
commit f9a7201282
2 files changed
+19 -1

No files matched your search

+16 -1
View File
@@ -7,6 +7,7 @@
import SwiftUI
import LUI
import StoreKit
struct ContentView: View {
@@ -37,6 +38,7 @@ struct DeviceListView: View {
#endif
@Environment(\.scenePhase) var scenePhase
@AppStorage("requestedReview") private var requestedReview = false
@ObservedObject var nearbyConnectionManager = NearbyConnectionManager.shared
var body: some View {
@@ -144,10 +146,23 @@ struct DeviceListView: View {
if newValue == .active {
log("App became active")
NearbyConnectionManager.shared.startDeviceDiscovery()
#if !EXTENSION
NearbyConnectionManager.shared.becomeVisible()
if incomingTransmissionCount() > 0 && !requestedReview {
runAfter(seconds: 0.3) {
if let scene = UIApplication.shared.connectedScenes.first(where: { $0.activationState == .foregroundActive }) as? UIWindowScene {
SKStoreReviewController.requestReview(in: scene)
requestedReview = true
}
else {
log("Error Requesting Review!")
}
}
}
#endif
NearbyConnectionManager.shared.startDeviceDiscovery()
}
if newValue == .background {
+3
View File
@@ -156,11 +156,14 @@ class ReceiveModel: ObservableObject, InboundAppDelegate {
}
let currentCount = incomingTransmissionCount()
#if os(macOS)
if currentCount == 0 {
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
SKStoreReviewController.requestReview()
}
}
#endif
UserDefaults.standard.set(currentCount + 1, forKey: UserDefaultsKeys.transmissionCount.rawValue)
log("[ReceiveModel] Successful transmission. Current count: \(currentCount)")