iOS is the operating system for iPhone.

All subtopics
Posts under iOS topic

Post

Replies

Boosts

Views

Activity

PDF Widget Annotations appear Pixelated/Rasterized
The Problem On opening a PDF document in the Preview app, PDF widget annotations appear pixelated/rasterized. This problem exists with button, text, and choice widget subtypes. The pixelation becomes more apparent when zoomed in. Expected Results PDF widgets should appear sharp and smooth, without pixelation. In previous versions of the Preview app, widgets appear vector-based as expected. Impact on User Experience PDF widgets appear pixelated and inconsistent with text content in the same PDF document. Widgets do not look like elements of an interactive form but, instead, resemble low-quality embedded images. Affected Apps/OSs: Preview 11.0 (1147), as well as other apps that use PDFKit, on macOS Golden Gate 27.0 (26A428). A similar problem appears to affect PDFKit on iOS 27.0 and iPadOS 27.0 as well. Feedback/bug report: FB24843022
3
1
178
1m
UINavigationBarAppearance background does not extend to the top edge on iPhone Duo
Environment Xcode 27.1 iOS 27.1 iPhone Duo simulator UIKit app built with the iOS 27.1 SDK Issue On iPhone Duo, the background of a system-managed UINavigationBar does not extend completely to the top edge of the window. The navigation bar is configured using UINavigationBarAppearance with an opaque blue background. However, a horizontal white strip remains above the blue navigation bar. I also post a feedback: FB24859353 Questions Is this expected behavior on iPhone Duo? What is the recommended way to style this top region? Should apps add a custom background underlay outside the UINavigationBar bounds? Could this be an iOS 27.1 or iPhone Duo simulator issue? Minimal reproduction code: import UIKit final class DemoTabBarController: UITabBarController { override func viewDidLoad() { super.viewDidLoad() viewControllers = NavigationBarStyle.allCases.map { style in let content = DiagnosticsViewController(style: style) let navigationController = UINavigationController(rootViewController: content) navigationController.tabBarItem = UITabBarItem( title: style.title, image: UIImage(systemName: style.symbolName), selectedImage: nil ) style.apply(to: navigationController.navigationBar) return navigationController } } } enum NavigationBarStyle: CaseIterable { case systemDefault case appearance case legacy var title: String { switch self { case .systemDefault: return "Default" case .appearance: return "Appearance" case .legacy: return "Legacy" } } var symbolName: String { switch self { case .systemDefault: return "iphone" case .appearance: return "paintbrush" case .legacy: return "clock.arrow.circlepath" } } func apply(to navigationBar: UINavigationBar) { switch self { case .systemDefault: break case .appearance: let appearance = UINavigationBarAppearance() appearance.configureWithOpaqueBackground() appearance.backgroundColor = .demoBlue appearance.shadowColor = nil appearance.titleTextAttributes = [.foregroundColor: UIColor.white] navigationBar.tintColor = .white navigationBar.standardAppearance = appearance navigationBar.compactAppearance = appearance navigationBar.scrollEdgeAppearance = appearance case .legacy: navigationBar.tintColor = .white navigationBar.barTintColor = .demoBlue navigationBar.backgroundColor = .demoBlue navigationBar.setBackgroundImage(Self.solidImage(color: .demoBlue), for: .default) navigationBar.shadowImage = UIImage() navigationBar.isTranslucent = false navigationBar.titleTextAttributes = [.foregroundColor: UIColor.white] } } private static func solidImage(color: UIColor) -> UIImage { return UIGraphicsImageRenderer(size: CGSize(width: 1, height: 1)).image { context in color.setFill() context.fill(CGRect(x: 0, y: 0, width: 1, height: 1)) } } } private extension UIColor { static let demoBlue = UIColor(red: 0.0, green: 0.46, blue: 0.70, alpha: 1.0) }
1
0
25
1h
Hinge listeners don't work in Keyboard Extension on iPhone Duo (iOS 27.1)
Hi, I've discovered that my Keyboard Extension is unable to detect any hinge status update on iPhone Duo. I tired both UIKit and SwiftUI approach - nothing works. Is there any workaround to make it work? Reproducible demo: https://www.icloud.com/iclouddrive/0460exMJtAdRkpk8EDjb751nw Xcode 27.1 (27A9269) iOS 27.1 beta 1 (24A94401) I also created a bug report: FB24883137
0
0
21
4h
ToolbarItem(placement: .topBarPinnedTrailing) is not shown if it is the only toolbar element.
If .topBarPinnedTrailing is used for the placement of a ToolbarItem, if this item is the only one in the toolbar then it is not displayed. This .topBarPinnedTrailing appeared in iOS 27.0 to allow a button to be always visible in the toolbar if when there are overflows with many buttons in the toolbar. A toolbar button should always be visible, this behaviour is a bug. It is a great issue on iPhone Duo which has less space for buttons in the toolbars, this attribute was designed to be sure the button using this attribute would always be visible. Bug is also there on Mac Catalyst and visionOS. A feedback was created FB24882292 /// Shows a View with a toolbar with a .topBarPinnedTrailing button. /// If the tool is the only one, it is not displayed. It is designed to be always visible, but it can be missing on the screen. /// If there are one or more additional buttons, then the .topBarPinnedTrailing is well displayed. /// /// Bug reproduced on iPhone 18 Pro Max simulator 27.0, iPhone Duo simulator iOS 27.1, /// Mac Catalyst 27.0, Vision Pro simulator visionOS 27.0 /// > Warning : to test this ContentView, embed it in a NavigationStack. struct ContentView: View { @State private var twoButtons = false var body: some View { VStack { Text("A toolbar should be always visible") .padding() Button { twoButtons.toggle() } label: { Text(twoButtons ? "Remove second tool" : "Add second tool") } } .toolbar { // ‼️ this button is missing if it is the only one. // ‼️ This is due to .topBarPinnedTrailing which makes it disappear if it is alone. ToolbarItem(placement: .topBarPinnedTrailing) { Button { print("topBarPinnedTrailing pressed") } label: { Label { Text("topBarPinnedTrailing") } icon: { Image(systemName: "ladybug.fill") } .labelStyle(.iconOnly) } } if twoButtons { ToolbarItem(placement: .topBarTrailing) { Button { //Barre d'icône ajouter une scène print("topBarLeading pressed") twoButtons = false } label: { Label { Text("topBarLeading") } icon: { Image(systemName: "minus") } .labelStyle(.iconOnly) } } } } } }
1
0
31
4h
EASession intermittently opens with an input stream that never delivers data, iOS 27
We use ExternalAccessory to talk to a smart card, i.e. a YubiKey 5Ci, over Lightning. On iOS 27.0, most EASession objects we open are unable to receive. NSStreamEventHasBytesAvailable never fires on the input stream and not one byte arrives, yet the session reports no problem anywhere. Environment iPhone 11, iOS 27.0 build 24A437 (public release), YubiKey 5Ci on Lightning, protocol com.yubico.ylp. What we see on an affected session both streams streamStatus 2 (NSStreamStatusOpen) streamError on both nil NSStreamEventOpenCompleted fires on both hasSpaceAvailable before write YES write:maxLength: returns 18 of 18 NSStreamEventHasSpaceAvailable fires NSStreamEventErrorOccurred never NSStreamEventEndEncountered never NSStreamEventHasBytesAvailable never fires inputStream.hasBytesAvailable false on every poll over 10 s Everything reports success. Only the reply is missing. Behaviour A healthy session replies in single digit milliseconds. An affected one returns nothing at all, ever. The condition is set when the session is created and never changes. Opening another session on the same accessory is an independent roll of the dice. Quitting and relaunching the app does not help. Only physically detaching and reattaching the key does, after which connectionID increments and the next session works. 15 of 25 sessions affected on 24A437. Also 9 of 20 on the 24A5430a beta, so it predates the public release. Already ruled out Not a late reply, we waited 10 s. Not a missed event, we polled hasBytesAvailable directly about 200 times per failure. Not a leaked session, teardown is instrumented and every session deallocates exactly once. Not the hardware, another app on the same phone and key reads its serial and firmware every time, and that app opens one session and never closes it. The USB C interface of the same key, via CryptoTokenKit, never fails. Questions Is there any supported way to tell at creation time that an EASession input stream will not deliver data? Nothing we can read distinguishes the two cases. Is repeatedly creating and releasing EASession objects for the same accessory and protocol supported, and is any teardown step needed beyond clearing the delegates, closing the streams, removing them from the run loop and releasing the session? Is there a supported way to recover without asking the user to unplug the accessory?
1
0
29
6h
Error 90068: iOS 11 build accepted in early September, now MinimumOSVersion 11.0 is rejected
Hello, I’m looking for clarification and guidance regarding a recent App Store Connect upload validation change that is preventing us from delivering an important bug-fix update to existing users on legacy iOS versions. Our production iOS app has historically supported iOS 11 and later. On August 28, 2026, we successfully uploaded a build with: MinimumOSVersion = 11.0 The upload completed successfully, with warnings only. One of the warnings stated: “MinimumOSVersion too low. This app has a MinimumOSVersion of 11.0. Starting later this year, all iOS apps must have a MinimumOSVersion of 13.0 or later in order to be uploaded to App Store Connect or submitted for distribution.” No specific enforcement date was provided. The same upload also displayed another warning stating: “Starting in Spring 2027, all iOS apps must have a MinimumOSVersion of 15.0 or later…” We subsequently uploaded another build targeting iOS 11 around September 8, and that version was successfully released on the App Store on September 10, 2026. I no longer have a screenshot of the warning from that particular upload, but the build itself was accepted and the corresponding version was released successfully. However, on September 17, 2026, when attempting to upload our next bug-fix build with the same MinimumOSVersion of 11.0, Apple’s server-side validation rejected the build with: Error 90068 “This bundle is invalid. The value provided for the key MinimumOSVersion '11.0' is not acceptable.” This means that the server-side enforcement appears to have changed sometime after our successful upload around September 8 and before September 17. What is especially confusing is that: the previous warning only said that iOS 13 would become mandatory “later this year”, without providing a specific enforcement date; iOS 11 builds were still being accepted in early September, including the build that was released on September 10; the same validation dialog stated that iOS 15 would become mandatory only in Spring 2027; the upload now fails completely before the build reaches App Store Connect or TestFlight. Because validation fails during upload, we cannot submit this build to App Review or request an expedited review. We have already completed a final bug-fix release for our existing legacy iOS users. Our intention is not to continue supporting iOS 11 indefinitely. We plan to increase the minimum supported iOS version after this release. We are only trying to deliver one final bug-fix update to users who already have the application installed on legacy iOS versions. The fix is ready, but affected production users currently have no way to receive it. I opened Apple Developer Support Case ID 102966589079 on September 17, 2026 and sent a follow-up on September 21. So far I have only received automated acknowledgements. The Developer Support case history also shows: “Email with Apple Developer Support — September 19, 2026” but I did not receive any email from Apple on that date. I checked Inbox, Spam/Junk, and Trash. Phone support for this case currently shows: “Phone support is currently unavailable due to high call volumes.” I have attached screenshots showing: the successful August 28 upload with the iOS 13 / iOS 15 warnings; the current Error 90068 rejection; the support case history. Could Apple please clarify: On what exact date did the MinimumOSVersion 13 requirement begin being enforced? Was this enforcement date announced anywhere before it became a hard upload requirement? Is there any supported way to upload one final bug-fix build for existing legacy iOS users? Could Case ID 102966589079 please be routed to the appropriate App Store Connect / Distribution team? Thank you.
1
0
97
8h
UISheetPresentationController issues on iPhone Duo
I have an App where I use the UISheetPresentationController to present a menu as a "drawer" (like the "FindMy" or "Maps") App. Because the sheet is presented over a map, I made the sheet semi-transparent/blurry, so the Map shines through, which looks nice. The sheet is using a UITableView with the "insetGroup" style, so the table cells have the nice rounded borders and there are margins to the sheet borders. When running the App on the iPhone Duo (Simulator) on the outer display, the tableView does no longer respect the "insetGroup" style, it is rendered like it would have the "plain" style, which destroys everything that look good. No rounded borders, no margins. However if I opt-out of the automatic "vertical toolbar behavior" (overriding preferredVerticalBarBehavior so it returns "disabled"), then everything looks great again, however then the sheet content might overlap with the sidebar icons and camera because it now covers the whole area up to the right screen border. Is this supposed to be this way (if yes, why?), is there a way to fix this, or do we have to wait for a bugfix within iOS 27.1? The tableview still claims to have the "insetGrouped" style, just it does not render this way. I did not see any similar issues under other circumstances. Only UISheetPresentationController seems to be affected by this. Is there a way to correctly detect if the App is running on an iPhone Duo, so we could use this detection to add workarounds for such issues?
1
0
93
9h
iPhone 17 Pro Max Freezes When Loading Video Previews After Updating to iOS 27
你好,我想报告更新到 iOS 27 后出现的兼容性问题。 我使用的是iPhone 17 Pro Max。更新到 iOS 27 后,我在访问某个第三方视频网站时遇到了严重的冻结问题。 浏览网站时不小心点击了视频缩略图,缩略图顶部会出现一个灰色加载条。加载完成后,会自动弹出视频预览,整个设备随后完全失去响应。唯一的恢复方法是强制重启iPhone。该期大约有10次尝试中能重现8到9次。 这个问题在升级到 iOS 27 之前没有出现。 我还有iPhone XR和iPad。在这些设备上访问同一个网站时,一切正常,视频预览也不会让设备卡死。 我还用iPhone 17 Pro Max上的其他浏览器测试了同一网站,设备依然无响应。不过,到目前为止我在测试其他视频网站时还没遇到过同样的问题。 目前我无法判断这是我设备特有的问题,还是网站兼容性问题,还是iOS 27或WebKit的问题。 我希望苹果能调查并记录这个问题。如果需要更多信息或确切的网站网址以便调查,我可以通过合适的支持渠道提供。 如果苹果社区有人在升级到 iOS 27 后遇到类似问题,欢迎分享你的经历或任何可能原因的信息。 谢谢。
0
0
13
14h
2.5 weeks in 'Waiting for Review' for a metadata-only change - is this normal now?
Hi everyone, I'm posting here because I honestly don't know where else to get answers anymore. I've been trying to release my first app for about 2–3 months now, and the review process has been, frankly, a disaster for us. As a first-time publisher I've genuinely tried to do everything by the book — I've read the guidelines carefully, prepared reviewer notes, a demo account, sign-in instructions, everything that's recommended. But here's the pattern I keep running into: Every submission sits in "Waiting for Review" for around two weeks — currently even longer. I know the official expectation is that most apps are reviewed much faster, but that has never once been our experience. When the review finally happens, it stops at the first issue found. Instead of reviewing the whole app once and giving me a complete list of everything that needs fixing, I get exactly one rejection point, I fix it, resubmit — and then wait another two weeks just to learn about the next issue. If I got all findings in one pass, I could address everything in a single build. This one-issue-per-cycle loop is what turns a fixable week of work into months. Right now I've been waiting 2.5 weeks for a metadata-only change (updated store screenshots). No binary change at all. I've contacted App Review support to ask for a status update and have received no response. For context: the same app has been live on Google Play for several weeks and is doing well there. We're not trying to sneak anything past review — we want to comply. We just need to actually be told what to fix, ideally all at once, and to not lose two-plus weeks per iteration. So my questions: Is there any way to get a complete list of issues in one review pass instead of one rejection per cycle? Is a 2+ week "Waiting for Review" time normal right now, or is there something about our account/app that could be causing this? Is there any effective way to get a status update when support doesn't reply? (Expedited review requests haven't helped either.) I understand App Review has to handle enormous volume, and I'm not looking to bash anyone — but as a small developer, this process has been demoralizing. Any advice from people who've been through this, or any pointers from Apple folks who read here, would be hugely appreciated. Thanks.
0
0
67
14h
First Game Submission And Waiting for Review for a While
Hello everyone, This is my first ever game submission to the App Store, so I’m honestly very excited to finally be at this stage. I’ve spent a lot of time working on the game, and seeing it reach the review process for the first time is a really exciting moment for me. The app has now been in “Waiting for Review” for around 5 days. I completely understand that the review process takes time and that Apple’s review team has many submissions to handle. At the same time, since this is my first game and I’m really looking forward to launching it, I’m starting to get a little concerned about the waiting time. I wanted to kindly ask if there is anything I can do from my side to help move the review forward, or if there is any possibility of requesting an expedited review in this situation. I absolutely understand that the normal review process needs to be followed, and I’m not expecting any special treatment. I would just be very grateful if there is anything I can do, or if someone could let me know whether a faster review might be possible. Thank you very much for taking the time to read this, and thank you to everyone who can share their experience or advice. It’s my first game, so I’m both excited and a little nervous about seeing it finally go live. :)
1
0
81
14h
Xcode 27: CLLocationManager kCLErrorDomain Code=5
Dear Apple Developer Community, Our app monitors a user-defined region by using startMonitoring on an instance of CLLocationManager. While it works as intended on a real device, starting with Xcode 27, this method invocation always results in >locationManager ... monitoringDidFailFor< being called. The error code is always kCLErrorDomain Code=5 but this only occurs within iOS 27 simulators. It works perfectly in iOS 26 simulators. Additionally, CLLocationManager.isMonitoringAvailable(for: CLCircularRegion.self) always returns false on these iOS 27 simulators. This issue blocks parts of our automated system tests. Is it a bug or on purpose? Thank you in advance.
0
0
22
14h
ManagedAppConfigurationProvider fails with XPC 4099 in Location Push Service Extension
I am developing an iOS application with a Location Push Service Extension and am trying to provide managed app configuration to the extension using Apple's ManagedAppConfigurationProvider and Declarative Device Management (DDM). The same managed configuration works correctly in the containing application, but the exact same API fails when called from the Location Push Service Extension. Environment: iOS: 26.2.1 Xcode: 16.4 Extension type: Location Push Service Extension The extension has the following entitlement in both the signed extension and provisioning profile: com.apple.developer.location.push The extension is configured through DDM using ExtensionConfigs: "ExtensionConfigs": { "bundleid (teamid)": { "DataAssetReference": "xxxxxxx" } } The Data Asset is successfully compiled by the MDM server and contains the managed configuration values. The device reports the following DDM status: "config-state": { "app-config-state": { "state": "valid" }, "extension-config-state": { "bundleidofextension": { "state": "unknown" } } } The main application can successfully retrieve the configuration using: let provider = ManagedAppConfigurationProvider() Task { for await configuration in await provider.configurations( ModelManagedAppConfiguration.self ) { print("APP CONFIG = (String(describing: configuration))") } } The same code and the same configuration type are used inside the Location Push Service Extension. Inside the extension, the provider is created successfully: LOCATION EXTENSION: creating ManagedAppConfigurationProvider LOCATION EXTENSION: provider created LOCATION EXTENSION: requesting configurations However, the request fails with: Failed to connect to managedappsd with error Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.devicemanagementclient.managedappsd was invalidated from this process." Failed to fetch managed app configuration. Returning nil. Error: XPC connection failed with error Optional("Couldn’t communicate with a helper application.") Failed to determine managed app configuration changed notification name. Unable to register for notifications. Failed to report configuration error state. Error: XPC connection failed with error Optional("Couldn’t communicate with a helper application.") LOCATION EXTENSION: CONFIG = nil The important observation is that the configuration works from the containing application but fails from the Location Push Service Extension before the configuration reaches the Decodable configuration type. I have also verified: The extension Bundle ID matches the ExtensionConfigs entry. The Team ID matches. com.apple.developer.location.push is present in the signed extension. com.apple.developer.location.push is also present in the provisioning profile. The DDM Data Asset is successfully compiled. The containing application's managed configuration state is valid. The same ManagedAppConfigurationProvider code works in the containing application. According to Apple's documentation, ManagedAppConfigurationProvider provides configurations for a managed app or extension, and ExtensionConfigs is the DDM mechanism for configuring extensions. My question is: Is ManagedAppConfigurationProvider fully supported from a Location Push Service Extension? If it is supported, what could cause managedappsd to reject/invalidate the XPC connection specifically when the request originates from a Location Push Service Extension? Could there be an additional entitlement, extension-specific configuration, or system restriction required for ManagedAppConfigurationProvider to communicate with managedappsd from this type of extension? Any guidance on how to further diagnose the NSCocoaErrorDomain Code=4099 / "Couldn’t communicate with a helper application" error would be appreciated.
5
0
608
15h
iPhone 18 Pro Lock Screen controls change appearance after saving an unchanged wallpaper
On iPhone 18 Pro, the Now Playing panel and bottom Lock Screen controls can use different material opacity and foreground colors for the same wallpaper and settings. The final appearance depends on the preceding wallpaper-editing sequence. Environment Device: iPhone 18 Pro iOS: 27.2 beta (24B5084k) Liquid Glass: Clear / most transparent setting Wallpaper: Built-in iPhone 18 Pro wallpaper collection Variants tested: Silver and Black within the same saved wallpaper configuration Feedback Assistant: FB24866793 Two observed appearance states For clarity, I use the following labels: Higher-opacity state (S_s): The Now Playing panel and bottom buttons have a light or gray, relatively solid fill with dark foreground icons. Translucent state (S_t): The same elements are more transparent and use light foreground icons. In Sleep mode, they darken and blend into the background more naturally. No Liquid Glass setting is changed during the following sequence. Shortest reproduction sequence 1. Change Silver to Black Start with the Silver variant displaying the higher-opacity state (Silver S_s). Open the Lock Screen wallpaper carousel, tap Customize, change Silver to Black within the same iPhone 18 Pro wallpaper configuration, tap Done, and exit the carousel. Observed result: Black retains the higher-opacity state (Black S_s). 2. Save Black without changing it Reopen the same Black wallpaper in Customize, make no changes, tap Done, and exit. Observed result: Black changes to the translucent state (Black S_t). 3. Change Black back to Silver Reopen Customize, change Black back to Silver, tap Done, and exit. Observed result: Silver retains the translucent state (Silver S_t). 4. Save Silver without changing it Reopen the same Silver wallpaper in Customize, make no changes, tap Done, and exit. Observed result: Silver changes back to the higher-opacity state (Silver S_s). The complete sequence is therefore: Silver S_s → Black S_s → Black S_t → Silver S_t → Silver S_s The two actual appearance changes occur after reopening Customize and saving without changing the selected wallpaper. Actual result When switching between Silver and Black inside the same saved wallpaper configuration, the existing material state can be preserved even though the new wallpaper has a different brightness. Reopening the configuration and saving it without making a change can then alter: Now Playing panel opacity Notification material appearance Bottom shortcut-button opacity Foreground or icon colors As a result, the exact same Silver or Black wallpaper can appear in either state solely because of the preceding editing history. Expected result The material opacity and foreground colors should be determined consistently from the currently selected wallpaper and the Liquid Glass setting. Switching between Silver and Black should update the appearance immediately if different treatments are intended for them. Saving an unchanged wallpaper should not alter the Lock Screen appearance. Sleep mode impact The issue is especially noticeable in Sleep mode. In the higher-opacity state, the Now Playing panel and bottom buttons remain conspicuous gray elements against the darkened Lock Screen. In the translucent state, the same controls darken and integrate with the background. Supporting evidence The corresponding Feedback Assistant report, FB24866793, includes: A screen recording of the complete sequence in normal mode A screen recording of the same sequence in Sleep mode A detailed PDF report containing screenshots, terminology, additional observations, and reproduction paths Both recordings show the following sequence: Silver S_s → Black S_s → Black S_t → Silver S_t → Silver S_s The recordings and PDF cannot be attached directly to this Developer Forums post, but they are available to Apple through the Feedback Assistant report. Request for confirmation Could anyone else with an iPhone 18 Pro test this sequence on the same iOS build? If you can reproduce it, please consider filing a separate Feedback Assistant report and referencing FB24866793.
0
0
250
1d
PDF Widget Annotations Disappear After Saving in PDFKit (including with Preview)
The Problem When a user toggles radio buttons or checkboxes in a PDF using Preview, the widgets disappear following subsequent interactions after the file is saved and reopened. This renders the form fields unusable. Steps to Reproduce the Problem Open a PDF with radio buttons or checkboxes in Preview. Toggle a radio button or checkbox. Save and close the file. Re-open the PDF in Preview. Toggle the same button again. The button (and any others with the same field name) will disappear. Expected Results Toggling a radio button or checkbox should update the field value without causing the button (or related buttons) to disappear. This behavior is consistent with previous versions of PDFKit. What is Happening In Preview, interacting with radio buttons and checkboxes correctly updates their appearance as expected. Saving the PDF, however, causes the appearance dictionary to reference a new N entry that is a single appearance stream unassociated with any state. The annotation's AS entry is not updated. The original N entry remains but is no longer referenced. Subsequent interactions fail to update the visual presentation because the appearance stream is missing. Impact on User Experience Radio buttons and checkboxes may disappear and become unusable when toggled. PDF documents become irreparably altered after a button is toggled and the file is saved. PDF file size significantly increases when the file is saved. Users may believe they have successfully completed a form, only for the data to become inaccessible or invisible to recipients. Forms may need to be completely restarted or recreated from scratch if the original becomes unusable. The corrupted PDF structure might cause the file to render incorrectly or crash in third-party PDF viewers. Affected Apps/OSs Tested with Preview 11.0 (1147), as well as other apps that use PDFKit, on macOS Golden Gate 27.0 (26A428). This problem also affects PDFKit on iOS 27.0 and iPadOS 27.0. Feedback/bug report: FB24866826 Related Sample Output Original PDF File Checkbox widget annotation (6 0 obj), its appearance dictionary (17 0 obj), and normal appearance dictionary (18 0 obj). Button is not checked. 6 0 obj << /Border [ 0 0 0 ] /Rect [ 90 390 110 410 ] /T (button1) /F 4 /Subtype /Widget /DA (/.AppleSystemUIFont 13 Tf 0 g) /MK 16 0 R /C [ 0 ] /AP 17 0 R /V /Off /M (D:20260919225320Z00'00') /AS /Off /FT /Btn /Type /Annot /Ff 0 >> endobj 17 0 obj << /N 18 0 R >> endobj 18 0 obj << /Yes 20 0 R /Off 22 0 R >> endobj PDF File after Save Checkbox widget annotation object (6 0 obj), its new appearance dictionary object (8 0 obj), a new normal appearance stream object (20 0 obj), and the original appearance stream dictionary (now 21 0 obj). File saved after user checked button. 6 0 obj << /Ff 0 /Type /Annot /AS /Off /AP 8 0 R /MK 9 0 R /C [ 0 ] /FT /Btn /M (D:20260919225320Z00'00') /DA (/.AppleSystemUIFont 13 Tf 0 g) /Subtype /Widget /F 4 /Border [ 0 0 0 ] /Rect [ 90 390 110 410 ] /T (button1) /V (Yes) >> endobj 8 0 obj << /N 20 0 R >> endobj 20 0 obj << /Filter /FlateDecode /Resources << /ColorSpace << /CS1 [ /ICCBased 29 0 R ] /CS2 [ /ICCBased 30 0 R ] >> >> /BBox [ 0 0 20 20 ] /Type /XObject /Subtype /Form /Length 123 >> stream x UéA ¬0 Ô}≈|†≈nà¢úÛÇ* —SA =}Ïr(»ñµ≤w◊€YËà’|ÙÎŒç'óRï∂#SäÏÌü∞¢S‰Ì§ôRÌX }–É•åY Éçˆ BŒ H " *â´8™ˆZø6z⁄ÿ ”ú6ɀ੠"∫t˘‹;'¬ endstream endobj 21 0 obj << /Off 22 0 R /Yes 23 0 R >> endobj Note: No object references 21 0 obj in the PDF.
0
0
82
1d
Music.app hangs on Library tab with Sync Library enabled — iOS 27.2 beta
On iPhone 17 Pro Max running iOS 27.2 beta (24B5084k), Music.app hangs and is watchdog-terminated when opening the Library tab, but only with Sync Library enabled. to reproduce: 1. Settings › Apps › Music › Sync Library OFF — app works normally. 2. Enable Sync Library, let it finish syncing. 3. Open Music and navigate to the Library tab. Result: The app freezes immediately and is terminated. Home, Radio and Search all play normally with Sync Library on — the hang is isolated to the Library tab. The stackshot from Analytics Data shows multiple threads blocked on a single thread, including com.apple.SwiftUI.AsyncRenderer, with the watchdog reporting "Failed to terminate gracefully after 5.0s". No VPN, no automatic downloads, no local files. The same Apple Music account works normally on iPadOS 26 and on Apple Music for Windows. 100% reproducible. Filed as FB24865181. Has anyone else hit this? If so, does your Music- analytics log show the same blocked-thread signature?
0
1
274
1d
iOS 27 Simulator: “Describe a Shortcut” stuck on “Preparing support”
I'm trying to test the new “Describe a Shortcut” feature in iOS 27 using an iPhone 17 Simulator. When I open Shortcuts and tap “Describe a Shortcut”, it stays on: “Preparing support for describe a shortcut” and the text field remains disabled. I cannot enter anything or create the shortcut. My setup: Mac: MacBook Pro macOS: 27 Xcode: 26.5 (17F42) Simulator: iPhone 17 iOS: 27 I also have a physical iPhone 14 Pro, but I understand that it doesn't support Apple Intelligence, so I'm trying to test this using the iPhone 17 Simulator. Do I need to enable/download anything for Apple Intelligence on the Mac or Simulator? Or is “Describe a Shortcut” currently unsupported/not working in the iOS 27 Simulator? Any guidance on the correct setup would be appreciated.
0
0
69
1d
Guidance on iPhone Duo Supported Builds - For Review
What's the guidance on submitting new builds for App Review that include support for iPhone Duo/iPhone resizability? Will they work when building with Xcode 27 + if available for 27.1 or do we have to wait for new Xcode release? Any guidance from Apple and timeframe on build submission if our updates are ready and undergoing testing in simulator? Thank you.
0
0
89
2d
How can I start developing my first game with Xcode and Reality Composer Pro on my own? 🎛️
Hello everyone!! 😊🤗 I'm starting to learn development for Apple platforms and I'd like to ask for some guidance on how to get started. My goal is to gradually develop my own video game using Xcode and Reality Composer Pro. The idea is to create an educational game with 3D environments and elements, so I also want to learn programming, experience design, and 3D content creation as I progress ⭐️ At the moment, I don't have much money to afford to hire developers to mentor me or take expensive courses 😔( My mother is sick and all our resources and budget are focused on her and her treatment. ) but I do have something I think is very important: a strong desire to learn, time, and the willingness to study and practice. I don't expect someone else to do the project for me; I want to learn how to build it myself. My main question is: where should I begin? I already have experience playing Swift Playgrounds, and I find it fascinating 🤩 but I'm looking for the next step: I'd like to know what Apple concepts, courses, documentation, or resources you would recommend I study first to learn how to use Xcode and Reality Composer Pro correctly, especially with the Apple Developer tutorials. Which videos specifically do you recommend I study? If anyone started in a similar way or has experience developing apps or games with these tools, I would greatly appreciate any advice on a learning path. Thank you so much for taking the time to read this and for any guidance you can give me! You truly don't know what this means to me. Thank you so much. 🙏🚀
0
0
250
2d
Best practice Replacement for Edit Button on iPhone Duo
On the iPhone Duo the standard "Edit" button for navigation bars is a text-based button, and text-based buttons are not pushed to the vertical toolbars on the Duo. This looks sometimes silly, if it is the only remaining button that can not be placed in the vertical toolbar and which has the result that an almost empty horizontal navigation bar must be kept visible as well. So I guess it would be good idea to have an icon-based replacement for the Editor button to avoid having two toolbars on the Duo. Is there a best practice for the icon to pick for such an edit button? Would be "square.and.pencil" (SF Symbols) a good choice? Or better the "pencil .circle", because the "square" one is often used for text-based input? Anything better?
0
0
104
2d
AVSpeechSynthesizer does not work on "Mac (Designed for iPad)", with some voices
The iOS 26 sample below speaks well on iPhone/iPad devices and the iOS simulator. But it does not speak on "Mac (Designed for iPad)", with a voice downloaded via the macOS settings. Instead it issues this warning : Invalid maui voice identifier com.apple.voice.enhanced.en-US.Samantha How to make an iOS app speak on "Mac (Designed for iPad)", with a downloaded voice ? Note : I use iOS 26.5.2 and macOS 26.5.2. I use voices that can be found in System Settings > Accessibility > Read & Speak > System voice. I have checked that "Samantha (Enhanced)" is the "System voice" in the macOS settings. I have checked that the same issue occurs with other voices and other languages. There is no such issue for a voice that never needs to be downloaded. import AVFAudio import SwiftUI @main struct SampleApp: App { var body: some Scene { WindowGroup { SampleView() } } } struct SampleView: View { private var synthesizer = AVSpeechSynthesizer() var body: some View { Button("Speak", action: speak) } private func speak() { let utterance = AVSpeechUtterance(string: "I speak English.") utterance.voice = AVSpeechSynthesisVoice(language: "en") self.synthesizer.speak(utterance) } }
4
0
1.8k
3d
PDF Widget Annotations appear Pixelated/Rasterized
The Problem On opening a PDF document in the Preview app, PDF widget annotations appear pixelated/rasterized. This problem exists with button, text, and choice widget subtypes. The pixelation becomes more apparent when zoomed in. Expected Results PDF widgets should appear sharp and smooth, without pixelation. In previous versions of the Preview app, widgets appear vector-based as expected. Impact on User Experience PDF widgets appear pixelated and inconsistent with text content in the same PDF document. Widgets do not look like elements of an interactive form but, instead, resemble low-quality embedded images. Affected Apps/OSs: Preview 11.0 (1147), as well as other apps that use PDFKit, on macOS Golden Gate 27.0 (26A428). A similar problem appears to affect PDFKit on iOS 27.0 and iPadOS 27.0 as well. Feedback/bug report: FB24843022
Replies
3
Boosts
1
Views
178
Activity
1m
UINavigationBarAppearance background does not extend to the top edge on iPhone Duo
Environment Xcode 27.1 iOS 27.1 iPhone Duo simulator UIKit app built with the iOS 27.1 SDK Issue On iPhone Duo, the background of a system-managed UINavigationBar does not extend completely to the top edge of the window. The navigation bar is configured using UINavigationBarAppearance with an opaque blue background. However, a horizontal white strip remains above the blue navigation bar. I also post a feedback: FB24859353 Questions Is this expected behavior on iPhone Duo? What is the recommended way to style this top region? Should apps add a custom background underlay outside the UINavigationBar bounds? Could this be an iOS 27.1 or iPhone Duo simulator issue? Minimal reproduction code: import UIKit final class DemoTabBarController: UITabBarController { override func viewDidLoad() { super.viewDidLoad() viewControllers = NavigationBarStyle.allCases.map { style in let content = DiagnosticsViewController(style: style) let navigationController = UINavigationController(rootViewController: content) navigationController.tabBarItem = UITabBarItem( title: style.title, image: UIImage(systemName: style.symbolName), selectedImage: nil ) style.apply(to: navigationController.navigationBar) return navigationController } } } enum NavigationBarStyle: CaseIterable { case systemDefault case appearance case legacy var title: String { switch self { case .systemDefault: return "Default" case .appearance: return "Appearance" case .legacy: return "Legacy" } } var symbolName: String { switch self { case .systemDefault: return "iphone" case .appearance: return "paintbrush" case .legacy: return "clock.arrow.circlepath" } } func apply(to navigationBar: UINavigationBar) { switch self { case .systemDefault: break case .appearance: let appearance = UINavigationBarAppearance() appearance.configureWithOpaqueBackground() appearance.backgroundColor = .demoBlue appearance.shadowColor = nil appearance.titleTextAttributes = [.foregroundColor: UIColor.white] navigationBar.tintColor = .white navigationBar.standardAppearance = appearance navigationBar.compactAppearance = appearance navigationBar.scrollEdgeAppearance = appearance case .legacy: navigationBar.tintColor = .white navigationBar.barTintColor = .demoBlue navigationBar.backgroundColor = .demoBlue navigationBar.setBackgroundImage(Self.solidImage(color: .demoBlue), for: .default) navigationBar.shadowImage = UIImage() navigationBar.isTranslucent = false navigationBar.titleTextAttributes = [.foregroundColor: UIColor.white] } } private static func solidImage(color: UIColor) -> UIImage { return UIGraphicsImageRenderer(size: CGSize(width: 1, height: 1)).image { context in color.setFill() context.fill(CGRect(x: 0, y: 0, width: 1, height: 1)) } } } private extension UIColor { static let demoBlue = UIColor(red: 0.0, green: 0.46, blue: 0.70, alpha: 1.0) }
Replies
1
Boosts
0
Views
25
Activity
1h
Hinge listeners don't work in Keyboard Extension on iPhone Duo (iOS 27.1)
Hi, I've discovered that my Keyboard Extension is unable to detect any hinge status update on iPhone Duo. I tired both UIKit and SwiftUI approach - nothing works. Is there any workaround to make it work? Reproducible demo: https://www.icloud.com/iclouddrive/0460exMJtAdRkpk8EDjb751nw Xcode 27.1 (27A9269) iOS 27.1 beta 1 (24A94401) I also created a bug report: FB24883137
Replies
0
Boosts
0
Views
21
Activity
4h
ToolbarItem(placement: .topBarPinnedTrailing) is not shown if it is the only toolbar element.
If .topBarPinnedTrailing is used for the placement of a ToolbarItem, if this item is the only one in the toolbar then it is not displayed. This .topBarPinnedTrailing appeared in iOS 27.0 to allow a button to be always visible in the toolbar if when there are overflows with many buttons in the toolbar. A toolbar button should always be visible, this behaviour is a bug. It is a great issue on iPhone Duo which has less space for buttons in the toolbars, this attribute was designed to be sure the button using this attribute would always be visible. Bug is also there on Mac Catalyst and visionOS. A feedback was created FB24882292 /// Shows a View with a toolbar with a .topBarPinnedTrailing button. /// If the tool is the only one, it is not displayed. It is designed to be always visible, but it can be missing on the screen. /// If there are one or more additional buttons, then the .topBarPinnedTrailing is well displayed. /// /// Bug reproduced on iPhone 18 Pro Max simulator 27.0, iPhone Duo simulator iOS 27.1, /// Mac Catalyst 27.0, Vision Pro simulator visionOS 27.0 /// > Warning : to test this ContentView, embed it in a NavigationStack. struct ContentView: View { @State private var twoButtons = false var body: some View { VStack { Text("A toolbar should be always visible") .padding() Button { twoButtons.toggle() } label: { Text(twoButtons ? "Remove second tool" : "Add second tool") } } .toolbar { // ‼️ this button is missing if it is the only one. // ‼️ This is due to .topBarPinnedTrailing which makes it disappear if it is alone. ToolbarItem(placement: .topBarPinnedTrailing) { Button { print("topBarPinnedTrailing pressed") } label: { Label { Text("topBarPinnedTrailing") } icon: { Image(systemName: "ladybug.fill") } .labelStyle(.iconOnly) } } if twoButtons { ToolbarItem(placement: .topBarTrailing) { Button { //Barre d'icône ajouter une scène print("topBarLeading pressed") twoButtons = false } label: { Label { Text("topBarLeading") } icon: { Image(systemName: "minus") } .labelStyle(.iconOnly) } } } } } }
Replies
1
Boosts
0
Views
31
Activity
4h
EASession intermittently opens with an input stream that never delivers data, iOS 27
We use ExternalAccessory to talk to a smart card, i.e. a YubiKey 5Ci, over Lightning. On iOS 27.0, most EASession objects we open are unable to receive. NSStreamEventHasBytesAvailable never fires on the input stream and not one byte arrives, yet the session reports no problem anywhere. Environment iPhone 11, iOS 27.0 build 24A437 (public release), YubiKey 5Ci on Lightning, protocol com.yubico.ylp. What we see on an affected session both streams streamStatus 2 (NSStreamStatusOpen) streamError on both nil NSStreamEventOpenCompleted fires on both hasSpaceAvailable before write YES write:maxLength: returns 18 of 18 NSStreamEventHasSpaceAvailable fires NSStreamEventErrorOccurred never NSStreamEventEndEncountered never NSStreamEventHasBytesAvailable never fires inputStream.hasBytesAvailable false on every poll over 10 s Everything reports success. Only the reply is missing. Behaviour A healthy session replies in single digit milliseconds. An affected one returns nothing at all, ever. The condition is set when the session is created and never changes. Opening another session on the same accessory is an independent roll of the dice. Quitting and relaunching the app does not help. Only physically detaching and reattaching the key does, after which connectionID increments and the next session works. 15 of 25 sessions affected on 24A437. Also 9 of 20 on the 24A5430a beta, so it predates the public release. Already ruled out Not a late reply, we waited 10 s. Not a missed event, we polled hasBytesAvailable directly about 200 times per failure. Not a leaked session, teardown is instrumented and every session deallocates exactly once. Not the hardware, another app on the same phone and key reads its serial and firmware every time, and that app opens one session and never closes it. The USB C interface of the same key, via CryptoTokenKit, never fails. Questions Is there any supported way to tell at creation time that an EASession input stream will not deliver data? Nothing we can read distinguishes the two cases. Is repeatedly creating and releasing EASession objects for the same accessory and protocol supported, and is any teardown step needed beyond clearing the delegates, closing the streams, removing them from the run loop and releasing the session? Is there a supported way to recover without asking the user to unplug the accessory?
Replies
1
Boosts
0
Views
29
Activity
6h
Error 90068: iOS 11 build accepted in early September, now MinimumOSVersion 11.0 is rejected
Hello, I’m looking for clarification and guidance regarding a recent App Store Connect upload validation change that is preventing us from delivering an important bug-fix update to existing users on legacy iOS versions. Our production iOS app has historically supported iOS 11 and later. On August 28, 2026, we successfully uploaded a build with: MinimumOSVersion = 11.0 The upload completed successfully, with warnings only. One of the warnings stated: “MinimumOSVersion too low. This app has a MinimumOSVersion of 11.0. Starting later this year, all iOS apps must have a MinimumOSVersion of 13.0 or later in order to be uploaded to App Store Connect or submitted for distribution.” No specific enforcement date was provided. The same upload also displayed another warning stating: “Starting in Spring 2027, all iOS apps must have a MinimumOSVersion of 15.0 or later…” We subsequently uploaded another build targeting iOS 11 around September 8, and that version was successfully released on the App Store on September 10, 2026. I no longer have a screenshot of the warning from that particular upload, but the build itself was accepted and the corresponding version was released successfully. However, on September 17, 2026, when attempting to upload our next bug-fix build with the same MinimumOSVersion of 11.0, Apple’s server-side validation rejected the build with: Error 90068 “This bundle is invalid. The value provided for the key MinimumOSVersion '11.0' is not acceptable.” This means that the server-side enforcement appears to have changed sometime after our successful upload around September 8 and before September 17. What is especially confusing is that: the previous warning only said that iOS 13 would become mandatory “later this year”, without providing a specific enforcement date; iOS 11 builds were still being accepted in early September, including the build that was released on September 10; the same validation dialog stated that iOS 15 would become mandatory only in Spring 2027; the upload now fails completely before the build reaches App Store Connect or TestFlight. Because validation fails during upload, we cannot submit this build to App Review or request an expedited review. We have already completed a final bug-fix release for our existing legacy iOS users. Our intention is not to continue supporting iOS 11 indefinitely. We plan to increase the minimum supported iOS version after this release. We are only trying to deliver one final bug-fix update to users who already have the application installed on legacy iOS versions. The fix is ready, but affected production users currently have no way to receive it. I opened Apple Developer Support Case ID 102966589079 on September 17, 2026 and sent a follow-up on September 21. So far I have only received automated acknowledgements. The Developer Support case history also shows: “Email with Apple Developer Support — September 19, 2026” but I did not receive any email from Apple on that date. I checked Inbox, Spam/Junk, and Trash. Phone support for this case currently shows: “Phone support is currently unavailable due to high call volumes.” I have attached screenshots showing: the successful August 28 upload with the iOS 13 / iOS 15 warnings; the current Error 90068 rejection; the support case history. Could Apple please clarify: On what exact date did the MinimumOSVersion 13 requirement begin being enforced? Was this enforcement date announced anywhere before it became a hard upload requirement? Is there any supported way to upload one final bug-fix build for existing legacy iOS users? Could Case ID 102966589079 please be routed to the appropriate App Store Connect / Distribution team? Thank you.
Replies
1
Boosts
0
Views
97
Activity
8h
UISheetPresentationController issues on iPhone Duo
I have an App where I use the UISheetPresentationController to present a menu as a "drawer" (like the "FindMy" or "Maps") App. Because the sheet is presented over a map, I made the sheet semi-transparent/blurry, so the Map shines through, which looks nice. The sheet is using a UITableView with the "insetGroup" style, so the table cells have the nice rounded borders and there are margins to the sheet borders. When running the App on the iPhone Duo (Simulator) on the outer display, the tableView does no longer respect the "insetGroup" style, it is rendered like it would have the "plain" style, which destroys everything that look good. No rounded borders, no margins. However if I opt-out of the automatic "vertical toolbar behavior" (overriding preferredVerticalBarBehavior so it returns "disabled"), then everything looks great again, however then the sheet content might overlap with the sidebar icons and camera because it now covers the whole area up to the right screen border. Is this supposed to be this way (if yes, why?), is there a way to fix this, or do we have to wait for a bugfix within iOS 27.1? The tableview still claims to have the "insetGrouped" style, just it does not render this way. I did not see any similar issues under other circumstances. Only UISheetPresentationController seems to be affected by this. Is there a way to correctly detect if the App is running on an iPhone Duo, so we could use this detection to add workarounds for such issues?
Replies
1
Boosts
0
Views
93
Activity
9h
iPhone 17 Pro Max Freezes When Loading Video Previews After Updating to iOS 27
你好,我想报告更新到 iOS 27 后出现的兼容性问题。 我使用的是iPhone 17 Pro Max。更新到 iOS 27 后,我在访问某个第三方视频网站时遇到了严重的冻结问题。 浏览网站时不小心点击了视频缩略图,缩略图顶部会出现一个灰色加载条。加载完成后,会自动弹出视频预览,整个设备随后完全失去响应。唯一的恢复方法是强制重启iPhone。该期大约有10次尝试中能重现8到9次。 这个问题在升级到 iOS 27 之前没有出现。 我还有iPhone XR和iPad。在这些设备上访问同一个网站时,一切正常,视频预览也不会让设备卡死。 我还用iPhone 17 Pro Max上的其他浏览器测试了同一网站,设备依然无响应。不过,到目前为止我在测试其他视频网站时还没遇到过同样的问题。 目前我无法判断这是我设备特有的问题,还是网站兼容性问题,还是iOS 27或WebKit的问题。 我希望苹果能调查并记录这个问题。如果需要更多信息或确切的网站网址以便调查,我可以通过合适的支持渠道提供。 如果苹果社区有人在升级到 iOS 27 后遇到类似问题,欢迎分享你的经历或任何可能原因的信息。 谢谢。
Replies
0
Boosts
0
Views
13
Activity
14h
2.5 weeks in 'Waiting for Review' for a metadata-only change - is this normal now?
Hi everyone, I'm posting here because I honestly don't know where else to get answers anymore. I've been trying to release my first app for about 2–3 months now, and the review process has been, frankly, a disaster for us. As a first-time publisher I've genuinely tried to do everything by the book — I've read the guidelines carefully, prepared reviewer notes, a demo account, sign-in instructions, everything that's recommended. But here's the pattern I keep running into: Every submission sits in "Waiting for Review" for around two weeks — currently even longer. I know the official expectation is that most apps are reviewed much faster, but that has never once been our experience. When the review finally happens, it stops at the first issue found. Instead of reviewing the whole app once and giving me a complete list of everything that needs fixing, I get exactly one rejection point, I fix it, resubmit — and then wait another two weeks just to learn about the next issue. If I got all findings in one pass, I could address everything in a single build. This one-issue-per-cycle loop is what turns a fixable week of work into months. Right now I've been waiting 2.5 weeks for a metadata-only change (updated store screenshots). No binary change at all. I've contacted App Review support to ask for a status update and have received no response. For context: the same app has been live on Google Play for several weeks and is doing well there. We're not trying to sneak anything past review — we want to comply. We just need to actually be told what to fix, ideally all at once, and to not lose two-plus weeks per iteration. So my questions: Is there any way to get a complete list of issues in one review pass instead of one rejection per cycle? Is a 2+ week "Waiting for Review" time normal right now, or is there something about our account/app that could be causing this? Is there any effective way to get a status update when support doesn't reply? (Expedited review requests haven't helped either.) I understand App Review has to handle enormous volume, and I'm not looking to bash anyone — but as a small developer, this process has been demoralizing. Any advice from people who've been through this, or any pointers from Apple folks who read here, would be hugely appreciated. Thanks.
Replies
0
Boosts
0
Views
67
Activity
14h
First Game Submission And Waiting for Review for a While
Hello everyone, This is my first ever game submission to the App Store, so I’m honestly very excited to finally be at this stage. I’ve spent a lot of time working on the game, and seeing it reach the review process for the first time is a really exciting moment for me. The app has now been in “Waiting for Review” for around 5 days. I completely understand that the review process takes time and that Apple’s review team has many submissions to handle. At the same time, since this is my first game and I’m really looking forward to launching it, I’m starting to get a little concerned about the waiting time. I wanted to kindly ask if there is anything I can do from my side to help move the review forward, or if there is any possibility of requesting an expedited review in this situation. I absolutely understand that the normal review process needs to be followed, and I’m not expecting any special treatment. I would just be very grateful if there is anything I can do, or if someone could let me know whether a faster review might be possible. Thank you very much for taking the time to read this, and thank you to everyone who can share their experience or advice. It’s my first game, so I’m both excited and a little nervous about seeing it finally go live. :)
Replies
1
Boosts
0
Views
81
Activity
14h
Xcode 27: CLLocationManager kCLErrorDomain Code=5
Dear Apple Developer Community, Our app monitors a user-defined region by using startMonitoring on an instance of CLLocationManager. While it works as intended on a real device, starting with Xcode 27, this method invocation always results in >locationManager ... monitoringDidFailFor< being called. The error code is always kCLErrorDomain Code=5 but this only occurs within iOS 27 simulators. It works perfectly in iOS 26 simulators. Additionally, CLLocationManager.isMonitoringAvailable(for: CLCircularRegion.self) always returns false on these iOS 27 simulators. This issue blocks parts of our automated system tests. Is it a bug or on purpose? Thank you in advance.
Replies
0
Boosts
0
Views
22
Activity
14h
ManagedAppConfigurationProvider fails with XPC 4099 in Location Push Service Extension
I am developing an iOS application with a Location Push Service Extension and am trying to provide managed app configuration to the extension using Apple's ManagedAppConfigurationProvider and Declarative Device Management (DDM). The same managed configuration works correctly in the containing application, but the exact same API fails when called from the Location Push Service Extension. Environment: iOS: 26.2.1 Xcode: 16.4 Extension type: Location Push Service Extension The extension has the following entitlement in both the signed extension and provisioning profile: com.apple.developer.location.push The extension is configured through DDM using ExtensionConfigs: "ExtensionConfigs": { "bundleid (teamid)": { "DataAssetReference": "xxxxxxx" } } The Data Asset is successfully compiled by the MDM server and contains the managed configuration values. The device reports the following DDM status: "config-state": { "app-config-state": { "state": "valid" }, "extension-config-state": { "bundleidofextension": { "state": "unknown" } } } The main application can successfully retrieve the configuration using: let provider = ManagedAppConfigurationProvider() Task { for await configuration in await provider.configurations( ModelManagedAppConfiguration.self ) { print("APP CONFIG = (String(describing: configuration))") } } The same code and the same configuration type are used inside the Location Push Service Extension. Inside the extension, the provider is created successfully: LOCATION EXTENSION: creating ManagedAppConfigurationProvider LOCATION EXTENSION: provider created LOCATION EXTENSION: requesting configurations However, the request fails with: Failed to connect to managedappsd with error Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.devicemanagementclient.managedappsd was invalidated from this process." Failed to fetch managed app configuration. Returning nil. Error: XPC connection failed with error Optional("Couldn’t communicate with a helper application.") Failed to determine managed app configuration changed notification name. Unable to register for notifications. Failed to report configuration error state. Error: XPC connection failed with error Optional("Couldn’t communicate with a helper application.") LOCATION EXTENSION: CONFIG = nil The important observation is that the configuration works from the containing application but fails from the Location Push Service Extension before the configuration reaches the Decodable configuration type. I have also verified: The extension Bundle ID matches the ExtensionConfigs entry. The Team ID matches. com.apple.developer.location.push is present in the signed extension. com.apple.developer.location.push is also present in the provisioning profile. The DDM Data Asset is successfully compiled. The containing application's managed configuration state is valid. The same ManagedAppConfigurationProvider code works in the containing application. According to Apple's documentation, ManagedAppConfigurationProvider provides configurations for a managed app or extension, and ExtensionConfigs is the DDM mechanism for configuring extensions. My question is: Is ManagedAppConfigurationProvider fully supported from a Location Push Service Extension? If it is supported, what could cause managedappsd to reject/invalidate the XPC connection specifically when the request originates from a Location Push Service Extension? Could there be an additional entitlement, extension-specific configuration, or system restriction required for ManagedAppConfigurationProvider to communicate with managedappsd from this type of extension? Any guidance on how to further diagnose the NSCocoaErrorDomain Code=4099 / "Couldn’t communicate with a helper application" error would be appreciated.
Replies
5
Boosts
0
Views
608
Activity
15h
iPhone 18 Pro Lock Screen controls change appearance after saving an unchanged wallpaper
On iPhone 18 Pro, the Now Playing panel and bottom Lock Screen controls can use different material opacity and foreground colors for the same wallpaper and settings. The final appearance depends on the preceding wallpaper-editing sequence. Environment Device: iPhone 18 Pro iOS: 27.2 beta (24B5084k) Liquid Glass: Clear / most transparent setting Wallpaper: Built-in iPhone 18 Pro wallpaper collection Variants tested: Silver and Black within the same saved wallpaper configuration Feedback Assistant: FB24866793 Two observed appearance states For clarity, I use the following labels: Higher-opacity state (S_s): The Now Playing panel and bottom buttons have a light or gray, relatively solid fill with dark foreground icons. Translucent state (S_t): The same elements are more transparent and use light foreground icons. In Sleep mode, they darken and blend into the background more naturally. No Liquid Glass setting is changed during the following sequence. Shortest reproduction sequence 1. Change Silver to Black Start with the Silver variant displaying the higher-opacity state (Silver S_s). Open the Lock Screen wallpaper carousel, tap Customize, change Silver to Black within the same iPhone 18 Pro wallpaper configuration, tap Done, and exit the carousel. Observed result: Black retains the higher-opacity state (Black S_s). 2. Save Black without changing it Reopen the same Black wallpaper in Customize, make no changes, tap Done, and exit. Observed result: Black changes to the translucent state (Black S_t). 3. Change Black back to Silver Reopen Customize, change Black back to Silver, tap Done, and exit. Observed result: Silver retains the translucent state (Silver S_t). 4. Save Silver without changing it Reopen the same Silver wallpaper in Customize, make no changes, tap Done, and exit. Observed result: Silver changes back to the higher-opacity state (Silver S_s). The complete sequence is therefore: Silver S_s → Black S_s → Black S_t → Silver S_t → Silver S_s The two actual appearance changes occur after reopening Customize and saving without changing the selected wallpaper. Actual result When switching between Silver and Black inside the same saved wallpaper configuration, the existing material state can be preserved even though the new wallpaper has a different brightness. Reopening the configuration and saving it without making a change can then alter: Now Playing panel opacity Notification material appearance Bottom shortcut-button opacity Foreground or icon colors As a result, the exact same Silver or Black wallpaper can appear in either state solely because of the preceding editing history. Expected result The material opacity and foreground colors should be determined consistently from the currently selected wallpaper and the Liquid Glass setting. Switching between Silver and Black should update the appearance immediately if different treatments are intended for them. Saving an unchanged wallpaper should not alter the Lock Screen appearance. Sleep mode impact The issue is especially noticeable in Sleep mode. In the higher-opacity state, the Now Playing panel and bottom buttons remain conspicuous gray elements against the darkened Lock Screen. In the translucent state, the same controls darken and integrate with the background. Supporting evidence The corresponding Feedback Assistant report, FB24866793, includes: A screen recording of the complete sequence in normal mode A screen recording of the same sequence in Sleep mode A detailed PDF report containing screenshots, terminology, additional observations, and reproduction paths Both recordings show the following sequence: Silver S_s → Black S_s → Black S_t → Silver S_t → Silver S_s The recordings and PDF cannot be attached directly to this Developer Forums post, but they are available to Apple through the Feedback Assistant report. Request for confirmation Could anyone else with an iPhone 18 Pro test this sequence on the same iOS build? If you can reproduce it, please consider filing a separate Feedback Assistant report and referencing FB24866793.
Replies
0
Boosts
0
Views
250
Activity
1d
PDF Widget Annotations Disappear After Saving in PDFKit (including with Preview)
The Problem When a user toggles radio buttons or checkboxes in a PDF using Preview, the widgets disappear following subsequent interactions after the file is saved and reopened. This renders the form fields unusable. Steps to Reproduce the Problem Open a PDF with radio buttons or checkboxes in Preview. Toggle a radio button or checkbox. Save and close the file. Re-open the PDF in Preview. Toggle the same button again. The button (and any others with the same field name) will disappear. Expected Results Toggling a radio button or checkbox should update the field value without causing the button (or related buttons) to disappear. This behavior is consistent with previous versions of PDFKit. What is Happening In Preview, interacting with radio buttons and checkboxes correctly updates their appearance as expected. Saving the PDF, however, causes the appearance dictionary to reference a new N entry that is a single appearance stream unassociated with any state. The annotation's AS entry is not updated. The original N entry remains but is no longer referenced. Subsequent interactions fail to update the visual presentation because the appearance stream is missing. Impact on User Experience Radio buttons and checkboxes may disappear and become unusable when toggled. PDF documents become irreparably altered after a button is toggled and the file is saved. PDF file size significantly increases when the file is saved. Users may believe they have successfully completed a form, only for the data to become inaccessible or invisible to recipients. Forms may need to be completely restarted or recreated from scratch if the original becomes unusable. The corrupted PDF structure might cause the file to render incorrectly or crash in third-party PDF viewers. Affected Apps/OSs Tested with Preview 11.0 (1147), as well as other apps that use PDFKit, on macOS Golden Gate 27.0 (26A428). This problem also affects PDFKit on iOS 27.0 and iPadOS 27.0. Feedback/bug report: FB24866826 Related Sample Output Original PDF File Checkbox widget annotation (6 0 obj), its appearance dictionary (17 0 obj), and normal appearance dictionary (18 0 obj). Button is not checked. 6 0 obj << /Border [ 0 0 0 ] /Rect [ 90 390 110 410 ] /T (button1) /F 4 /Subtype /Widget /DA (/.AppleSystemUIFont 13 Tf 0 g) /MK 16 0 R /C [ 0 ] /AP 17 0 R /V /Off /M (D:20260919225320Z00'00') /AS /Off /FT /Btn /Type /Annot /Ff 0 >> endobj 17 0 obj << /N 18 0 R >> endobj 18 0 obj << /Yes 20 0 R /Off 22 0 R >> endobj PDF File after Save Checkbox widget annotation object (6 0 obj), its new appearance dictionary object (8 0 obj), a new normal appearance stream object (20 0 obj), and the original appearance stream dictionary (now 21 0 obj). File saved after user checked button. 6 0 obj << /Ff 0 /Type /Annot /AS /Off /AP 8 0 R /MK 9 0 R /C [ 0 ] /FT /Btn /M (D:20260919225320Z00'00') /DA (/.AppleSystemUIFont 13 Tf 0 g) /Subtype /Widget /F 4 /Border [ 0 0 0 ] /Rect [ 90 390 110 410 ] /T (button1) /V (Yes) >> endobj 8 0 obj << /N 20 0 R >> endobj 20 0 obj << /Filter /FlateDecode /Resources << /ColorSpace << /CS1 [ /ICCBased 29 0 R ] /CS2 [ /ICCBased 30 0 R ] >> >> /BBox [ 0 0 20 20 ] /Type /XObject /Subtype /Form /Length 123 >> stream x UéA ¬0 Ô}≈|†≈nà¢úÛÇ* —SA =}Ïr(»ñµ≤w◊€YËà’|ÙÎŒç'óRï∂#SäÏÌü∞¢S‰Ì§ôRÌX }–É•åY Éçˆ BŒ H " *â´8™ˆZø6z⁄ÿ ”ú6ɀ੠"∫t˘‹;'¬ endstream endobj 21 0 obj << /Off 22 0 R /Yes 23 0 R >> endobj Note: No object references 21 0 obj in the PDF.
Replies
0
Boosts
0
Views
82
Activity
1d
Music.app hangs on Library tab with Sync Library enabled — iOS 27.2 beta
On iPhone 17 Pro Max running iOS 27.2 beta (24B5084k), Music.app hangs and is watchdog-terminated when opening the Library tab, but only with Sync Library enabled. to reproduce: 1. Settings › Apps › Music › Sync Library OFF — app works normally. 2. Enable Sync Library, let it finish syncing. 3. Open Music and navigate to the Library tab. Result: The app freezes immediately and is terminated. Home, Radio and Search all play normally with Sync Library on — the hang is isolated to the Library tab. The stackshot from Analytics Data shows multiple threads blocked on a single thread, including com.apple.SwiftUI.AsyncRenderer, with the watchdog reporting "Failed to terminate gracefully after 5.0s". No VPN, no automatic downloads, no local files. The same Apple Music account works normally on iPadOS 26 and on Apple Music for Windows. 100% reproducible. Filed as FB24865181. Has anyone else hit this? If so, does your Music- analytics log show the same blocked-thread signature?
Replies
0
Boosts
1
Views
274
Activity
1d
iOS 27 Simulator: “Describe a Shortcut” stuck on “Preparing support”
I'm trying to test the new “Describe a Shortcut” feature in iOS 27 using an iPhone 17 Simulator. When I open Shortcuts and tap “Describe a Shortcut”, it stays on: “Preparing support for describe a shortcut” and the text field remains disabled. I cannot enter anything or create the shortcut. My setup: Mac: MacBook Pro macOS: 27 Xcode: 26.5 (17F42) Simulator: iPhone 17 iOS: 27 I also have a physical iPhone 14 Pro, but I understand that it doesn't support Apple Intelligence, so I'm trying to test this using the iPhone 17 Simulator. Do I need to enable/download anything for Apple Intelligence on the Mac or Simulator? Or is “Describe a Shortcut” currently unsupported/not working in the iOS 27 Simulator? Any guidance on the correct setup would be appreciated.
Replies
0
Boosts
0
Views
69
Activity
1d
Guidance on iPhone Duo Supported Builds - For Review
What's the guidance on submitting new builds for App Review that include support for iPhone Duo/iPhone resizability? Will they work when building with Xcode 27 + if available for 27.1 or do we have to wait for new Xcode release? Any guidance from Apple and timeframe on build submission if our updates are ready and undergoing testing in simulator? Thank you.
Replies
0
Boosts
0
Views
89
Activity
2d
How can I start developing my first game with Xcode and Reality Composer Pro on my own? 🎛️
Hello everyone!! 😊🤗 I'm starting to learn development for Apple platforms and I'd like to ask for some guidance on how to get started. My goal is to gradually develop my own video game using Xcode and Reality Composer Pro. The idea is to create an educational game with 3D environments and elements, so I also want to learn programming, experience design, and 3D content creation as I progress ⭐️ At the moment, I don't have much money to afford to hire developers to mentor me or take expensive courses 😔( My mother is sick and all our resources and budget are focused on her and her treatment. ) but I do have something I think is very important: a strong desire to learn, time, and the willingness to study and practice. I don't expect someone else to do the project for me; I want to learn how to build it myself. My main question is: where should I begin? I already have experience playing Swift Playgrounds, and I find it fascinating 🤩 but I'm looking for the next step: I'd like to know what Apple concepts, courses, documentation, or resources you would recommend I study first to learn how to use Xcode and Reality Composer Pro correctly, especially with the Apple Developer tutorials. Which videos specifically do you recommend I study? If anyone started in a similar way or has experience developing apps or games with these tools, I would greatly appreciate any advice on a learning path. Thank you so much for taking the time to read this and for any guidance you can give me! You truly don't know what this means to me. Thank you so much. 🙏🚀
Replies
0
Boosts
0
Views
250
Activity
2d
Best practice Replacement for Edit Button on iPhone Duo
On the iPhone Duo the standard "Edit" button for navigation bars is a text-based button, and text-based buttons are not pushed to the vertical toolbars on the Duo. This looks sometimes silly, if it is the only remaining button that can not be placed in the vertical toolbar and which has the result that an almost empty horizontal navigation bar must be kept visible as well. So I guess it would be good idea to have an icon-based replacement for the Editor button to avoid having two toolbars on the Duo. Is there a best practice for the icon to pick for such an edit button? Would be "square.and.pencil" (SF Symbols) a good choice? Or better the "pencil .circle", because the "square" one is often used for text-based input? Anything better?
Replies
0
Boosts
0
Views
104
Activity
2d
AVSpeechSynthesizer does not work on "Mac (Designed for iPad)", with some voices
The iOS 26 sample below speaks well on iPhone/iPad devices and the iOS simulator. But it does not speak on "Mac (Designed for iPad)", with a voice downloaded via the macOS settings. Instead it issues this warning : Invalid maui voice identifier com.apple.voice.enhanced.en-US.Samantha How to make an iOS app speak on "Mac (Designed for iPad)", with a downloaded voice ? Note : I use iOS 26.5.2 and macOS 26.5.2. I use voices that can be found in System Settings > Accessibility > Read & Speak > System voice. I have checked that "Samantha (Enhanced)" is the "System voice" in the macOS settings. I have checked that the same issue occurs with other voices and other languages. There is no such issue for a voice that never needs to be downloaded. import AVFAudio import SwiftUI @main struct SampleApp: App { var body: some Scene { WindowGroup { SampleView() } } } struct SampleView: View { private var synthesizer = AVSpeechSynthesizer() var body: some View { Button("Speak", action: speak) } private func speak() { let utterance = AVSpeechUtterance(string: "I speak English.") utterance.voice = AVSpeechSynthesisVoice(language: "en") self.synthesizer.speak(utterance) } }
Replies
4
Boosts
0
Views
1.8k
Activity
3d