Hello, I want to use universal links in my application, for which I need to get the TeamID and BundleId, for apple-app-site-association file. Can you please tell me, do I have to buy an Apple Developer Account at the time of development to do this, or can I get it all for free at the time of development?
Posts under iPhone tag
154 Posts
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
When using the .glassEffect modifier on a button in swiftui combined with the .interactive() modifier, the button continues to show the interactive animation even when it’s covered by another element.
Example:
ZStack {
Button {
print("Button overlayed by ZStack") // Does not trigger, but interactive animation still plays
} label: {
image
}
.glassEffect(.regular.interactive())
Rectangle().fill(.black.opacity(0.7))
}
This occurs with overlays, ZStacks, and even if the overlay is a button.
Example below: EDIT: It seems like rocketsim's gif recording doesnt show the bug for some reason... really strange... Edit 2: reuploaded gif, recorded as mp4 and converted to gif seems to have worked...
Feedback ID: FB22054300
I've attached this sample app to my feedback ticket to help with debugging the issue. It doesn't look like I can share it in this post though.
Hello Apple Developer Community,
I'm seeing a persistent crash in my iOS app reported via Firebase Crashlytics. The issue only started appearing on devices running iOS 26.3.0 and above (the crash does not occur on lower iOS versions, and it's unrelated to my app's version number).
Key points:
My app does NOT use any Text-to-Speech (TTS) features whatsoever. No AVSpeechSynthesizer, no Speech framework, no related APIs called from our code.
My app is primarily written in Objective-C (with some Swift components possibly via dependencies).
The crash stack is entirely within Apple's private TextToSpeech framework, specifically in ausdk::BufferAllocator::instance().
I suspect it might be indirectly triggered by a third-party ad SDK (e.g., Google Mobile Ads, AppLovin, etc.) that could be loading or interacting with accessibility features in the background — but this is just a hypothesis, as I have no direct evidence yet.
Here is one representative crash log:
Crashed: com.apple.root.user-initiated-qos.cooperative
0 TextToSpeech 0x6bb00 ausdk::BufferAllocator::instance() + 99800
1 TextToSpeech 0xf8c60 ausdk::BufferAllocator::instance() + 677688
2 TextToSpeech 0xf8c60 ausdk::BufferAllocator::instance() + 677688
3 TextToSpeech 0x1a0b9c ausdk::BufferAllocator::instance() + 1365620
4 libswift_Concurrency.dylib 0x628b4 swift::runJobInEstablishedExecutorContext(swift::Job*) + 288
5 libswift_Concurrency.dylib 0x63d28 swift_job_runImpl(swift::Job*, swift::SerialExecutorRef) + 156
6 libdispatch.dylib 0x13f48 _dispatch_root_queue_drain + 364
7 libdispatch.dylib 0x146fc _dispatch_worker_thread2 + 180
8 libsystem_pthread.dylib 0x137c _pthread_wqthread + 232
9 libsystem_pthread.dylib 0x8c0 start_wqthread + 8
The crash occurs on a background cooperative queue (Swift Concurrency).
Questions:
Has anyone else seen crashes inside ausdk::BufferAllocator::instance() in TextToSpeech on iOS 26.3.0+ even without using TTS in their app?
Could a third-party ad SDK be causing the TextToSpeech framework to load unexpectedly (e.g., via accessibility preloading)?
Is this a known bug in iOS 26's Spoken Content / Speak Selection features? Any workarounds or fixes from Apple?
Any insights, similar reports (especially from Objective-C based apps), or advice would be greatly appreciated!
Thanks!
Issue from App Review:
My app shows a custom explanation screen before triggering the system location permission dialog. This screen explains why location access is needed. It includes:
A “Continue” button → triggers the system permission dialog
A “Not Now” button → dismisses the explanation and delays the permission request
Apple states that:
“The user should always proceed to the permission request after the message.”
They are asking me to remove the exit button from the pre-permission message.
My Questions
Is it now against policy to include a “Not Now” option in a pre-permission explainer screen?
Are we required to immediately show the system permission dialog after any pre-permission explanation?
What is the recommended UX pattern if the feature depends on location but I don’t want to force the permission immediately at launch?
Would it be compliant to:
Remove the “Not Now” button, OR
Remove the custom pre-prompt entirely and rely only on the system dialog?
The feature in question requires location to function properly, but I want to implement it in a user-friendly way that respects user choice and avoids unnecessary denial rates.
If anyone has recently resolved a similar 5.1.1(iv) issue, I’d really appreciate hearing how you handled it.
Thank you in advance for your help!
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
Tags:
Developer Tools
iPhone
App Review
Maps and Location
I have been submitting the app multiple times, and I keep getting rejected on Guideline 2.1 - Performance. Specifically, the in-app purchase is not available and the app is unresponsive when we tap the Upgrade button.
I have tested the wiring and it works, the issue is that the subscriptions are not approved because:
"Your first subscription must be submitted with a new app version. Create your subscription, then select it from the app’s In-App Purchases and Subscriptions section on the version page before submitting the version to App Review."
So I can't get the subscriptions approved without the app approved, but I can't get the app approved without the update option to work.
I seem to be stuck in a loop. Please assist.
Hi all,
I’m facing a device-specific issue in a live production iOS app distributed privately via the App Store . The app crashes immediately after login on one client’s iPhone, while the same account works fine on other devices. There’s no crash log generated in Analytics, and the app just pops to the home screen.
Environment:
App: Production app on App Store
iOS version: 26.3
Devices: Only one device exhibits the crash; other iPhones work fine
Login flow: App calls an API and writes the response to a local SQLite database immediately after login
Distribution: App Store (Privately). The user is install via the redemption codes.
Observations:
All users on the problematic device crash immediately after login.
The crash does not occur on any other devices, including the same iOS version.
The client had already uninstalled and reinstalled the app via App Store cloud download, but the crash persisted.
No crash log appears in Analytics or Xcode (process just terminates).
Device restart had not been attempted before reinstall.
App does not use Keychain tokens; local DB is only SQLite in the app sandbox.
Hypotheses so far:
Corrupted binary or cached app installation on that device
SQLite database corruption or write failure
Device-specific OS/environment issue (temp files, file locks, provisioning)
iOS watchdog silently terminating the app during post-login DB write
Language / region differences unlikely
Questions:
Is it possible for a device to retain a corrupted app binary or cached installation even after uninstall + cloud download reinstall from the App Store?
Can uninstalling, restarting the device, and reinstalling guarantee a fresh binary and sandbox?
Are there any known iOS behaviors where a local SQLite write could trigger an instant crash on one device only, without generating crash logs?
Any other suggestions for diagnosing this device-specific post-login crash in a live production environment?
Thanks in advance for any guidance — this issue is affecting a client’s live usage, and we’d like to understand the root cause and best way to resolve it safely.
Hi,
After updating my iPhone from iOS 26 to iOS 26.3, I’ve been experiencing issues with the Voice Isolation feature. Whenever I enable Voice Isolation while using the microphone in apps, my voice becomes unclear. The people I’m speaking with say they can’t hear me clearly and have difficulty understanding what I’m saying.
I never had this problem before updating to iOS 26.
To try to fix the issue, I have:
Restarted my device
Updated from iOS 26 to iOS 26.3
Unfortunately, the problem still persists.
For comparison, I also have an iPad Air 3 running iPadOS 18.5, and Voice Isolation works perfectly fine on that device.
Please advise on how this issue can be resolved.
Thank you.
I created a form field using:
On Safari and Chrome desktop, it behaves as expected. Safari shows the current date in grey by default, and Chrome displays a format hint like dd.mm.yyyy, which is perfectly fine.
On iOS, however, the field appears completely blank. I understand that the placeholder attribute is not part of the iOS date input behavior, which is technically fine. Still, it would be helpful if developers had the option to define a default display value. In the past, browsers prefilled date inputs, but many developers objected because they needed the field to be empty by default.
I have searched extensively and tried several AI tools, and everywhere it says that this cannot be changed. Am I missing something, or is there any way to display a placeholder, the current date, or some kind of visual hint in iOS Safari?
Right now, the empty field creates poor UX because users may overlook it. Since the field is required, this can easily lead to validation errors and additional friction.
As a workaround, I used a CSS hack with input[type="date"]::before and a content attribute. I also added JavaScript to toggle a pseudo-placeholder value specifically for iOS.
Is there a cleaner solution that avoids this workaround?
Thanks in advance for your guidance.
My phone's charging port is fried. It only charges wirelessly. Fixing it costs the same as the phone. I currently am having a lot of issues enrolling for apple developer program as well, so I can't use test flight right now.
I want to enable developer mode on my phone, but it's never been connected to xcode before, so the option is not available.
How do I enable developer mode without being able to connect it to a pc?
I have a mac, and both my mac and iphone are on the same apple id.
thank you
We are facing an issue with App Store review and would appreciate some guidance.
Our application is designed strictly for iPhone devices only. The app includes a SIM binding mechanism that requires sending an SMS from the registered mobile number for device verification. This functionality depends on the physical SIM capabilities available only on iPhone devices.
However, during the review process, Apple is testing the app on an iPad device. Since iPads generally do not support sending SMS from a physical SIM (especially Wi-Fi models), the SIM binding process fails, which is resulting in app rejection.
We have:
Configured the app deployment target for iPhone only.
Set the device family to iPhone in Xcode.
Any guidance would be greatly appreciated.
I have an app that records video (and also provides a custom remote interface) so it needs to remain awake and in the foreground.
It sets;
UIApplication.shared.isIdleTimerDisabled = true
I've also tried catching willEnterForegroundNotification to ensure it resets it if the app is backgrounded and resumes;
.onReceive(
NotificationCenter.default.publisher(
for: UIApplication.willEnterForegroundNotification)
) { _ in
UIApplication.shared.isIdleTimerDisabled = true
}
However, it seems that on some devices it will still go to sleep. This seems to be the case when Adaptive Power Mode is on (or rather, I've not managed to reproduce it when Adaptive Power Mode is off) even when battery percentage is well over 20% (I sort of expected Low Power Mode to trigger this)
Am I missing something obvious? there must be a way to make sure media capture apps stay awake (I'm surprised AVFoundation doesn't do it anyway!)
If it is related to Adaptive Power Mode, is there any way to detect that programatically to at least provide a warning to the user that having it on will affect operation of the app?
Our app supports UIScene. As a result, launchOptions in application(_:didFinishLaunchingWithOptions:) is always nil.
However, the documentation mentions that UIApplication.LaunchOptionsKey.location should be present when the app is launched due to a location event.
Given that our app is scene-based:
How can we reliably determine whether the app was launched due to a location update, geofence, or significant location change?
Is there a recommended pattern or API to detect this scenario in a Scene-based app lifecycle?
This information is critical for us to correctly initialize location-related logic on launch.
Relevant documentation:
https://developer.apple.com/documentation/corelocation/cllocationmanager/startmonitoringsignificantlocationchanges()
Parents often spend lots of time to search for kids' events and government programs. Even after they found ideal ones, they need lots of copy and paste to check Google Map in order to align with their time and location.
My app is designed to solve this pain point. It will handle those time consuming web search and time & location matching. For good user experience, the UI is simple, it recommends nearest kids programs that aligns with parents' time. It also has a Map to show suggestions visually and provides map navigation. Parents are all very busy, the UI has to be simple and easy to use. This app can save parents 60% of time to find kids' programs.
The v1.0.0 of this app got approved. It works well on Android phones all the time, but the map navigation didn't work on iOS. I later realized have to add LSApplicationQueriesSchemes to enable map navigation on iOS app. So I fixed this and tested the new build on iOS phones, the new build 1.0.1 works well. But Apple reviews rejects 1.0.1 because of "Minimum Functionality".
So now I'm in an awkward situation, 1) the app works well on Android 2) the approved iOS build can't open map navigation on iOS 3) the fixed iOS build got rejected because of "Minimum Functionality".... Really frustrating.
Even if I add new features to meet "Minimum Functionality", for parents, they need simple UI because of their busy schedules, adding new features may create more complex UX.
Is that possible to have Apple approve 1.0.1 build first, at least make sure the app works without error for iOS users first, this app can already save parents lots of time. Then give me more time to add new features?
Otherwise, what's the minimum I can add to get the new build approved first? Thank you!
G'day.
At my office the doors are locked with an NFC reader. We carry around a little NFC tag on our key chains which will read out a number and this then will open the door if the number matches a number in the database.
I am tired of carrying around the tag, people keep loosing it, forgetting it and it would be nice to open the door using a Phone - which we tend to always have on us.
So I used a credit card which is NFC enabled to readout the NFC information, added this number to the database and can now open doors using my credit card. This is pretty cool. If I forget my keys (most likely they will be on the desk but silly me left the desk without them), I may have my wallet with me.
Then I tried Wallet.app on my iPhone and select the same credit card. However the door doesn't open. When looking in the door software I noticed that the tags will always transmit the same number. So does my credit card. However Wallet.app will read out 4 readings (or maybe just one very long one) and they are always different. So I can not make them match with the door database.
Any ideas how to make this work? Can I give somehow wallet.app an NFC number which I can then add to my door database? Or how come the credit card and the very same one in wallet.app don't match?
Thanks for your help! Would be neat if I could make this work out. This will make a lot of people happy at my office!
Cheers!
On iOS 26.01 & 26.2, the system keyboard shows uneven horizontal padding:
Leftmost key column touches the screen edge
Right side has visible padding
This behavior is reproducible:
In existing apps In a brand-new demo app In both UIKit and SwiftUI
Xcode: 26.0.1 & 26.2
iOS: 26.0.1 & 26.2 Simulator
Devices tested: iPhone 15 / iPhone 15 Pro
Keyboard types: .numberPad, .decimalPad
Frameworks: UIKit, SwiftUI
At which point in the image processing pipeline does iOS apply the white balance gains which can be set via AVCaptureDevice.setWhiteBalanceModeLocked(with:completionHandler:)?
Are those gains applied in the analog part of the camera pipeline, before the pixel voltage gets converted via the ADC to digital values? Or does the camera first convert the pixel voltages to digital values and then the gains are applied to the digital values?
Is this consistent across devices or can the behavior vary from device to device?
I am unable to install my app via TestFlight.When I tap Install in TestFlight, I receive the following error message:
“Could not install xxx.
The requested app is not available or doesn’t exist.”
The app is visible in TestFlight, but installation always fails.
I would appreciate your help in identifying the cause.
crash stack:
Crashed: com.apple.main-thread
0 libsystem_pthread.dylib 0x90c thread_chkstk_darwin + 60
1 libsystem_pthread.dylib 0x90c ___chkstk_darwin + 60
2 CoreAutoLayout 0x14c4 -[NSISEngine _flushPendingRemovals] + 56
3 CoreAutoLayout 0x2de08 -[NSISEngine _coreReplaceMarker:withMarkerPlusDelta:].cold.1 + 64
4 CoreAutoLayout 0x15d78 -[NSISEngine _coreReplaceMarker:withMarkerPlusDelta:] + 204
5 CoreAutoLayout 0x2ce38 -[NSISEngine constraintDidChangeSuchThatMarker:shouldBeReplacedByMarkerPlusDelta:] + 108
6 CoreAutoLayout 0x15f1c -[NSISEngine tryToChangeConstraintSuchThatMarker:isReplacedByMarkerPlusDelta:undoHandler:] + 100
7 CoreAutoLayout 0x2fdbc -[NSLayoutConstraint _tryToChangeContainerGeometryWithUndoHandler:] + 252
8 CoreAutoLayout 0x3020c -[NSLayoutConstraint _setSymbolicConstant:constant:symbolicConstantMultiplier:] + 452
9 CoreAutoLayout 0x30378 -[NSLayoutConstraint setConstant:] + 84
10 UIKitCore 0x51c3c __74-[UIView(UIConstraintBasedLayout) _autoresizingConstraints_frameDidChange]_block_invoke + 140
11 UIKitCore 0x1841174 -[UIView(AdditionalLayoutSupport) _withUnsatisfiableConstraintsLoggingSuspendedIfEngineDelegateExists:] + 112
12 UIKitCore 0x51b28 -[UIView(UIConstraintBasedLayout) _autoresizingConstraints_frameDidChange] + 452
13 UIKitCore 0x2c894 -[UIView _constraints_frameDidChange] + 100
14 UIKitCore 0x18fac08 -[UIView(Geometry) setFrame:] + 576
15 UIKitCore 0x96712c -[UITabBar setFrame:] + 128
16 UIKitCore 0x1666f4 -[_UITabBarControllerVisualStyle updateTabBarLayout] + 360
17 UIKitCore 0x16671c -[_UITabBarControllerVisualStyle updateTabBarLayout] + 400
18 UIKitCore 0x16671c -[_UITabBarControllerVisualStyle updateTabBarLayout] + 400
19 UIKitCore 0x16671c -[_UITabBarControllerVisualStyle updateTabBarLayout] + 400
20 UIKitCore 0x16671c -[_UITabBarControllerVisualStyle updateTabBarLayout] + 400
21 UIKitCore 0x16671c -[_UITabBarControllerVisualStyle updateTabBarLayout] + 400
22 UIKitCore 0x16671c -[_UITabBarControllerVisualStyle updateTabBarLayout] + 400
23 UIKitCore 0x16671c -[_UITabBarControllerVisualStyle updateTabBarLayout] + 400
24 UIKitCore 0x16671c -[_UITabBarControllerVisualStyle updateTabBarLayout] + 400
25 UIKitCore 0x16671c -[_UITabBarControllerVisualStyle updateTabBarLayout] + 400
26 UIKitCore 0x16671c -[_UITabBarControllerVisualStyle updateTabBarLayout] + 400
27 UIKitCore 0x16642c -[UITabBarController _prepareTabBar] + 128
28 UIKitCore 0x166a10 -[UITabBarController _layoutContainerView] + 376
29 UIKitCore 0x1677a8 -[UITabBarController __viewWillLayoutSubviews] + 28
30 UIKitCore 0x147078 -[UILayoutContainerView layoutSubviews] + 176
31 UIKit 0xb14a0 -[UILayoutContainerViewAccessibility layoutSubviews] + 60
for a more detail crash stack, can see attach file:
crash.txt
crash probabilistic happed after app enter background, and our app support landscape, when crash appear, the system method:
/*
This method is called when the view controller's view's size is changed by its parent (i.e. for the root view controller when its window rotates or is resized).
If you override this method, you should either call super to propagate the change to children or manually forward the change to children.
*/
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id <UIViewControllerTransitionCoordinator>)coordinator API_AVAILABLE(ios(8.0));
is called;
but for a normal not crash case, when enter background and rotate device, the viewWillTransitionToSize method is not called until app enter foreground;
Are there any suggestions that can help solve this problem, thank you.
Is there any information for developer about notification forwarding which is published in iOS 26.3? how to use it ?
I encountered a bug with drag-and-drop sorting in ios 26.
I created a UITableView for dragging and dropping to adjust the order of the list. However, when I set the height of the cells to a custom height, some cells were not displayed during the dragging process.
The tools I use are the official version of Xcode16.1 and the ios 26 emulator
And I can also reproduce the same problem on the real device.
class ViewController: UIViewController {
private let tableView: UITableView = {
let tableView = UITableView.init(frame: .zero, style: .grouped)
tableView.backgroundColor = .clear
tableView.estimatedSectionHeaderHeight = 50
tableView.isEditing = true
tableView.showsVerticalScrollIndicator = false
tableView.allowsSelectionDuringEditing = true
return tableView
}()
var content: [Int] = []
override func viewDidLoad() {
super.viewDidLoad()
tableView.register(FTWatchGroupPageCell.self, forCellReuseIdentifier: "FTWatchGroupPageCell")
tableView.delegate = self
tableView.dataSource = self
view.addSubview(tableView)
for i in 1...100 {
content.append(i)
}
tableView.reloadData()
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
var frame = view.bounds
frame.origin.y = 200
frame.size.height = frame.size.height - 200
tableView.frame = frame
}
}
extension ViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return content.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "FTWatchGroupPageCell", for: indexPath) as! FTWatchGroupPageCell
cell.label.text = "\(content[indexPath.row])"
cell.label.sizeToFit()
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 52.66
}
public func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 0.01
}
public func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.01
}
public func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
return true
}
public func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCell.EditingStyle {
return .none
}
public func tableView(_ tableView: UITableView, shouldIndentWhileEditingRowAt indexPath: IndexPath) -> Bool {
return false
}
public func tableView(_ tableView: UITableView, canMoveRowAt indexPath: IndexPath) -> Bool {
return true
}
public func tableView(_ tableView: UITableView, moveRowAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath) {
let item = content.remove(at: sourceIndexPath.row)
content.insert(item, at: destinationIndexPath.row)
tableView.reloadData()
}
}
class FTWatchGroupPageCell: UITableViewCell {
private let contentBackView = UIView()
let label = UILabel()
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
contentView.isHidden = true
addSubview(contentBackView)
contentBackView.backgroundColor = .red
contentBackView.addSubview(label)
label.textColor = .black
label.font = .systemFont(ofSize: 14)
contentBackView.frame = .init(x: 0, y: 0, width: 200, height: 30)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func layoutSubviews() {
super.layoutSubviews()
guard let reorderControlClass = NSClassFromString("UITableViewCellReorderControl"),
let reorderControl = subviews.first(where: { $0.isKind(of: reorderControlClass) }) else {
return
}
reorderControl.alpha = 0.02
reorderControl.subviews.forEach({ subView in
if let imageView = subView as? UIImageView {
imageView.image = UIImage()
imageView.contentMode = .scaleAspectFit
imageView.frame.size = CGSize(width: 20, height: 20)
}
})
}
}
I have recently been having trouble with my iOS 18.2 beta update. It has been 2 weeks since I have updated to iOS 18.2 beta and joined the Genmoji and image playground waitlist. I am wondering how much longer I have to wait till my request is approved.