Overview

Post

Replies

Boosts

Views

Activity

NavigationBar iOS 26
Hi all, When navigating between two screens where the first uses .inline and the second .large title display mode, the NavigationBar shows visible resizing glitches during the push animation. This is especially noticeable when using a custom background color (e.g. yellow) via UINavigationBarAppearance or .toolbarBackground(Color.yellow, for: .navigationBar). I’m already using the same appearance for standard, scrollEdge, and compact, with configureWithOpaqueBackground(), but the issue remains. Is this a known UIKit or SwiftUI issue? Any recommended workaround? Thanks.
Topic: UI Frameworks SubTopic: SwiftUI
1
0
106
3w
Gathering Required Information for Troubleshooting Apple Pay In-App Provisioning or In-App Verification Issues
Hi, You're here because you've had issues with your implementation of In-App Provisioning Extensions for Apple Pay In-App Provisioning or In-App Verification. To prevent sending sensitive credentials in plain text, create a new report in Feedback Assistant to share the details requested below with the appropriate log profiles installed. Gathering Required Information for Troubleshooting Apple Pay In-App Provisioning or In-App Verification Issues While troubleshooting Apple Pay In-App Provisioning or In-App Verification, it is essential that the issuer is able to collect logs on their device and check those logs for error message. This is also essential when reporting issues to Apple. To gather the required data for your own debugging as well as reporting issues, please perform the following steps on the test device: Install the Apple Pay and Wallet profiles on your iOS or watchOS device. If the issue occurs on Mac, continue to Step 2. Reproduce the issue and make a note of the timestamp when the issue occurred, while optionally capturing screenshots or video. Gather a sysdiagnose on the same iOS or watchOS device, or on macOS. Create a Feedback Assistant report with the following information: The bundle IDs App bundle ID Non-UI app extension bundle ID (if applicable) UI app extension bundle ID (if applicable) The serial number of the device. For iOS and watchOS: Open Settings > General > About > Serial Number (tap and hold to copy). For macOS: Open the Apple () menu > About This Mac > Serial Number. The SEID (Secure Element Identifier) of the device, represented as a HEX encoded string. For iOS and watchOS: Open Settings > General > About > SEID (tap and hold to copy). For macOS: Open the Apple () menu > About This Mac > System Report > NVMExpress > Serial Number. The sysdiagnose gathered after reproducing the issue. The timestamp (including timezone) of when the issue was reproduced. The type of provisioning failure (e.g., error at Terms & Conditions, error when adding a card, etc.) The issuer/network/country of the provisioned card (e.g., Mastercard – US) Last 4 digits of the FPAN Last 4 digits of the DPAN (if available) Was this test initiated from the Issuer App? (e.g., yes or no) The type of environment (e.g., sandbox or production) Screenshots or videos of errors and unexpected behaviors (optional). Important: From the logs gathered above, you should be able to determine the cause of the failure from PassbookUIService, PassKit or PassKitCore, and by filtering for your SEID or bundle ID of your app or app extensions in the Console app. Submitting your feedback Before you submit to Feedback Assistant, please confirm the requested information above is included in your feedback. Failure to provide the requested information will only delay my investigation into the reported issue within your Apple Pay client. After your submission to Feedback Assistant is complete, please respond in your existing Developer Forums post with the Feedback ID. Once received, I can begin my investigation and determine if this issue is caused by an error within your client, a configuration issue within your developer account, or an underlying system bug. Cheers, Paris X Pinkney |  WWDR | DTS Engineer
0
0
2.2k
3w
Unable to use Live Wallpapers iPhone 16 Pro Max
Using iPhone 16 Pro Max. iOS 26.3-Public Beta. App using: MyScreen26 I have only been able to use 1 live wallpaper (black and white tyrannosaurus rex) about 2 weeks ago. I wanted to change it today, and have been unable to get any of the live wallpapers to work, even the same one I used the last couple of weeks. I find the live wallpaper I want, download it. I click on the upper left hand corner to put into 'Loop' mode. I have 'Low Power Mode' and 'Reduce Motion' turned off. I then click on the arrow on the lower left to open the menu to use the image as a locked screen wallpaper. The screen then shows 'add to album', 'airplay', 'export unmodified original' and 'add to new quick note'. There is no selection for add to wallpaper. Not sure what I'm doing wrong....any suggestions? Thanks!
0
0
100
3w
Unable to Subscribe to Apple Developer Program
I have been attempting to complete my enrollment for the Apple Developer Program, but each time I try, I am shown the message: “Your enrollment could not be completed at this time.” The issue persists across multiple attempts and days, and I am unable to proceed further. I am signed in with my Apple ID, and the error appears immediately during the enrollment process. Could you please advise on: Whether this is a known issue affecting my region, or If there are any additional steps or verification required to complete enrollment from Cameroon? I would greatly appreciate any guidance or support you can provide, as I am eager to continue with development using Apple’s platforms. Thank you for your time and assistance.
0
0
45
3w
SwiftUI subviews traverse issue
Our project include UIKIt and SwiftUI, and in some case, we need to traverse all subviews, for UIKit implement views, below code: func findView(byIdentifier identifier: String) -> UIView? { if self.accessibilityIdentifier == identifier { return self } for subview in subviews { if let found = subview.findView(byIdentifier: identifier) { return found } } return nil } works well, but for SwiftUI implement views, like below code: struct ContentView: View { var body: some View { VStack { Image(systemName: "globe") .imageScale(.large) .foregroundStyle(.tint) .accessibilityIdentifier("Image") Text("Hello, world!") .accessibilityIdentifier("Text") } .padding() } } it can not find subviews in the ContentView, and only a view with type: _UIHostingView<ModifiedContent<AnyView, RootModifier>> can be found, the Image and Text is not found; And because we have set a accessibilityIdentifier property, so we also try use: @MainActor var accessibilityElements: [Any]? { get set } to find sub node, but this accessibilityElements is not stable, we can find the Image and Text node in iOS26.1 system: [AX] level=3 AccessibilityNode @ 0x000000010280fb10 id=Image [AX] level=3 AccessibilityNode @ 0x000000010161fbf0 id=Text but can not find it in iOS26.0 and below system. Any suggestion in how to find SwiftUI subviews? thank you
Topic: UI Frameworks SubTopic: SwiftUI
2
0
165
4w
receivedTurnEventForMatch giving stale data
In my turn-based game, I receive GKListener event receivedTurnEventForMatch and decode the match.matchData. On occasion, the matchData is clearly stale and is from the previous turn. If I call the MatchMaker ViewController up and select that same match, the data is not stale, so it's not a matter of not calling endTurn. I have tried both loadMatchWithID and loadMatchesWithCompletionHandler after receiving the receivedTurnEventForMatch, but the data is still stale. Advice?
2
0
680
3w
symbolicate crashlog using .symbols files instead of dSYMs
Hi, Some crashes downloaded from TestFlight aren't symbolicated by Xcode and I don't know why, here's an example: Although all uploaded builds contain debug symbols (Symbols directory with .symbols files) and other crashlogs in the same version are symbolicated just fine (also visible on the above SS). I have access only to the .symbols files but not to the original dSYMs and I wonder how to perform symbolication manually. I tried pointing atos and symbolicatecrash utilities to respective .symbols file, but they are unable to work with it. I'm sure it's possible as TestFlight symbolicates crashlogs using only .symbols files somehow. Could you give a hint?
1
0
182
3w
Many CGECreateKeyboardEvent in quick succession causing function and dictation buttons to be pressed?
Hi! I hope everyone reading is doing well. I am working on developing a reinforcement learning agent that involves sending scan codes to a window, which I've been doing by sending virtual scan codes with CGEventCreateKeyboardEvent per the docs. There is no event source when I send the keyboard events. However, when many keyboard events are happening (with the keys 'q', 'w', 'e', 'r', 'f', 'd', 's', space, arrow keys) in quick succession (<250ms), the enable dictation popup or the function button emojis popup appear for seemingly no reason. I have verified that I am using the correct scan codes for these keypresses, so I am wondering what else could cause this to happen. It is as if I am choosing to press f5 or fn. It does not happen when 'a' is the only button being pressed in quick succession. One thing that I have not been able to easily find is the scan code inputs for dictation nor the function button. do these scan codes overlap somehow? Thank you all for the help! Hunter
2
0
489
3w
IAP stuck in Review causing rejection
I’m stuck in a loop where my in-app purchase (IAP) product cannot be reviewed because my app version is in “Rejected” status. In order to submit the IAP for review, I need to submit a new app version and select the IAP product. But since the current version is rejected, I can't select the IAP during submission. As a result, RevenueCat can't fetch the IAP products, and the app appears to not use in-app purchases, which leads to another rejection. I’d like to know the correct steps to break this cycle and properly submit both the app and the IAP for review. Any guidance is appreciated!
1
0
206
3w
Duplicate Smart App Banners in Safari when App Is Installed
Issue: On Safari, two Smart App Banners appear for the same webpage when the iOS app is installed. Cause: • Banner 1: Native Apple Smart App Banner, automatically triggered by Safari via AASA / Universal Links. • Banner 2: Smart banner injected by a third-party SDK (Branch.io). • Both operate independently, resulting in duplicate banners. Finding: Safari’s native Smart App Banner behavior is system-controlled and cannot be disabled programmatically using web rules or JavaScript while Universal Links are enabled. Question: Is this behavior expected by design? Is there any Apple-supported way to suppress the native Smart App Banner when using a third-party banner, or is the recommended approach to rely on only one banner system?
0
0
158
4w
Payment pending for weeks to access the Developer Program
Hi, My payment has been pending since early January to join the developer program in spite of the mention that it should be processed in a couple business days. This is preventing me from moving forward with my app. I see several similar issues on the Forum but no answer to my issue. Any thoughts on how to speed up this process? Any help would be much appreciated!
0
0
29
3w
Developer account Pending
Hi, It is the second time I am trying to create a Developer account and having the same issue. First time, my account was "pending" for weeks until the payment were refunded to my account. I called to Apple Store, which told me the issue could be with the bank processing. I called the bank, which said the issue could be with Apple processing. Now again, trying it, and Pending... Anyone had this issue and could give me some help please ?
0
0
117
3w
Basic introduction to DEXT Matching and Loading
Note: This document is specifically focused on what happens after a DEXT has passed its initial code-signing checks. Code-signing issues are dealt with in other posts. Preliminary Guidance: Using and understanding DriverKit basically requires understanding IOKit, something which isn't entirely clear in our documentation. The good news here is that IOKit actually does have fairly good "foundational" documentation in the documentation archive. Here are a few of the documents I'd take a look at: IOKit Fundamentals IOKit Device Driver Design Guidelines Accessing Hardware From Applications Special mention to QA1075: "Making sense of IOKit error codes",, which I happened to notice today and which documents the IOReturn error format (which is a bit weird on first review). Those documents do not cover the full DEXT loading process, but they are the foundation of how all of this actually works. Understanding the IOKitPersonalities Dictionary The first thing to understand here is that the "IOKitPersonalities" is called that because it is in fact a fully valid "IOKitPersonalities" dictionary. That is, what the system actually uses that dictionary "for" is: Perform a standard IOKit match and load cycle in the kernel. The final driver in the kernel then uses the DEXT-specific data to launch and run your DEXT process outside the kernel. So, working through the critical keys in that dictionary: "IOProviderClass"-> This is the in-kernel class that your in-kernel driver loads "on top" of. The IOKit documentation and naming convention uses the term "Nub", but the naming convention is not consistent enough that it applies to all cases. "IOClass"-> This is the in-kernel class that your driver loads on top of. This is where things can become a bit confused, as some families work by: Routing all activity through the provider reference so that the DEXT-specific class does not matter (PCIDriverKit). Having the DEXT subclass a specific subclass which corresponds to a specific kernel driver (SCSIPeripheralsDriverKit). This distinction is described in the documentation, but it's easy to overlook if you don't understand what's going on. However, compare PCIDriverKit: "When the system loads your custom PCI driver, it passes an IOPCIDevice object as the provider to your driver. Use that object to read and write the configuration and memory of your PCI hardware." Versus SCSIPeripheralsDriverKit: Develop your driver by subclassing IOUserSCSIPeripheralDeviceType00 or IOUserSCSIPeripheralDeviceType05, depending on whether your device works with SCSI Block Commands (SBC) or SCSI Multimedia Commands (SMC), respectively. In your subclass, override all methods the framework declares as pure virtual. The reason these differences exist actually comes from the relationship and interactions between the DEXT families. Case in point, PCIDriverKit doesn't require a specific subclass because it wants SCSIControllerDriverKit DEXTs to be able to directly load "above" it. Note that the common mistake many developers make is leaving "IOUserService" in place when they should have specified a family-specific subclass (case 2 above). This is an undocumented implementation detail, but if there is a mismatch between your DEXT driver ("IOUserSCSIPeripheralDeviceType00") and your kernel driver ("IOUserService"), you end up trying to call unimplemented kernel methods. When a method is "missing" like that, the codegen system ends up handling that by returning kIOReturnUnsupported. One special case here is the "IOUserResources" provider. This class is the DEXT equivalent of "IOResources" in the kernel. In both cases, these classes exist as an attachment point for objects which don't otherwise have a provider. It's specifically used by the sample "Communicating between a DriverKit extension and a client app" to allow that sample to load on all hardware but is not something the vast majority of DEXT will use. Following on from that point, most DEXT should NOT include "IOMatchCategory". Quoting IOKit fundamentals: "Important: Any driver that declares IOResources as the value of its IOProviderClass key must also include in its personality the IOMatchCategory key and a private match category value. This prevents the driver from matching exclusively on the IOResources nub and thereby preventing other drivers from matching on it. It also prevents the driver from having to compete with all other drivers that need to match on IOResources. The value of the IOMatchCategory property should be identical to the value of the driver's IOClass property, which is the driver’s class name in reverse-DNS notation with underbars instead of dots, such as com_MyCompany_driver_MyDriver." The critical point here is that including IOMatchCategory does this: "This prevents the driver from matching exclusively on the IOResources nub and thereby preventing other drivers from matching on it." The problem here is that this is actually the exceptional case. For a typical DEXT, including IOMatchCategory means that a system driver will load "beside" their DEXT, then open the provider blocking DEXT access and breaking the DEXT. DEXT Launching The key point here is that the entire process above is the standard IOKit loading process used by all KEXT. Once that process finishes, what actually happens next is the DEXT-specific part of this process: IOUserServerName-> This key is the bundle ID of your DEXT, which the system uses to find your DEXT target. IOUserClass-> This is the name of the class the system instantiates after launching your DEXT. Note that this directly mimics how IOKit loading works. Keep in mind that the second, DEXT-specific, half of this process is the first point your actual code becomes relevant. Any issue before that point will ONLY be visible through kernel logging or possibly the IORegistry. __ Kevin Elliott DTS Engineer, CoreOS/Hardware
0
0
149
3w
Guideline 2.5.1 - Performance - Software Requirements
Hi all, I'm developing fitness app and I use healthkit to track user's "STEPS" count and "Heart Rate" from their iphone devices. I have been receiving this rejection and can't seem to get past this: Guideline 2.5.1 - Performance - Software Requirements The app uses the HealthKit or CareKit APIs but does not clearly identify the HealthKit and CareKit functionality in the app's user interface. Apps using these APIs should be clearly indicated to provide transparency and valuable information to users. Next Steps To resolve this issue, it would appropriate to clearly identify the HealthKit and CareKit functionality in the app's user interface. Resources Learn more about software requirements in guideline 2.5.1. How I tried to Resolve the Issue I have modified my app: adding user permission prompt, adding healthkit notification, adding healthkit indicator in the UI **1. Added a "Permission Primer" Screen (Pre-Alert) ** When a user taps "Connect Apple Health," they are now shown a dedicated explanation screen before the system permission prompt appears. This screen clearly states: "[App] integrates with HealthKit to read your Heart Rate and Steps... to calculate physical exertion." (Please see the "Connect" flow in the Session Detail view). **2. Added Explicit Source Attribution ** I have added a permanent text label reading "Health data sourced from Apple Health" directly below the heart rate and steps statistics on the Session Detail dashboard. This ensures that users always identify the source of the displayed metrics. 3. Deployment Target Correction I identified a configuration error where the Deployment Target was set to a future OS version. I have corrected this to the currently shipping iOS 18 to ensure full compliance with software requirements. 4. App Description Update I have updated the App Store description to explicitly mention the HealthKit integration and its specific purpose (tracking match intensity). However doing the above, I still continue to receive the same review message. When I asked the reviewer what else could be done to satisfy the requirement, I only get boiler plate message above. Anyone know what they really looking for? Any insights is appreciated. Thanks!
1
0
75
3w
Apple Developer Program Enrollment: pending
Hello everyone, I'm currently waiting for my Apple Developer Program enrollment to be approved and wondering if my timeline is normal. My situation: Payment of $99 USD: ✅ Completed (have invoice and order number) Government-issued photo ID: ✅ Submitted Confirmation email received: ✅ Yes - "Thank you for providing the documents we requested. We will review them and follow up with you within two business days" Days since confirmation email: 3+ business days The email stated they would follow up within two business days, but it's now been more than three business days with no update. My questions: Is it normal for the review to take longer than the stated "two business days"? For those who were approved, did you receive multiple emails throughout the process, or just a final approval email? Has anyone experienced similar delays? What was the outcome? Just want to make sure nothing is stuck or requires additional action from my side. Thanks for any insights!
0
0
172
3w
assets.xcassets Folder is just raw code
Hey everyone, I took over a mac os app project file and the Assets folder is looking strange. It doesn't have the regular interface where you see the list of assets and the section of adding the app icon size variants and so on. It's just a document of raw data referencing the assets. It's not recognizing the folder as a normal assets folder. Any idea how I can fix it?
0
0
45
4w
Technical Issue: Internal API Version Mismatch (Iris v1 vs. v2) in App Store Connect Game Center Dashboard
Summary There is a critical synchronization issue within the App Store Connect dashboard affecting the management of Game Center Leaderboards. The web interface attempts to perform administrative tasks (such as listing player entries or moderating scores) by calling deprecated or mismatched API endpoints across different versions of the Iris API (v1 and v2), leading to a complete failure of the management UI. I have tried it with multiple browsers (Safari, Mozilla, Chrome, Opera) with same results. Observed Behavior Management UI Failure: The "Manage Scores and Players" section fails to load, often showing "Blocked" status in the browser's Network tab or remaining stuck on a loading spinner. API Version Conflict: While some parts of the dashboard successfully fetch app data via /iris/v1/, the leaderboard management logic appears to have been partially migrated to /iris/v2/. This results in the UI making calls to /v1/ resources that return 403 FORBIDDEN (GET_COLLECTION not allowed) or calling /v2/ paths that return 404 PATH_ERROR (The resource does not exist). Broken Relationships: Peticions to endpoints like /iris/v1/gameCenterDetails/{id}/gameCenterLeaderboards frequently return 404 errors stating that the relationship does not exist, even when the Leaderboard is "Live" and correctly configured. Moderation Inaccessibility: Attempting to delete or hide a score is impossible because the "Search" functionality fails to return Player IDs. The backend rejects GET requests on moderation endpoints, only allowing PATCH or UPDATE, but without a functioning search UI to retrieve the necessary Player IDs, the management loop is broken. Conclusion The Game Center management dashboard is currently unusable for certain apps due to these internal API inconsistencies. Developers are unable to moderate their leaderboards or remove suspicious scores because the UI cannot resolve the correct API path to fetch player data. Could you fix this as soon as possible, please? Thank you, JM.
0
0
78
4w
Critical: finishTransaction() fails to clear queue in iOS 26.2 Sandbox (TestFlight)
Environment OS: iOS 26.2 (Beta/Release) Framework: StoreKit 1 (or StoreKit 2) Environment: TestFlight / Sandbox Device: [Insert your device model, e.g., iPhone 15 Pro] Description I am encountering a persistent issue where SKPaymentQueue.default().finishTransaction(transaction) does not successfully remove the transaction from the queue. Every time a new purchase is initiated, the observer triggers an immediate update with the previous transaction's ID (Transaction ID). The system then displays a system alert stating: "You've already purchased this In-App Purchase. It will be restored for free." Even after explicitly calling finishTransaction, the same transaction reappears in the updatedTransactions array upon the next app launch or purchase attempt. Steps to Reproduce Add a transaction observer in didFinishLaunchingWithOptions. Initiate an In-App Purchase in TestFlight. Upon success (.purchased), call SKPaymentQueue.default().finishTransaction(transaction). Attempt to buy the same non-consumable item (or any item) again. Result: The previous transaction is pushed again, and the queue never clears. What I’ve Tried Ensured finishTransaction is called on the main thread. Verified that the observer is added at app launch. Manually iterating through SKPaymentQueue.default().transactions and finishing all entries. Signed out of the Sandbox account and used a completely new test account. Deleted and reinstalled the App via TestFlight.
1
0
238
3w
Adobe XD throws error when loading UIKit resources Sketch file
Hi there. I want to use Adobe XD for designing and prototyping apps, and I would like to get the UIKit design resources working. I downloaded it and tried to open it with Adobe XD, but it threw this error: There was an error opening the file Apple iOS 26 UI Kit.sketch (Error code: 115) I really prefer to use the UIKit in Adobe XD rather than paying for Figma or Sketch. Thanks. Apple Design Resources
Topic: Design SubTopic: General Tags:
1
0
771
3w