As far as I understand, the main thread has a run loop.
When an iOS app launches, the process must keep the run loop running to stay alive.
Does that mean the main thread is the very first thread created when the process starts?
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Provisioning profiles created for my App ID are not including the Push Notifications capability, even though Push Notifications is enabled in the App ID configuration in Apple Developer Portal.
I have enabled Push Notifications for my App ID (com.abc.app) in the Apple Developer Portal. The capability shows as enabled and saved. However, when provisioning profiles are generated (either manually or through third-party tools like Expo Application Services), they do not include:
The Push Notifications capability
The aps-environment entitlement
This results in build failures with the following errors:
Provisioning profile "*[expo] com.abc.app AppStore [timestamp]" doesn't support the Push Notifications capability.
Provisioning profile "*[expo] com.abc.app AppStore [timestamp]" doesn't include the aps-environment entitlement.
Steps Taken
✅ Enabled Push Notifications in App ID configuration (com.mirova.app)
✅ Saved the App ID configuration multiple times
✅ Waited for Apple's systems to sync (waited 5-10 minutes)
✅ Removed and re-added Push Notifications capability (unchecked, saved, re-checked, saved)
✅ Created Push Notification key in Apple Developer Portal
✅ Verified Push Notifications is checked and saved in App ID
❌ Provisioning profiles still created without Push Notifications capability
Expected Behavior
When Push Notifications is enabled for an App ID, any provisioning profiles created for that App ID should automatically include:
Push Notifications capability
aps-environment entitlement (set to production or development)
Actual Behavior
Provisioning profiles are created without Push Notifications capability, even though:
Push Notifications is enabled in App ID
App ID configuration is saved
Sufficient time has passed for sync
Additional Information
Push Notification Key: Created and valid (Key ID: 3YKQ7XLG9L and 747G8W2J68)
Distribution Certificate: Valid and active
Provisioning Profile Type: App Store distribution
Third-party Tool: Using Expo Application Services (EAS) for builds, but issue persists with manually created profiles as well
Questions
Is there a delay or sync issue between enabling Push Notifications in App ID and it being available for provisioning profiles?
Are there any additional steps required to ensure Push Notifications is included in provisioning profiles?
Is there a known issue with Push Notifications capability not being included in provisioning profiles?
Should I create the provisioning profile in a specific way to ensure Push Notifications is included?
Environment
Platform: iOS
Build Type: App Store distribution
Xcode Version: (via EAS cloud build)
Thank you for your assistance. I've been unable to resolve this issue and would appreciate any guidance.
iOS Deployment Target: Latest
Hi, I'm currently at 19 hours waiting for notarization. My dev account is new and this is the first time I'm submitting anything to be notarized. I've gathered from my research that this is normal (unfortunately). I figure the only thing I can do is wait, but is there any way for me to know if I'm waiting for a human to manually review it? I was going to file a support request, but I saw that they won't be responding to any support requests until after their Thanksgiving break, and I assume nobody is manually reviewing notary submissions for the next week+. I attached the submission below, thanks!
createdDate: 2025-11-21T21:17:10.082Z
id: c9746d42-1dc7-4641-aec1-62c6cedff1a2
name: ***********.zip
status: In Progress
Topic:
Code Signing
SubTopic:
Notarization
Hello, Apple Developer Community!
I am attempting to test a user upgrade scenario from an existing monthly subscription to a yearly subscription, applying a Promotional Offer within the sandbox environment.
When trying to process the transaction, I consistently receive the following errors from StoreKit:
<SKPaymentQueue: 0x...>: Payment completed with error: Error Domain=ASDServerErrorDomain Code=3903 "Unable to Purchase" UserInfo={NSLocalizedFailureReason=Unable to Purchase, client-environment-type=Sandbox, AMSServerErrorCode=3903, storefront-country-code=USA}
[...]: Finishing transaction <SKPaymentTransaction: 0x...> with no identifier
Additionally, the standard dialog shown to the user displays:
Unable to Purchase
Contact the developer for more information.
[Environment: Sandbox]
My Implementation Details:
Scenario: The user has an active monthly subscription and attempts to upgrade to a yearly subscription with a Promotional Offer (discount).
Signature Generation: I use a custom backend written in Go to generate the signature, nonce, and timestamp. The code follows Apple’s documentation requirements, including proper encoding and formatting.
Client (iOS): On the Swift side, I correctly initialize the SKPaymentDiscount and add it to the SKMutablePayment before adding the payment to the queue. The applicationUsername property is used and matches on both server and client sides.
What I Have Already Verified and Ruled Out:
New Test Accounts: I have created multiple fresh sandbox tester accounts in different regions (USA, Canada, Germany) and used them.
Time Synchronization: The time on my server and the test device is synchronized.
Parameters: Bundle ID, Product ID, and Offer ID match exactly with the configurations in App Store Connect.
App Store Connect Agreements: The Paid Applications Agreement is active.
Testing Environment: Testing is conducted on a physical device (iPhone), not a simulator.
It seems the issue may not be related to my code but rather a potential glitch within the Apple sandbox environment itself when processing complex upgrade requests with a promotional offer.
Has anyone encountered a similar issue when testing Promotional Offers? I would appreciate any help or guidance.
I have made a screensaver for mac in swift, but couldn't find how to add an icon the logo image that shows up on saver file) and thumbnail (the cover image that shows up in the screensaver catalogue).
Currently, it just shows a default blue spiral galaxy thumbnail and no icon image
I am trying to migrate an app to use Network framework for p2p connection. I came across this great article for migrating to Network framework however this doesnt use the new structured concurrency. This being introduced with iOS 26, there doesnt seem to be any sample code available on how to use the new classes. I am particularly interested in code samples showing how to add TLS with PSK encryption support and handling of switching between Wifi and peer to peer interface with the new structured concurrency supported classes. Are there any good resources I can refer on this other than the WWDC video?
Hi everyone,
I’m trying to register fonts system-wide using CTFontManagerRegisterFontURLs with the .persistent scope. The fonts are delivered through Apple-Hosted Background Assets (since On-Demand Resources are deprecated).
Process-level registration works perfectly, but persistent registration triggers a system “Install Fonts” prompt, and tapping Install causes the app to crash immediately.
I’m wondering if anyone has successfully used Apple-Hosted Background Assets to provide persistent, system-wide installable fonts, or if this is a current OS limitation/bug.
What I Expect
Fonts delivered through Apple-Hosted Background Assets should be eligible for system-wide installation
Tap “Install” should install fonts into Settings → Fonts just like app-bundled or ODR fonts
App should not crash
Why This Matters
According to:
WWDC 2019: Font Management and Text Scaling
Developers can build font provider apps that install fonts system-wide, using bundled or On-Demand Resources.
WWDC 2025: Discover Apple-Hosted Background Assets
On-Demand Resources are deprecated, and AHBAs are the modern replacement.
Therefore, persistent font installation via Apple-Hosted Background Assets appears to be the intended path moving forward.
Question
Is this a known limitation or bug in iOS?
Should .persistent font installation work with Apple-Hosted Background Assets?
Do we need additional entitlement, manifest configuration, or packaging rules?
Any guidance or confirmation from Apple engineers would be greatly appreciated.
Additional Info
I submitted a Feedback including a minimal reproducible sample project:
FB21109320
Topic:
App & System Services
SubTopic:
Processes & Concurrency
Tags:
Core Text
Background Assets
Typography
Concurrency
Appkit starting logging these warnings in macOS 26.1 about my app's MainMenu.
**Internal inconsistency in menus - menu <NSMenu: 0xb91b2ff80>
Title: AppName
Supermenu: 0xb91a50b40 (Main Menu), autoenable: YES
Previous menu: 0x0 (None)
Next menu: 0x0 (None)
Items: ()
believes it has [<NSMenuSubclassHereThisIsTheMenuBarMenuForMyApp:] 0xb91a50b40>
Title: Main Menu
Supermenu: 0x0 (None), autoenable: YES
Previous menu: 0x0 (None)
Next menu: 0x0 (None)
Items: (
) as a supermenu, but the supermenu does not seem to have any item with that submenu
**
I don't what that means. The supermenu is the menu that represents the menu used for my app's menu bar (as described by NSMenuSubclassHereThisIsTheMenuBarMenuForMyApp
Everything seems to work fine but log looks scary. Please don't throw!
Hello,
in my widget the user displays images filling the whole widget with overlayed texts (via ZStack). Via shadows or text background color the text gets better readable.
However, when a user chooses transparent or tinted colors for the home screen, the text is barely or not readable anymore since e.g. white text on white image background. How to resolve this issue?
Topic:
App & System Services
SubTopic:
Widgets & Live Activities
Tags:
SwiftUI
Visual Design
WidgetKit
How can I paste a string to the findNavigator of a TextEditor ?
Topic:
Graphics & Games
SubTopic:
General
Hey so i’ve paid for the apple developer subscription about 2 days ago - the apple developer app disabled the enroll now button and says that my account is not authorized to enroll through the app, and the website says that i should complete purchase (and it my take up to 48 hours to process) even though i got my invoice
Since iOS 18.3, icons are no longer generated correctly with QLThumbnailGenerator.
No error is returned either.
But this error message now appears in the console:
Error returned from iconservicesagent image request: <ISTypeIcon: 0x3010f91a0>,Type: com.adobe.pdf - <ISImageDescriptor: 0x302f188c0> - (36.00, 36.00)@3x v:1 l:5 a:0:0:0:0 t:() b:0 s:2 ps:0 digest: B19540FD-0449-3E89-AC50-38F92F9760FE error: Error Domain=NSOSStatusErrorDomain Code=-609 "Client is disallowed from making such an icon request" UserInfo={NSLocalizedDescription=Client is disallowed from making such an icon request}
Does anyone know this error? Is there a workaround?
Are there new permissions to consider?
Here is the code how icons are generated:
let request = QLThumbnailGenerator.Request(fileAt: url, size: size, scale: scale, representationTypes: self.thumbnailType)
request.iconMode = true
let generator = QLThumbnailGenerator.shared
generator.generateRepresentations(for: request) { [weak self] thumbnail, _, error in
}
Hey Swift community!
I'm exploring building a macOS app that needs to monitor what's currently playing in music apps like Spotify and Apple Music (track info, playback position, play/pause state). I'm trying to figure out the most efficient architecture before diving in.
The Goal:
Monitor playback state across multiple music players to react to changes in real-time, ideally with minimal CPU overhead since this would run continuously in the background.
Approaches I'm Considering
AppleScript / ScriptingBridge
Distributed Notifications
Native Frameworks (Apple Music only)
What's the recommended way to do this on macOS?
Are distributed notifications reliable enough to avoid polling entirely?
Is there a performance difference between AppleScript and ScriptingBridge for IPC?
For Apple Music specifically, should I use MusicKit, MediaPlayer, or stick with AppleScript?
Are there other approaches I'm missing?
Topic:
Media Technologies
SubTopic:
General
Hello I am trying to release an app, dealing with storing, delivering, and maintaining outdoor activity euqipememts.
On web, I used widget provided by TOSS, which is a Korean banking application. Due to lack of time I have use lazy method
User taps the “Pay” button
↓
Backend generates a payment URL (Toss Payments)
↓
Open the payment page in an external browser (Safari)
↓
User completes the payment in Safari
↓
Return to the app via deep link (borini://payment/success)
↓
Call the payment approval API
↓
Display the payment completion page
I have hear such method is possible for our type of service which deals with real life goods.
So I would love to know if it is actually possible or will I have to make a new payment method using apple provided payment method in order to pass APP Store Connect review before releasing application
Hello I am trying to release an application using EXPO ROUTER + EXPO RN WEB.
I am trying to implement Apple Login using Firebase.
I have already put necessary info in both App Store Connect and Firebas console.
Now I am so confused what I have to do next.
What are some resource I could use or tips you could possibly give me when making apple login available using firebase.
Pleas all helps are welcomed and needed
The AppleScript script below returns a -600 error (application not running) under STP Tahoe version 231 and macOS 26.1. It functioned flawlessly under previous STP versions under macOS 15.x and 14.x.
tell application "Safari Technology Preview"
tell front window
set _old_tab to current tab
set _new_tab to make new tab at after _old_tab
set current tab to _new_tab
end tell
end tell
The following version returns a syntax error.
Tell application "System Events"
Tell process "Safari Technology Preview"
tell front window
set _old_tab to current tab
set _new_tab to make new tab at after _old_tab
set current tab to _new_tab
end tell
end tell
end tell
How would these scripts need to be fixed for STP 231 for Tahoe?
I’m running Xcode 26.1.1 (17B100) with deployment target iOS 18.0+, and I’m seeing a consistent and reproducible issue on real devices (iPhone 13 Pro, iPhone 15 Pro):
Problem
The first time the user taps into a TextField or a SwiftUI .searchable field after app launch, the app freezes for 30–45 seconds before the keyboard appears.
During the freeze, the device console floods with:
XPC connection interrupted
Reporter disconnected. { function=sendMessage, reporterID=XXXXXXXXXXXX }
-[RTIInputSystemClient remoteTextInputSessionWithID:performInputOperation:]
perform input operation requires a valid sessionID.
inputModality = Keyboard
customInfoType = UIEmojiSearchOperations
After the keyboard finally appears once, the issue never happens again until the app is force-quit.
This occurs on device
Reproduction Steps
Minimal reproducible setup:
Create a new SwiftUI app.
Add a single TextField or .searchable modifier.
Install Firebase (Firestore or Analytics is enough).
Build and run on device.
Tap the text field immediately after the home screen appears.
Result:
App freezes for 30–45 seconds before keyboard appears, with continuous XPC/RTIInputSystem errors in the logs.
If Firebase is removed, the issue occurs less often, but still happens occasionally.
Even If Firebase initialization is delayed by ~0.5 seconds, the issue is still there.
Question
Is this a known issue with iOS 18 / RTIInputSystem / Xcode 26.1.1, and is there a recommended workaround?
Delaying Firebase initialization avoids the freeze, but this isn’t ideal for production apps with startup authentication requirements.
Any guidance or confirmation would be appreciated.
Topic:
UI Frameworks
SubTopic:
SwiftUI
When a static library is built with Xcode 26 (with deployment target set to iOS 13) and then linked into an app project compiled with Xcode 16, the build process fails with the following linker error:
Undefined symbols for architecture arm64:
"_swift_coroFrameAlloc"
This occurs even though both the static library and the app project have their deployment targets set to iOS 13.0. The static library works on Xcode 26, but fails to link on Xcode 16.
This issue shows up with certain Swift syntax. For example, in my case, using a property getter and setter caused the compiler to emit a reference to _swift_coroFrameAlloc, which in turn triggered the issue.
This issue prevents us from distributing pre-built static libraries compiled with Xcode 26 to teammates who are still using Xcode 16.
I’ve filed feedback for this issue (FB21130604).
Is there any way to work around it? For example, by adding specific Build Settings or something similar?
A demo project is available here: https://github.com/Naituw/SwiftLibraryDeploymentTargetIssue
The demo project includes:
StaticLibraryProject: A simple Swift static library with property getter setter usage
AppProject: An iOS app that links against the static library
verify_compatibility.sh: An automated script to reproduce the issue
Method 1: Manual Build and Verification
Open StaticLibraryProject/StaticLibraryProject.xcodeproj in Xcode 26
Build the StaticLibraryProject for iOS device (Release configuration)
Locate the built libStaticLibraryProject.a in the build products directory
Copy libStaticLibraryProject.a to AppProject/AppProject/ directory
Open AppProject/AppProject.xcodeproj in Xcode 16
Build the AppProject for iOS device
Method 2: Automated Script
Edit verify_compatibility.sh to configure the paths to your Xcode installations:
Set XCODE_26_PATH to your Xcode 26 installation path (e.g., /Applications/Xcode.app)
Set XCODE_16_PATH to your Xcode 16 installation path (e.g., /Applications/Xcode16.app)
Run the script: ./verify_compatibility.sh
I got several reports about our TestFlight app crashing unconditionally on 2 devices (iOS 18.1 and iOS 18.3.1) on app start with the following reason:
Termination Reason: DYLD 4 Symbol missing
Symbol not found: _$sScIsE4next7ElementQzSgyYa7FailureQzYKF
(terminated at launch; ignore backtrace)
The symbol in question demangles to
(extension in Swift):Swift.AsyncIteratorProtocol.next() async throws(A.Failure) -> A.Element?
Our deploy target is iOS 18.0, this symbol was introduced in Swift 6.0, we're using latest Xcode 16 now - everything should be working, but for some reason aren't.
Since this symbol is quite rarely used directly, I was able to pinpoint the exact place in code related to it. Few days ago I added the following code to our app library (details omitted):
public struct AsyncRecoveringStream<Base: AsyncSequence>: AsyncSequence {
...
public struct AsyncIterator: AsyncIteratorProtocol {
...
public mutating func next(isolation actor: isolated (any Actor)? = #isolation) async throws(Failure) -> Element? {
...
}
}
}
I tried to switch to Xcode 26 - it was still crashing on affected phone. Then I changed next(isolation:) to its older version, next():
public mutating func next() async throws(Failure) -> Element?
And there crashes are gone. However, this change is a somewhat problematic, since I either have to lower Swift version of our library from 6 to 5 and we loose concurrency checks and typed throws or I'm loosing tests due to Swift compiler crash. Performance is also affected, but it's not that critical for our case.
Why is this crash happening? How can I solve this problem or elegantly work around it?
Thank you!
2025-10-09_17-13-31.7885_+0100-23e00e377f9d43422558d069818879042d4c5c2e.crash
1. The Inquiry
Hello,
I have been implementing a background geofencing feature and, during testing, I found a significant numerical difference in event callback frequency between the older CLCircularRegion API and the newer CLMonitor API (CLMonitor.CircularGeographicCondition), introduced in iOS 17.
My testing was strictly conducted using the "Always Allow" location permission (requestAlwaysAuthorization()). I used both APIs in parallel under identical geofencing conditions and within the same implementation environment. Since a clear difference persists in the data, I suspect this may stem from structural differences in the internal mechanisms of the two APIs rather than an implementation error on my part.
2. Environment and Implementation Details (Proof of Integrity)
I have ensured that my implementation adheres to Apple's guidelines and uses modern Swift concurrency features.
A. Development Environment and Permissions
iOS Version: iOS 18.x and later
Xcode Version: Version 17A400 (Version 26.0.1)
Location Authorization: Always permission obtained.
Background Mode: Location updates is configured correctly in Info.plist.
B. CLMonitor Initialization and Lifecycle
I implemented robust lifecycle management to ensure CLMonitor is stable and persists correctly:
Initialization: I performed CLLocationManager object allocation and related service setup (e.g., CLServiceSession set to always) within the call stack frame of didFinishLaunchingWithOptions.
Monitor Management: I use an Actor-based Singleton pattern to guarantee that only a single CLMonitor instance is used application-wide.
Event Monitoring: Following initialization, I allocated a background Task containing the for try await event in await monitor.events loop. This Task is explicitly managed to persist in the background until the application is terminated, ensuring continuous event listening.
C. Registration Limit Management
I manage both APIs to ensure they never exceed the recommended maximum of 20 simultaneously monitored regions/conditions. My logic removes the oldest item (LRU) when the limit is reached.
The average registration counts during the test period were highly similar:
Component
Average Registered Count
CLCircularRegion count
7.02
CLMonitor.CircularGeographicCondition count
7.04
This confirms that registration count is not the cause of the event frequency difference.
3. Data-Based Observation
The test data (bubble_test_data_for_apple_forum.csv) records the event callbacks for both APIs under identical conditions:
Component
Total Count
Percentage of All Events (%)
CLCircularRegion Delegate Total Calls
617
83.56%
CLMonitor Event Total Fires
122
16.44%
Overall Total Count
739
100%
A. Key Findings
CLCircularRegion Operability: 617 calls confirm that core implementation factors (permissions, background setup, etc.) are functioning correctly.
Disparity in Frequency: Despite running in parallel, the CLMonitor event count (122) is approximately 1/5th the frequency of the CLCircularRegion calls (617).
Efficiency per Registration: CLCircularRegion averaged ~0.86 calls per registered item, while CLMonitor averaged only ~0.17 calls per registered item.
4. Questions for Apple Engineering
Based on the robust implementation and the data presented, I request a review of the following potential differences between the APIs:
Internal Mechanism Differences: Are there structural differences in how CLCircularRegion and CLMonitor.CircularGeographicCondition process and schedule geofencing event callbacks? For instance, do they differ in terms of battery optimization priority, event batching, or internal throttling mechanisms?
CLMonitor Event Ratio: Is the phenomenon where CLMonitor records a significantly lower ratio of events compared to CLCircularRegion an intended behavior, or could this be indicative of a specific environmental factor that affects the newer API differently?
Thank you for your time and assistance.
geofence-test-data.csv