Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>

This commit is contained in:
Matt Bruce 2026-01-27 13:59:25 -06:00
parent 07f75bd766
commit 46c9461e58
4 changed files with 9 additions and 94 deletions

View File

@ -420,7 +420,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.1;
PRODUCT_BUNDLE_IDENTIFIER = com.mbrucedogs.Andromida; PRODUCT_BUNDLE_IDENTIFIER = com.mbrucedogs.Andromida;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = YES; STRING_CATALOG_GENERATE_SYMBOLS = YES;
@ -454,7 +454,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.1;
PRODUCT_BUNDLE_IDENTIFIER = com.mbrucedogs.Andromida; PRODUCT_BUNDLE_IDENTIFIER = com.mbrucedogs.Andromida;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = YES; STRING_CATALOG_GENERATE_SYMBOLS = YES;

View File

@ -82,6 +82,7 @@ final class ReminderScheduler: NSObject, UNUserNotificationCenterDelegate {
willPresent notification: UNNotification, willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void
) { ) {
print("🔔 Notification will present in foreground: \(notification.request.identifier)")
// Show the notification even when the app is in the foreground // Show the notification even when the app is in the foreground
completionHandler([.banner, .list, .sound, .badge]) completionHandler([.banner, .list, .sound, .badge])
} }
@ -91,6 +92,7 @@ final class ReminderScheduler: NSObject, UNUserNotificationCenterDelegate {
didReceive response: UNNotificationResponse, didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void withCompletionHandler completionHandler: @escaping () -> Void
) { ) {
print("🔔 Notification received/tapped: \(response.notification.request.identifier)")
// Clear badge when user interacts with notification // Clear badge when user interacts with notification
clearBadge() clearBadge()
completionHandler() completionHandler()
@ -141,6 +143,8 @@ final class ReminderScheduler: NSObject, UNUserNotificationCenterDelegate {
/// Schedules a test notification to appear in 5 seconds. /// Schedules a test notification to appear in 5 seconds.
func scheduleTestNotification() { func scheduleTestNotification() {
print("🔔 Attempting to schedule test notification...")
let content = UNMutableNotificationContent() let content = UNMutableNotificationContent()
content.title = String(localized: "Test Notification") content.title = String(localized: "Test Notification")
content.body = String(localized: "This is a test notification to verify delivery.") content.body = String(localized: "This is a test notification to verify delivery.")
@ -156,7 +160,9 @@ final class ReminderScheduler: NSObject, UNUserNotificationCenterDelegate {
UNUserNotificationCenter.current().add(request) { error in UNUserNotificationCenter.current().add(request) { error in
if let error = error { if let error = error {
print("Failed to schedule test notification: \(error)") print("❌ Failed to schedule test notification: \(error)")
} else {
print("✅ Test notification scheduled successfully! It should appear in 5 seconds.")
} }
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

View File

@ -1,101 +1,10 @@
{ {
"images" : [ "images" : [
{ {
"filename" : "AppIcon.png",
"idiom" : "universal", "idiom" : "universal",
"platform" : "ios", "platform" : "ios",
"size" : "1024x1024" "size" : "1024x1024"
}, },
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"scale" : "3x"
},
{
"idiom" : "ipad",
"size" : "20x20",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "20x20",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "76x76",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "76x76",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "83.5x83.5",
"scale" : "2x"
},
{
"idiom" : "ios-marketing",
"size" : "1024x1024",
"scale" : "1x"
},
{ {
"appearances" : [ "appearances" : [
{ {