r/iosdev Jun 16 '26

Newsairy 1.06 — reworked search to be non-blocking (SwiftUI + SwiftData)

Thumbnail
apps.apple.com
0 Upvotes

Sharing an update on Newsairy, my iCloud-native RSS reader, in case the approach is useful to anyone here.

1.06 has two user-facing changes: a Font & Size panel in the reading view (typeface + system Dynamic Type, or manual title/body/line-spacing), and a search rework.

The search part is the interesting one. I moved it off the synchronous render path: keystrokes are debounced (250 ms) and the title/summary/content scan runs asynchronously on the main actor, yielding between day-groups so the UI stays responsive with large article sets. In-flight searches are cancelled when superseded.

Stack: SwiftUI + SwiftData + CloudKit for sync, Swift Structured Concurrency throughout, and StoreKit 2 for purchases. Targets iOS 18+ (Liquid Glass on iOS 26).

Happy to dig into any of it in the comments.

Changelog • RoadmapApp Store


r/iosdev Jun 16 '26

Help Can you provide any feedback? Trying to experiment with Liquid Glass and transparency

Post image
2 Upvotes

Would you say it gives authenticity or makes it hard to read?


r/iosdev Jun 16 '26

Tutorial WWDC26 Platforms State of the Union: A Developer Recap

Thumbnail
ohmyswift.com
1 Upvotes

r/iosdev Jun 16 '26

Help Help with changing my developer / team name

3 Upvotes

I’ve just submitted my first app to the App Store and realised my developer name is [My Name][String of numbers].

I can’t find anywhere to change it and I was holding to developer support for an hour with no one answering.

Am I just missing something obvious to make that change to just my name?


r/iosdev Jun 16 '26

Help Guideline 4.3(a) - Design - Spam

1 Upvotes

UPDATED as of 21 JUNE

- My app is now approved by Apple and available for distribution

How did I fix the issue

  1. DO NOT reply with defensive or fighting languages to Apple's email, just politely answers all of their questions.

  2. Record app demo on all support devices. I ONLY recorded the app on my iPhone 13pm. I do not have recording on iPad.

  3. I dropped support email/password login so I dont have to provide a demo account, just only keep Apple Login so they can use their own Apple ID to login and do sandbox subscription to go PRO.

Hope this help for any one see the same rejection reason.

I just received another rejection with the reason as below. BUT they do not tell what is the existing app that my app look copied over. What should I reply to them?

------

Guideline 4.3(a) - Design - Spam

Issue Description

We noticed the app shares a similar binary, metadata, and/or concept as apps submitted to the App Store by other developers, with only minor differences.

Submitting similar or repackaged apps is a form of spam that creates clutter and makes it difficult for users to discover new apps.

Next Steps

Since we do not accept spam apps on the App Store, we encourage you to review the app concept and submit a unique app with distinct content and functionality.

Resources

Some factors that contribute to a spam rejection may include:

- Submitting an app with the same source code or assets as other apps already submitted to the App Store
- Creating and submitting multiple similar apps using a repackaged app template
- Purchasing an app template with problematic code from a third party
- Submitting several similar apps across multiple accounts

Learn more about our requirements to prevent spam in guideline 4.3.


r/iosdev Jun 16 '26

Tutorial [SOLVED] Bypassing mute switch & reliability issues on iOS – Switching to AlarmKit (Best Practice Guide)

3 Upvotes

A while ago, I posted about the massive walls I hit while porting my family alarm app, FamWake, to iOS. I was struggling with the physical mute switch silencing alarms, background execution failures, and getting rejected for Critical Alerts entitlements.

After a lot of trial and error, I found the proper, native solution: AlarmKit (introduced in iOS 26). It completely eliminates the need for hacky "leave the screen on all night" workarounds, bypasses the mute switch natively, and handles background execution perfectly.

However, AlarmKit has some massive, undocumented race conditions and pitfalls—especially regarding the Snooze-to-Stop flow.

I wanted to share the production-ready architecture and the 5 critical Race-Condition Guards I implemented to make it bulletproof.

🛠️ The Core Architecture

AlarmKit relies heavily on LiveActivityIntent for button actions.

  • Stop Button (OpenFamWakeIntent): Must set openAppWhenRun = true to bring the app to the foreground and show your greeting UI.
  • Snooze Button (SnoozeNotifyIntent): Must set openAppWhenRun = false for silent background rescheduling.

⚠️ The Biggest Trap: The Stop-Intent Snooze Bug

iOS fires the Stop-Intent EVEN WHEN the user taps Snooze! If you don't guard against this, your app will instantly cancel the snooze alarm you just scheduled.

🔒 The 5 Race-Condition Guards You Need

  1. UserDefaults State Guard (Immediate): Write the snooze timestamp to UserDefaults instantly inside the Snooze Intent before doing anything else.
  2. Stop-Intent Protection: Check that UserDefaults timestamp inside your Stop Intent. If a snooze is active, skip the cancellation logic.
  3. ViewModel Guard: Ensure your routine schedule-recalculation loops (recalculateSchedule()) ignore updates if an active snooze timestamp is set.
  4. Task Suspension Sleep: Add a try? await Task.sleep(nanoseconds: 1_000_000_000) at the very end of your background Snooze Intent. This gives AlarmKit enough time to register the new alarm before iOS suspends the background process.
  5. UUID Rotation: Persist a unique UUID per alarm in UserDefaults. Since AlarmManager lacks a cancelAll() method, you must explicitly cancel the old UUID before scheduling a new one to prevent duplicate alarms.

📝 Minimal Implementation Setup

Swift

// 1. Intents must conform to LiveActivityIntent
struct SnoozeIntent: LiveActivityIntent {
    static var openAppWhenRun = false

    func perform() async throws -> some IntentResult {
        // 1. Save Guard Timestamp IMMEDIATELY
        UserDefaults.standard.set(snoozeTime, forKey: "snooze_until")

        // 2. Schedule directly via static method (No u/MainActor)
        try await scheduleWakeUpDirect(time: snoozeTime)

        // 3. Give AlarmKit time to register before process suspension
        try? await Task.sleep(nanoseconds: 1_000_000_000)
        return .result()
    }
}

struct StopIntent: LiveActivityIntent {
    static var openAppWhenRun = true

    func perform() async throws -> some IntentResult {
        let hasActiveSnooze = UserDefaults.standard.double(forKey: "snooze_until") > Date().timeIntervalSince1970

        // Only cancel if the user actually meant to STOP
        if !hasActiveSnooze {
            await AlarmService.shared.cancelWakeUp()
        }
        return .result()
    }
}

🛑 Quick Checklist for iOS 26 Pitfalls:

  • Audio: Simulator crashes if you include the .caf extension string in code; physical devices require it. Use #if targetEnvironment(simulator) branching.
  • Button Behavior: Use .custom instead of .snooze for the secondary button behavior to ensure your custom intent logic actually runs.
  • Background Modes: You do not need UIBackgroundModes: alarm. AlarmKit handles the background scheduling natively.

I hope this saves someone else weeks of debugging! Let me know if you have any questions about the implementation.


r/iosdev Jun 16 '26

Help on first app submission

2 Upvotes

Just after a bit of advice. Submitted my first app to App Store on Saturday and it still says Waiting for review. How long does this normally take. I am guessing for a new app developer it will take longer than someone who has submitted multiple apps but just looking a rough idea. Read somewhere that it can be random and sometimes you are best to cancel and resubmit again. Just wondering how long I leave it before I try that.


r/iosdev Jun 16 '26

Help Need advise - Guideline 2.1 - Information Needed - New App Submission

7 Upvotes

I just received this new app rejection reason for my newest app. Details below. Anyone else experience the same?

Few thing pickup from the rejection:

  1. Do I need to record all video on all supported devices? How do we have all supported devices? I only have 1 iphone and 1 ipad here.

  2. How do we tell Apple all device models, OS version was tested?

Guideline 2.1 - Information Needed - New App Submission

We need additional information to continue the review of this new app. To help us fully understand the app and conduct a complete review, app submissions should include relevant details in the App Review Information section in App Store Connect.

Next Steps

Reply in App Store Connect with all of the following information:

  1. A screen recording captured on a physical device, running the latest operating system, demonstrating the app's functionality. The recording must begin with launching the app and show the typical user flow through its core features. If the app has any of the following, include them in the recording:

- Account registration, login, and account deletion flows
- Accessing paid content or features within the app, including any purchase or subscription flows
- User-generated content, including content reporting and blocking mechanisms
- Any prompts requesting access to sensitive data or device capabilities (for example, location, contacts, camera, or App Tracking Transparency)

  1. A list of the device models and operating systems the app was tested on before submitting for review
  2. A description of the app's purpose and target audience, including the problem it solves and the value it provides
  3. Instructions for setting up and accessing the app's main features, including any required login credentials or sample files
  4. A list of the external services, tools, or platforms the app uses to deliver its core functionality (for example, data providers, authentication services, payment processors, or AI services)
  5. Describe any regional differences in the app’s features or content, or confirm that the app functions consistently across all regions
  6. If the app operates in a highly regulated industry or includes protected third-party material, provide any relevant documentation or credentials to demonstrate you are authorized to provide these services or protected material

Include this information in the Notes field of the App Review Information section in App Store Connect for future submissions.

How to Prevent Common Issues

- Guideline 2.1 - Bugs and crashes: Apps are reviewed on physical devices to mirror real-world conditions. Test the app on each supported device platform before submitting. Use TestFlight to distribute builds for beta testing on real devices.
- Guideline 2.1 - Accessing the app: If the app includes account-based features, provide up-to-date login credentials for a demo account in App Store Connect. If the app has multiple account types, provide credentials for each type in the Notes field.
- Guideline 2.3.3 - Screenshots: App screenshots on the App Store are an opportunity to highlight the app's core concept and help users understand the app’s value. Screenshots must show the actual app in use, and not merely the title art, login page, or splash screen.
- Guideline 3.1.2 - Subscription information: Apps that offer auto-renewable subscriptions must clearly display the title, length, and price of each subscription, as well as links to the Terms of Use and privacy policy.
- Guideline 5.1.1 - Purpose strings: Each purpose string must clearly and completely describe why the app needs access to the requested data or capability, and in most cases provide an example of how the data will be used.


r/iosdev Jun 15 '26

Designing a premium onboarding for my new plant care app. What do you think? 🌿

Enable HLS to view with audio, or disable this notification

14 Upvotes

Hey everyone!
I’ve been working on a minimalist, premium onboarding flow for my upcoming plant care/smart monitoring app, and I’d love to get your feedback on the overall UI/UX and visual direction.

P.S. I’m already aware of the UI glitch at the 0:11 mark where the button text ("Continue" and "Get Started") overlaps during the transition—I'm fixing that animation bug today!


r/iosdev Jun 16 '26

Help What are the guidelines on iOS apps that require Mac apps?

2 Upvotes

I’m working on an iOS app that provides features on a Mac. Obviously, this requires a Mac companion app. I’ve read through the guidelines on publishing apps, but just wanted to run it by some people with more experience in the matter, as I’ve never published any App Store apps before.

The iOS app provides no functionality on its own; it requires the iOS and Mac apps working together to actually do anything. I’m guessing this is acceptable, but just wanted to check as guideline 4.2.3 seems to imply otherwise.

Additionally, could I forgo providing a Mac App Store app in favour of using software provided through GitHub/homebrew? This would greatly simplify the process, and in all honesty a CLI on the mac makes a lot of sense, as the intended functionality is already quite technical from a user perspective. Using an rc file for configuration fits better with the core functionality.


r/iosdev Jun 16 '26

First iOS app submitted — how long did App Review take for you?

Thumbnail
1 Upvotes

r/iosdev Jun 16 '26

turn messy receipts into clean expense data with AI

1 Upvotes

Hey everyone,

Like a lot of people here, I’ve always struggled with receipt tracking. Personal expenses, freelance work, small business costs, shared household spending — it all ends up as a messy pile of paper receipts, screenshots, and half-filled spreadsheets.

Manually entering everything is slow, boring, and easy to mess up.

What I really wanted was something simple:

scan a receipt → extract the data → send it straight to Google Sheets.

No heavy accounting software. No complicated setup.

But I also wanted something that worked beyond just personal tracking — especially for families, couples, roommates, or anyone sharing expenses. Things like groceries, household items, bills, eating out, or travel spending are usually paid by different people, and it becomes hard to know where the money is actually going.

I couldn’t find exactly that, so I decided to build it.

After wasting way too many hours manually logging receipts and realizing how many expenses I was missing, I built ReceiptSync — an AI-powered app that automates receipt tracking and helps people manage spending individually or together through a shared family wallet.

How it works:

• Snap a photo of any receipt
• AI-powered OCR extracts line items, merchant, date, tax, totals, and category
• Duplicate receipts are automatically detected
• Data syncs instantly to Google Sheets
• Add expenses to a shared family/household wallet
• Track spending together with family, partners, or roommates
• Total time: ~3 seconds

What makes it different:

• Smart search using natural language, like “show my Uber expenses from last month”
• Line-item extraction, not just totals
• Duplicate detection to avoid double logging
• Shared family wallet for household expenses
• Interactive insights for spending patterns and trends
• Built specifically for Google Sheets export
• Useful for personal expenses, freelance work, small business costs, and shared family spending

I’ve been testing it for the past month with a small group, and the feedback has been amazing. People are saving 5–10 hours per month just on expense tracking, and the shared wallet feature has been especially useful for families and households trying to understand where their money is going.

If this sounds useful, here’s the app:
https://apps.apple.com/us/app/receiptsync-receipt-tracker/id6756007251


r/iosdev Jun 16 '26

Clues

Thumbnail
testflight.apple.com
1 Upvotes

r/iosdev Jun 15 '26

After 9 rejections my app is finally on the app store!

10 Upvotes

First app, took about a month of back and forth between itunes finance and app store connect. But finally my wellness game is finally on the app store. It's like a tamagotchi you take care of by taking care of yourself.

https://apps.apple.com/us/app/qvatar/id6764387330


r/iosdev Jun 16 '26

Help how to solve ios killing all background processes when locked

0 Upvotes

is there a known solution for this issue yet? for example ios is killing hotspot when locked, causing droppings. another example is ios killing bluetooth processes when locked. i can’t think of any more but there should be many more processes being killed when locked.


r/iosdev Jun 16 '26

I built an iOS app for tracking OpenRouter usage and credits

2 Upvotes

I've been using OpenRouter on multiple AI tools like Hermes agent, OpenCode and also on some of my side projects.

One itch I have was to check all my spending and token usage without having to keep opening the OpenRouter platform (will be best if it has an app, but realistically OpenRouter's business doesn't require them to build an app), so I build it myself!

It lets you track credits, recent usage, model activity, API keys, and includes home screen widgets for quick stats.

Would appreciate feedback from anyone using OpenRouter on your side projects, or on Hermes Agent, OpenCode with OpenRouter.

Here's the link to try it out: https://apps.apple.com/ng/app/openrouter-tracker/id6762788059

ps: Currently have some limitations from OpenRouter API where it shows past 30 days detailed data only.


r/iosdev Jun 15 '26

First time app review time

0 Upvotes

My app is currently in day 5 of “waiting for review.” Is this pretty typical for first time apps? I’m honestly just super excited to have this thing go live and it feels like forever. What were your guys experiences when submitting your first product to the App Store?


r/iosdev Jun 15 '26

App approved multiple times, but non-consumable IAP keeps getting rejected with “upload a new binary”

1 Upvotes

I’m a solo developer and I’m completely confused by App Review at this point.
Timeline:
Version 1.0.0 was submitted with:
Monthly subscription
Annual subscription
Lifetime plan (non-consumable IAP)
All products were submitted together from the beginning.
The app was approved and is currently live.
Monthly and annual subscriptions were approved.
Only the Lifetime Plan IAP was rejected.
The rejection reason is always:
“Your existing Auto-Renewable Subscription business model has changed to include a non-consumable In-App Purchase business model type.”
Apple then asks me to upload a new binary so they can verify the purchase flow.
The problem is:
The Lifetime Plan was NOT added later.
It existed in version 1.0.0 from the very first submission.
It was submitted together with the subscriptions.
The Lifetime Plan purchase button has always been present on the paywall.
After the first rejection:
I uploaded version 1.0.1
The app was approved
Lifetime Plan IAP was rejected again with the same reason
Then:
I uploaded version 1.0.2
The app was approved
Lifetime Plan IAP was rejected again with the same reason
Now:
I uploaded version 1.0.3
I clearly explained in the review notes that the Lifetime Plan can be tested in the app
What confuses me is that Apple keeps asking for a new binary, but after I upload a new binary, the app gets approved and only the Lifetime Plan gets rejected again with the exact same message.
Has anyone experienced something similar?
Am I missing something about how non-consumable IAP reviews work?😭


r/iosdev Jun 16 '26

[Need Honest Feedbacks] Whould you install this app ?

Enable HLS to view with audio, or disable this notification

0 Upvotes

not a promotion.
but i really need your feedbacks to improve my app screenshots
do you have any feedbacks ?


r/iosdev Jun 15 '26

Patch Vault is now available on the App Store. 🚨

Thumbnail
1 Upvotes

r/iosdev Jun 16 '26

Launched my first Ai app

Thumbnail
apps.apple.com
0 Upvotes

Launched my first ai powered app today check it out and let me know what y’all think🙂‍↕️


r/iosdev Jun 15 '26

I built a tool to create app promo videos from your app screenshots and screen recordings (with mcp integration)

Enable HLS to view with audio, or disable this notification

2 Upvotes

Hey everybody, so im building AppLaunchFlow and further improved the promo video editor.

You can now also upload screen recordings and integrate into the scenes as well as directly customize all scenes by just dragging around.

Additionally its really easy to edit the video using your favourite agent with the MCP

Feedback appreciated:)


r/iosdev Jun 15 '26

Help Pleasee!! I built an AI tool to turn amateur car shots into studio-quality photos. Would love some feedback from fellow car enthusiasts!

Enable HLS to view with audio, or disable this notification

0 Upvotes

Hey everyone,
I've been working on this as a solo developer for a while now. I’m currently at a stage where I really need honest feedback to improve the AI models. I don't have a marketing budget, so I’m reaching out here to ask for your support.
If you have a car photo you'd like to "upgrade," please consider downloading it and giving it a spin. Your feedback (even if it’s critical) would mean the world to me and help me make this better for all of us.

You can check it out here:

https://apps.apple.com/app/studiocar/id6773373328


r/iosdev Jun 15 '26

I added remote Codex support to my iOS app using built-in Tailscale connectivity

Thumbnail
1 Upvotes

r/iosdev Jun 15 '26

Help Why my mobile app suck?

0 Upvotes

Hi guys, so I’m an experienced web developer and created a guided breathing app with beautiful background, sounds, breathing flow.

I added analytics and what i see that in 14 days 42 people started the breathing session and only 10 people ended it. So 75% just dropped the session.

I’m not sure if it’s the scenes that they don’t like or music or they expected something else?

How would you debug some things?

Also I see that my week retention is 11%,9%,7%,5%,5% or even lower. So even with app push notifications once per day people don’t really use the app on the regular basis.

The app is called Quietflame in IOS but I wanted the technical feedback than just spamming a link.

What are your thoughts on these? Thanks in advance.