We submitted a build to testflight and received a confirmation email it was successfully uploaded.
When we open testflight on our iPhone's (X, 6s) we get a message of
"Could not install appname"
"The requested app is not available or does not exist"
Where appname is the name of the app.
Its very confusing because I can see the build listed in testflight on my mobile device and can view it in iTunes connect.
I also can't install prior builds that had worked successfully when I try.
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Since watchOS 26, watch face sharing has stopped working completely.
I tested the following:
Sharing via CLKWatchFaceLibrary
Other public APIs
Sharing via iMessage
In all cases, the watch face cannot be reinstalled after being shared.
This issue is not limited to my app. Large third-party apps such as Facer and other major watch face platforms are also affected, which suggests this is a system-level change or bug.
Everything worked correctly before watchOS 26.
Has Apple officially acknowledged this issue?
Is there a recommended place to report or track this bug?
Topic:
App & System Services
SubTopic:
Widgets & Live Activities
Tags:
Face Sharing
watchOS
Watch Complications
WidgetKit
Hi Forum
I am working on an ios app with a companion watchos app. The watchos app was made in 2018, it uses watchkit and has a watchkit app target and a watchkit app extension target.
When I started working on it, the app was already published and running. More importantly, the watch app was installing on the users watch automatically, when the app was installed on their phones.
I came in and made some changes, updated some things and added some smaller features. After uploading to testflight and testing the app there, we sent it for review and updated the app.
This updated app, introduced the issue that when users now downloaded the app, the watch app seems to be missing. For me, downloading this new version on either testflight or app store works fine, but whenever my boss or a new user does it, the watch app is missing.
I have tried to go back to the older version of the app I started with, but this doesn't seem to change anything. My coworker tried to do do the same thing, uploading the old version, but with a new version number and everything works like normal.
He suggested the reason was that he uses xcode 16, while I use xcode 26 and the updated xcode has some slightly different settings, which can mess it up.
Does anybody know about this or have the same problem? And is it correct that it can be the way settings are handled in xcode 26 compared to 16?
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
Tags:
App Store
App Review
Code Signing
watchOS
Issue
When an Entity with a ViewAttachmentComponent is:
disabled using isEnabled = false
removed using removeFromParent()
and then enabled or added back again, the attached SwiftUI view is rendered correctly, but tap interactions stop working.
Specifically:
Button actions inside the attached view do not fire
TapGesture closures on child views do not respond
Expected Behavior
Tap interactions inside the attached view should continue to work after the Entity is re-enabled or re-added.
Actual Behavior
After being disabled or removed once, all tap interactions stop responding.
Comparison
When displaying the same SwiftUI view using RealityViewAttachments, this issue does not occur.
Removing and re-displaying the attachment still allows taps to work correctly.
Reproduction
Attached sample code reproduces the issue:
A RealityView with an Entity that has a ViewAttachmentComponent
The attached SwiftUI view contains a Toggle
The toggle updates isEnabled on the Entity
After toggling off and on, tap interactions stop responding
Environment
Xcode 26
visionOS 26
Question
Is this expected behavior of ViewAttachmentComponent, or a bug?
Is there a recommended way to temporarily hide or disable an Entity with ViewAttachmentComponent without breaking tap interactions?
import SwiftUI
import RealityKit
struct GestureTestView: View {
@State var sampleEnabled = true
@State var sampleEntity: Entity?
var body: some View {
RealityView { contents, attachments in
// After deleting and re-displaying it, taps no longer respond.
let sample = Entity(components: ViewAttachmentComponent(rootView: SampleView()))
// Executed successfully
//let sample = attachments.entity(for: "SampleView")!
contents.add(sample)
sample.position = [0, 1.2, -1]
sampleEntity = sample
let toggleButton = Entity(components: ViewAttachmentComponent(rootView: ToggleButtonView(isOn: $sampleEnabled)))
contents.add(toggleButton)
toggleButton.position = [0, 1, -1]
} update: { _, _ in
// run update closure
print(sampleEnabled)
// update sample entity enable
sampleEntity?.isEnabled = sampleEnabled
} attachments: {
Attachment(id: "SampleView") {
SampleView()
}
}
}
}
struct ToggleButtonView: View {
@Binding var isOn: Bool
var body: some View {
VStack {
Toggle(isOn: $isOn) {
Text("Toggle")
}
}
.padding()
.glassBackgroundEffect()
}
}
struct SampleView: View {
var body: some View {
VStack {
Button {
print("Hello, World!")
} label: {
Text("Hello, World!")
.padding()
}
}
.padding()
.glassBackgroundEffect()
}
}
#Preview(immersionStyle: .mixed) {
GestureTestView()
}
I have a new app I am working on, it uses, a container id like com.me.mycompany.FancyApp.prod, the description in the app is My Fancy App. When I deploy the app via TestFlight on a real device, the sync seems to work, but when I view iCloud->Storage-List, I see my app icon, and the name "prod". Where did the name prod come from? It should be My Fancy App, which is the actual name of the App.
https://developer.apple.com/news/?id=j9zukcr6
starting from Jan 2026 there is change in requirements for account notifications for Sign in with Apple.
Does this apply only to developers based in South Korea or all apps which are avai via the korean App Store?
My TestFlight uploads are stuck in processing. I tried two different uploads, and both are showing "Processing".
The first one was uploaded more than an hour ago
1.1 (39)
Processing
Nov 17, 2025 6:54 PM
1.1 (37)
Processing
Nov 17, 2025 6:09 PM
Hi!
I have defined the following app intent. It returns a result with a dialog to confirm that the intent has been executed.
Naturally, that dialog needs to be localized properly. But the String interpolation with the provided format doesn't do that.
I specified wide for the width parameter and expect spelled-out unit names. However, in the textual output, Siri always uses the abbreviated unit (e.g. "min" or "s"), in all languages I tested. In the audio output, Siri says "minutes" in English where the textual representation is "min". In German, Siri says "min", so it basically reads the textual representation aloud and that's not quite understandable to the user.
struct StartTimerIntent: AppIntent {
static let title: LocalizedStringResource = "Start New Timer"
static var description = IntentDescription("Starts a timer with a custom duration.")
@Parameter(title: "Duration", description: "The duration of the timer.") var duration: Measurement<UnitDuration>
func perform() async throws -> some IntentResult & ProvidesDialog {
// [code to execute intent goes here]
return .result(
dialog: .init(
full: "\(duration, format: .measurement(width: .wide, usage: .asProvided)) timer started.",
systemImageName: "timer"
)
)
}
}
As this SwiftUI-style formatter doesn't seem to work with localization, I tried a different approach with a MeasurementFormatter:
extension Measurement where UnitType == UnitDuration {
func localized() -> String {
let formatter = MeasurementFormatter()
formatter.locale = .autoupdatingCurrent
formatter.unitOptions = .providedUnit
formatter.unitStyle = .long
return formatter.string(from: self)
}
}
Usage with String interpolation:
"\(duration.localized()) timer started."
This works great as long as these two languages are set to the same language on the user's device:
[UI language] Settings → General → Language & Region → Preferred Language
[Siri langauge] Settings → Apple Intelligence & Siri → Language
However, when they differ, even this method doesn't yield correct results.
For example, I have my general (UI) language set to English, but my Siri language set to German. Then Siri replies in German, but the unit is formatted in English and Siri speaks it in English, so the result is a messed up sentence that's half German, half English.
What is the proper way to localize parameters in dialogs for Siri?
How can I make sure that parameters are localized to match Siri's language?
Topic:
App & System Services
SubTopic:
Automation & Scripting
Tags:
Siri and Voice
Localization
App Intents
I’m attempting to resubmit my app after a few unsuccessful review submissions (first time dealing with this process). Previously, when I resubmitted (the last two times), the “In-App Purchases and Subscriptions” section was available on the version page, and I could select the appropriate IAPs and subscriptions prior to submitting for review.
However, on the resubmission attempt, this section is no longer visible anywhere on the version page! I’ve tried several troubleshooting steps, but it still won’t appear.
Current status:
All IAPs/subscriptions: Waiting for Review
App version status: 1.0 Prepare for Submission
It has been suggested that I "deleting all my subscriptions and [do] them over again..."; however, this workaround is completely unacceptable! While it may work for unreleased apps, it would be catastrophic for production apps. If this UI bug occurred during a subsequent update, deleting IAPs would permanently invalidate the original product IDs—which cannot be reused. This would break all existing customer purchases!
Does anyone know how to get around this?????
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
Subscriptions
App Review
In-App Purchase
Currently, we are developing an all-in-one DualSense utility for macOS. We are exploring how to integrate shortcuts into our app. Our vision is to have the user use the native Shortcuts app to choose the controller buttons that should trigger the shortcut action, such as opening Steam, turning on audio haptics, and more.
As we explore this approach, we want to see whether we need to build the UI in our app to set the triggers or can we do this inside of Shortcuts? Can button presses recorded by our app trigger shortcuts? Can those button inputs be customized inside of Shortcuts or should we develop it into our app? And if we have it in our app, can our app see, select, and trigger shortcuts?
I am having difficulty coding my video to play in the app I am developing.
My video file is located in the navigator pane, along with the other swift files in the project, with an A to the right hand side of the file, which I thought means it is available in the bundle. Unfortunately, an error saying the video cannot be found in the bundle shows at the bottom of my Xcode screen, after previewing the project. The file names match. Any further trouble shooting I'm doing references the old Xcode app, so I am stuck.
I am seeking guidance after experiencing what appears to be an inconsistent and unresponsive review process.
My app was rejected under Guideline 4.3(b) (Spam - saturated category) and Guideline 2.1 (App Completeness - IAP not found in binary). I would like to highlight several concerns:
Regarding 2.1 - IAP Issue:
The rejection states that In-App Purchase products "could not be found in the submitted binary." However, a previous reviewer successfully accessed and screenshotted the exact purchase screen in an earlier review cycle. The IAP is clearly implemented and functional. This inconsistency suggests the current reviewer may not have thoroughly tested the app.
Regarding 4.3(b) - Spam:
I have submitted detailed appeal notes explaining the unique, differentiating features of my app that are not found in any competing applications in this category. These include:
Integration with real-time external data sources (not static content)
Cultural and regional elements unique to my market
AI-powered contextual features beyond template-based functionality
A distinctive companion feature focused on reflective dialogue rather than predictions
Despite providing this documentation, I receive identical templated rejection responses with no acknowledgment of the specific points raised in my appeals.
My Questions:
How can I ensure that reviewers actually read and consider the detailed notes provided in appeals?
If a previous reviewer could access the IAP screen, why would the current reviewer claim it doesn't exist?
Apple actively features apps in this category in editorial collections. What specific criteria differentiates "approved" apps from those rejected as spam?
I have invested significant development time and resources into creating something genuinely innovative, not a clone. I respectfully request that my submission receive a thorough, hands-on evaluation rather than a surface-level category-based rejection.
Any guidance from Apple staff or developers who have navigated similar situations would be greatly appreciated.
Most Importantly:
This experience is deeply discouraging and exhausting. This process does not feel developmental or constructive that it feels like a barrier designed to wear down independent developers. The inconsistency between platforms is striking: my app was approved on Google Play without any issues, and we were expecting simultaneous production releases. Instead, I am trapped in a rejection loop here while my competitor advantage erodes daily.
How can it be that one platform recognizes the legitimacy of my work while the other dismisses it with templated responses? Simply providing vague assurances and surface-level category rejections helps no one, not developers, not users, not the ecosystem.
Independent developers are the backbone of app marketplace diversity. When the review process becomes this opaque and unresponsive, it doesn't protect quality that it stifles innovation and consolidates the market in favor of established players who can afford to wait indefinitely.
I am not asking for special treatment. I am asking for a fair, thorough, and consistent review.
I have an apple developer account, with the annual fee up to date, but when accessing App STore Connect the following message appears:
“To access App Store Connect, you must be an individual or team member in the Apple Developer Program or be invited by another person to access your content in App Store Connect”
Can anyone solve it?
I am building a bundle target for macOS 12 and later using Xcode. The bundle is not a standalone app, but a plug-in that is loaded by a host app. The code is written in Swift and uses the new Span API which is available in the OS-provided standard library in macOS 26 and backdeploys to macOS 10.14.4+.
Xcode should instruct the linker to include libswiftCompatibilitySpan.dylib in the compiled bundle to provide this backdeployment, but that does not happen.
SwiftPM does this additional linking by adding an rpath.
When trying to load the bundle using the NSBundle.loadAndReturnError() API, I get the following error on macOS 15 (and no error on macOS 26):
Error Domain=NSCocoaErrorDomain Code=3588 "dlopen(.../MyBundle.someBundle/Contents/MacOS/MyBundle, 0x0109): Library not loaded: @rpath/libswiftCompatibilitySpan.dylib
Referenced from: <CE92806C-94B7-367E-895D-EF6DF66C7FC2> .../MyBundle.someBundle/Contents/MacOS/MyBundle
Reason: tried: '/usr/lib/swift/libswiftCompatibilitySpan.dylib' (no such file, not in dyld cache), '/System/Volumes/Preboot/Cryptexes/OS/usr/lib/swift/libswiftCompatibilitySpan.dylib' (no such file), '/private/Frameworks/libswiftCompatibilitySpan.dylib' (no such file), '.../MyBundle.someBundle/Contents/MacOS/../Frameworks/libswiftCompatibilitySpan.dylib' (no such file), '/usr/lib/swift/libswiftCompatibilitySpan.dylib' (no such file, not in dyld cache), '/System/Volumes/Preboot/Cryptexes/OS/usr/lib/swift/libswiftCompatibilitySpan.dylib' (no such file), '/private/Frameworks/libswiftCompatibilitySpan.dylib' (no such file), '.../MyBundle.someBundle/Contents/MacOS/../Frameworks/libswiftCompatibilitySpan.dylib' (no such file)" UserInfo={NSLocalizedFailureReason=The bundle couldn’t be loaded., NSLocalizedRecoverySuggestion=Try reinstalling the bundle., NSFilePath=.../MyBundle.someBundle/Contents/MacOS/MyBundle, NSDebugDescription=dlopen(.../MyBundle.someBundle/Contents/MacOS/MyBundle, 0x0109): Library not loaded: @rpath/libswiftCompatibilitySpan.dylib
Referenced from: <CE92806C-94B7-367E-895D-EF6DF66C7FC2> .../MyBundle.someBundle/Contents/MacOS/MyBundle
Reason: tried: '/usr/lib/swift/libswiftCompatibilitySpan.dylib' (no such file, not in dyld cache), '/System/Volumes/Preboot/Cryptexes/OS/usr/lib/swift/libswiftCompatibilitySpan.dylib' (no such file), '/private/Frameworks/libswiftCompatibilitySpan.dylib' (no such file), '.../MyBundle.someBundle/Contents/MacOS/../Frameworks/libswiftCompatibilitySpan.dylib' (no such file), '/usr/lib/swift/libswiftCompatibilitySpan.dylib' (no such file, not in dyld cache), '/System/Volumes/Preboot/Cryptexes/OS/usr/lib/swift/libswiftCompatibilitySpan.dylib' (no such file), '/private/Frameworks/libswiftCompatibilitySpan.dylib' (no such file), '.../MyBundle.someBundle/Contents/MacOS/../Frameworks/libswiftCompatibilitySpan.dylib' (no such file), NSBundlePath=.../MyBundle.someBundle, NSLocalizedDescription=The bundle “MyBundle” couldn’t be loaded.}
My setup:
Xcode 26.2
macOS 26.2 (25C57) SDK (Built-in)
one of my app users cancelled the subscription from settings. After that, she tried to buy the subscription from app which she could not as I receive same transaction id and previous exp date.
I think that it would be helpful to have better interoperability between Swift and JavaScript. There are a lot of useful packages on NPM that don't have equivalents for Swift. It would be helpful if Apple provided easier ways to use NPM packages in a Swift project. Currently, the JavaScriptCore framework is missing many standard things used in many packages, like the fetch API. It would be helpful to be able to run sandboxed JavaScript code inside of a Swift app but allow access to specific domains, folders, etc., using a permissions system similar to Deno.
When I have a TextField or TextEditor, tapping into it produces these two console entries about 18 times each:
CHHapticPattern.mm:487 +[CHHapticPattern patternForKey:error:]: Failed to read pattern library data: Error Domain=NSCocoaErrorDomain Code=260 "The file “hapticpatternlibrary.plist” couldn’t be opened because there is no such file." UserInfo={NSFilePath=/Library/Audio/Tunings/Generic/Haptics/Library/hapticpatternlibrary.plist, NSURL=file:///Library/Audio/Tunings/Generic/Haptics/Library/hapticpatternlibrary.plist, NSUnderlyingError=0x600000ca1b30 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}
<_UIKBFeedbackGenerator: 0x600003505290>: Error creating CHHapticPattern: Error Domain=NSCocoaErrorDomain Code=260 "The file “hapticpatternlibrary.plist” couldn’t be opened because there is no such file." UserInfo={NSFilePath=/Library/Audio/Tunings/Generic/Haptics/Library/hapticpatternlibrary.plist, NSURL=file:///Library/Audio/Tunings/Generic/Haptics/Library/hapticpatternlibrary.plist, NSUnderlyingError=0x600000ca1b30 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}
My app does not use haptics.
This doesn't appear to cause any issues, although entering text can feel a bit sluggish (even on device), but I am unable to determine relatedness. None-the-less, it definitely is a lot of log noise.
Code to reproduce in simulator (xcode 26.2; ios 26 or 18, with iPhone 16 Pro or iPhone 17 Pro):
import SwiftUI
struct ContentView: View {
@State private var textEntered: String = ""
@State private var textEntered2: String = ""
@State private var textEntered3: String = ""
var body: some View {
VStack {
Spacer()
TextField("Tap Here", text: $textEntered)
TextField("Tap Here Too", text: $textEntered2)
TextEditor(text: $textEntered3)
.overlay(RoundedRectangle(cornerRadius: 8).strokeBorder(.primary, lineWidth: 1))
.frame(height: 100)
Spacer()
}
}
}
#Preview {
ContentView()
}
Tapping back and forth in these fields generates the errors each time.
Thanks,
Steve
Hi,
I wanted to ask if you are familiar with a way of making the Logitech Muse sterile for operation room use?
Topic:
Spatial Computing
SubTopic:
General
We are trying to extend our app with Push To Talk functionality by integrating the Push To Talk framework. We are extensively testing what happens if the app is running in the foreground, in the background or not running at all.
When the app is in the foreground, and the user has joined a channel we maintain an open connection to our server. When a remote participant starts streaming audio, we immediately call setActiveRemoteParticipant on our PTChannelManager instance. The PTT system will than call our delegate's channelManager:didActivate audioSession method and we can successfully play the incoming audio.
When the app is not running at all, there is of course no active connection initially. When another participant starts talking we send a push notification. The PTT system will start our app in the background, call the incomingPushResult method on our delegate, after returning the remote participant the PTT framework will then call the channelmanager:didJoin delegate method which we will use to re-establish the server connection, the PTT framework then calls our channelManager:didActivate audioSession delegate method and we can then successfully play audio.
Now the problem. When the application was initially in the foreground and has an established server connection, we initially keep the server connection active when the app enters the background state, until a certain timeout or the system decides our app needs to be killed / removed from memory. This allows us to finish an incoming audio stream, quickly react on incoming responses etc. When we then receive an incoming audio stream after a certain delay (for example 5 seconds) we call the channelManager.setRemoteParticipant method (using try await syntax). This finishes successfully, without any error, however the channelManager:didActivate audioSession delegate method is never called. Manually setting up an audio session is not allowed either and returns an error.
Our current workaround for this issue is to disconnect the server connection as soon as the app goes into the background. This will make sure our server sends a push notification, which is successful in activating the audio session after which we can play audio. However, this means we need to re-establish the connection which will introduce an unnecessary delay before we can start playback (and currently means we loose some audio). This also means we need to do extra checks when going to the background to make sure there is no active incoming stream. After each incoming stream we have to check again if we are in the background and disconnect immediately to make sure we get a push notification next time. This can of course also lead to race conditions in an active conversation where we might need to disconnect between incoming streams and if we don't do this in time we might never get an activated audio session.
Now this might be by design, as Apple might not want us to keep the server connection active when the application enters the background state. But if that's the case I would expect the channelManager.setRemoteParticipant method to throw an error, but it doesn't. It returns successfully after which we would expect the audio session to get activated as well. So maybe we are not setting the capabilities of our project correctly (we might need other background permissions as well, although we already experimented with that), or we need to do something else to make this work?
Hello
Somehow I let my Developer Account lapse - and now our App has been removed.
I cannot find the renewal area in the Developer portal - there is an "Enrol Today" button, but when I select this - I get an error screen "Sorry, you can't enrol at this time - Your Apple Account is already associated with the Account Holder of a membership."
I have no idea how to proceed!
Please help Apple!
Nick
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program