Overview

Post

Replies

Boosts

Views

Activity

Maximizing camera features for analysis
When building apps, how can I maximize my camera features while using an app to scan and analyze textiles? Is there an integration that has to be inputted that catalogs every fabric type or AI models are able to learn fabric type from every scan? also what is the process/code of including visionOS to scan fabric types to catalog on devices such as smartphones and computers?
0
0
26
1d
Is there any way to reconstruct a corrupted APFS root tree?
Hi everyone. I've been at this for about 9 hours already but I just needed to ask this somewhere where somebody with experience might pop up. As usual, I left my iPhone backing up its photos and videos to a Photos library in an APFS 1TB Western Digital HDD drive. Today I woke up with an error window saying that the drive is corrupted in some way. Here are the steps that followed: 1- Tried to mount the drive in Disk Utility -> doesn't work 2- Ran first aid in Disk Utility -> doesn't work 3- fsck_apfs with multiple different options in Terminal -> doesn't work 4- Used ddrescue to clone the corrupted hard drive to a 2TB drive -> worked fine with no unreadable/corrupt sectors. 5- I downloaded the WD Drive Utilities and the quick drive test passed -> no error. 6- Called Apple Support (shout out to Imelda for being incredibly nice and experienced) but it seems the only solution is to erase the drive or contact WD. This is not an option for me since it's got my photos library from the last decade. I had a backup in another drive but it's very out of date. I just bought a NAS to transfer it all to a safer place, so the timing for this to happen is the worst case. 7- I noticed that in the Library folder in my Mac, I got a 1.3GB Photos library with many thumbnails of the pictures I was importing last night. The filename is Syndication.photoslibrary. Here's the log from fsck_apfs fsck_apfs Log After all the steps I took, it seems to me that: A- The hard drive is completely fine hardware-wise, evidenced by points 4 and 5. So I would assume that WD can't really help me recover my data. B- The "only" thing that's broken is the apfs_root. So my question is if there is some sort of way to reconstruct the root tree somehow. I would assume that this structure is only partially broken and that there are addresses that it should point to properly, that can support some sort of more involved recovery process. I tried reading the APFS documentation but I'm currently very emotionally distressed at the potential loss of my data that I can't parse that information right now. Does anybody have any clue if something can be done about this? Some sort of script? Literally anything. Many thanks in advance. Best, Andres PS: Please let me know if this forum is the appropriate place for this question. I'm mostly posting here since I feel this is a more advanced subject and I need all the help I can get.
1
0
54
1d
Is activityType isolated between CLLocationManager and CLLocationUpdate.liveUpdates?
I am testing two Core Location clients running concurrently: V1: a delegate-based CLLocationManager with activityType set to .other V2: CLLocationUpdate.liveUpdates(.otherNavigation) I expect each client’s activityType and location processing to remain isolated. However, while V1 is running, V2 sometimes reports coordinates with a southward bend that appears aligned with a nearby mapped road. This occurs when traveling off-road beside that road. As a control, two independent delegate-based CLLocationManager instances remain independent and do not produce this bend. Reproduction steps: Grant Precise Location access with When In Use authorization. Start V1 and V2 together. Travel off-road beside a mapped road. Log each update’s source, timestamp, latitude, and longitude. Environment: iPhone 17 Pro iOS 26.6.1 (23G83) Xcode 26.6 (17F113) macOS 26.6.2 Is activityType expected to remain isolated when CLLocationManager and CLLocationUpdate run concurrently? What diagnostics would Apple recommend collecting to determine whether one client is affecting the other? I can provide the focused LocationActivityTypeBugSample project, raw logs, and an annotated screenshot.
2
0
112
1d
Pending Termination Notice – Guideline 5.6.2 Developer Identity – Seeking Help
Hello, I received a Pending Termination Notice today under Section 3.2(f) and App Review Guideline 5.6.2 – Developer Identity. I am the legitimate Account Holder and developer, and I do not recognize any fraudulent activity associated with my account. I have already submitted an appeal to the App Review Board and contacted Apple Developer Support by phone and through a support case. I have reviewed all of my personal and account information. I am fully willing to cooperate with Apple and provide any official documentation required to verify my identity, including a government-issued ID, proof of address, banking documentation, or any other supporting documents. I would really appreciate hearing from anyone who has experienced a similar 5.6.2 Developer Identity termination notice. Has anyone successfully resolved this through the appeal process or additional identity verification? How long did Apple take to respond, and was the app restored afterward? Any guidance or experience would be greatly appreciate d. Thank you.
0
0
21
1d
Update: got a Guideline 2.1 info request, but running out of time to wait on a reply
Update: got a Guideline 2.1 info request, but running out of time to wait on a reply Following up again on my earlier posts (Submission ID: 1522a8de-defd-44f8-92e8-9edbb0d85c28). After three rounds of review (Aug 17, Aug 25, and now Aug 27), App Review sent a Guideline 2.1 request today asking a straightforward question: whether a registered company account can use the app free indefinitely, or has to subscribe eventually. I've replied with a clear, direct answer (agencies get a 30-day trial, then must subscribe, there's no free indefinite tier). Given this submission has already taken over a week with responses averaging several days apart, I'm hoping to avoid another long wait for someone to actually read this reply. If any fellow developers have advice on getting a straightforward info-request reply seen faster, whether that's a specific escalation path, a call script that's worked for you, or just confirmation that this is normal right now, I'd really appreciate it. Happy to share more details about the app/business model if it helps anyone weigh in. Thanks for reading this far.
0
0
47
1d
Pending Termination Notice Under Section 3.2(f) – Seeking Guidance Regarding Developer Identity Verification
Pending Termination Notice Under Section 3.2(f) – Seeking Guidance Regarding Developer Identity Verification Hello, Case ID: 20000132641773 I am seeking guidance regarding a Pending Termination Notice that I recently received under Section 3.2(f) and App Review Guideline 5.6.2 (Developer Identity). I fully respect Apple's policies and have always tried to operate within the App Store guidelines. However, I am struggling to understand the identity-related concerns mentioned in the notice. My Situation I enrolled in the Apple Developer Program as an Individual developer. I completed the standard enrollment process and paid the membership fee. My developer account was approved and activated by Apple. During enrollment, I was not asked to upload a passport, National ID Card, driver's license, or any other identity verification documents. The account has been active for several years. I have multiple published applications and have invested significant resources into their development and growth. My Main Concern The notice states that Apple believes fraudulent or false identity information may have been provided. However: I have never intentionally misrepresented my identity. The name on the account belongs to me. I am fully willing to complete any identity verification process. I can immediately provide my Passport, National ID Card, Driver's License, proof of address, or any other documents Apple may require. Significant Business Impact The termination notice has affected all applications associated with my account. As a result: App transfers are disabled. Earnings payments are paused. Existing applications are impacted. Ongoing user acquisition and marketing campaigns have been disrupted. I have invested heavily in growing these applications, including substantial advertising spend through Meta Ads and other marketing channels. I can provide supporting evidence of advertising activity, installs, traffic, and user acquisition if requested. Questions Has anyone successfully resolved a similar Developer Identity (5.6.2) issue through additional verification? Has Apple allowed developers to submit identity documents after receiving a Pending Termination Notice? Is there any recommended approach when the developer is fully willing to verify their identity but was never previously asked to submit identity documents? I have already submitted an appeal and expressed my willingness to provide any form of identity verification required by Apple. Any guidance from Apple staff or developers who have experienced a similar situation would be greatly appreciated. Thank you.
1
1
274
1d
Automix in Apple Music is inoperative in iPadOS 27 Beta 1 and later version on iPad Pro (M4)
After updating 13-inch iPad Pro (M4, 1TB, cellular model) to iPadOS 27 Beta 1 and later version, the automix mode in the Music app has stopped working. I have confirmed this issue is unrelated to my subscription status. I tried toggling the Song Transition option back on in Settings and switching to the Crossfade mode, but the problem persists—the Song Transition button inside the Music app remains grayed out and unavailable.
2
3
614
1d
iOS 27: Scroll edge effect region sizes on UIRefreshControl presence, not its height
Summary On iOS 27 the top scroll edge effect of a UITableView is sized around the UIRefreshControl as an edge element, but appears to key on the control's presence in the scroll view rather than its current height. After endRefreshing(), the control collapses to zero height but stays attached, and the effect region keeps reserving a refresh-control's worth of space. The first row stays blurred and dimmed even though it is scrolled fully clear of the navigation bar. Environment iOS 27 (beta), iPhone Xcode 27.0.0 Beta 4 UIKit, UITableView inside a UINavigationController Reproduces with the default edge effect style and with an explicit .soft Steps to reproduce Push a UITableViewController with a UIRefreshControl onto a navigation stack. Ensure content extends under the navigation bar (default for UITableViewController). Pull to refresh and let the refresh end. Observe the first row after the refresh control has retracted. Expected Once the control retracts, the edge effect returns to its pre-pull height and the first row renders crisply. Actual The region stays roughly one refresh-control height too tall and the first row stays blurred. Row positions are unaffected — content offset and adjustedContentInset are correct. Only the extent of the effect is wrong. It corrects itself on the next push/pop. Two probes that isolate it These narrow the cause to the control's presence rather than a general staleness: Re-assigning tableView.topEdgeEffect.style after endRefreshing(), including on a later runloop turn, does NOT correct the region. The style is not what is stale. Detaching the control DOES correct it immediately: tableView.refreshControl = nil So the region is measured from the control being in the hierarchy, and is never re-measured when the control merely collapses. Secondary issue A UIRefreshControl that has been detached is inert if the same instance is re-assigned: tableView.refreshControl = nil tableView.refreshControl = sameInstance // never triggers again A freshly constructed UIRefreshControl must be assigned instead. This is not documented and looks like a second bug. Minimal sample Attached. A UITableViewController with a refresh control and a "Push" bar button that pushes and pops an empty view controller, so the incorrect region and the post-navigation correction can be compared in one run. Related FB20756572 reports the same "edge-effect extent is stale until the next navigation" behaviour for UIScrollEdgeElementContainerInteraction sizing, and notes a change in iOS 27 seed 1. That report received no reply.
0
0
221
1d
iOS 27: print(to:) silently drops every job after the first
The problem On iOS 27, UIPrintInteractionController.print(to:completionHandler:) works on its first call in a process. Every subsequent call is accepted (print(to:) returns true and printInteractionControllerWillStartJob fires), but the completion handler is never invoked: nothing prints, didFinishJob never fires, no error is produced, and no job appears in Print Center. I expected each call to submit an independent job and invoke its completion handler, as it does on iOS 26 and earlier with the identical binary. Steps to reproduce Build an app that prints without the print panel, using a retained UIPrinter from UIPrinterPickerController. Submit a job: let controller = UIPrintInteractionController.shared let info = UIPrintInfo(dictionary: nil) info.outputType = .general info.jobName = "job-\(n)" controller.printInfo = info controller.printingItem = pdfData // valid PDF, canPrint(data) == true controller.delegate = self let started = controller.print(to: savedPrinter) { _, completed, error in print("completion", completed, String(describing: error)) } print("started", started) First job: started == true, both willStartJob and didFinishJob fire, the completion handler runs with completed == true, and the page prints. Submit a second job the same way, same process. started == true and willStartJob fires with printInfo.printerID populated and printPaper negotiated to the same values as the successful job. Then nothing. No didFinishJob, no completion handler, no error, no page, nothing in Print Center. A third job: print(to:) returns false synchronously, since the shared controller still considers job two in flight. System information iPad, iPadOS 27.0 developer beta 6 Built against iOS 26.2 SDK (Xcode 26.2). Same binary works on iOS 26. Reproduced on two unrelated printers: Brother QL-820NWB and Canon MF420 Series. Content is a small PDF (~11 to 13 KB); canPrintData: returns true. Troubleshooting tried Restarted the iPad and reinstalled the app. Each buys exactly one successful print before the failure returns. Compared observable state between the working and hung jobs. Identical in every respect. During a hang, printed the same content to the same printer from Files via the share sheet. Worked normally, including on repeat. Paused in the debugger during the hang. No blocked thread; no PrintKit frame, XPC wait, or semaphore anywhere in bt all. Called contactPrinter before each job on the retained printer. Returned true quickly, and the job still hung. Implemented printInteractionControllerParentViewController(_:) in case a presentation context was missing. UIKit never calls it on this path. Workaround Creating a new UIPrintInteractionController per job resolves it completely. A long-lived instance the app creates itself fails exactly like .shared does, so the issue is reuse of a controller that has already run a job, not the shared singleton specifically. Is per-job instantiation the supported pattern? The docs say the shared instance "represents a print job" but don't state whether a controller may be reused for a second job, and every sample I can find uses sharedPrintController with the present… methods rather than print(to:).
2
4
627
1d
Runtime crash from SwiftUI.State and variadic types from Xcode 27 Beta 3
I am seeing a weird crash from Xcode 27 Beta 3 when building a variadic type DynamicProperty that also needs SwiftUI.State. This does not crash from Xcode 26. Here is a repro: import SwiftUI struct Repeater<each Input>: DynamicProperty { @State private var storage = Storage() private var input: (repeat each Input) init(_ input: repeat each Input) { self.input = (repeat each input) } } extension Repeater { final class Storage { } } @main struct CrashDemoApp: App { private var repeater = Repeater(1) var body: some Scene { WindowGroup { EmptyView() } } } Here is the crash: Thread 1 Queue : com.apple.main-thread (serial) #0 0x000000019a93aec0 in swift::TargetMetadata<swift::InProcess>::isCanonicalStaticallySpecializedGenericMetadata () #1 0x000000019a946b38 in performOnMetadataCache<swift::MetadataResponse, swift_checkMetadataState::CheckStateCallbacks> () #2 0x000000019a8c85f0 in swift_checkMetadataState () #3 0x00000001004a2c78 in type metadata completion function for Repeater () #4 0x000000019a94cfe4 in swift::GenericCacheEntry::tryInitialize () #5 0x000000019a94c870 in swift::MetadataCacheEntryBase<swift::GenericCacheEntry, void const*>::doInitialization () #6 0x000000019a94f820 in swift::LockingConcurrentMap<swift::GenericCacheEntry, swift::LockingConcurrentMapStorage<swift::GenericCacheEntry, (unsigned short)14>>::getOrInsert<swift::MetadataCacheKey, swift::MetadataRequest&, swift::TargetTypeContextDescriptor<swift::InProcess> const*&, void const* const*&> () #7 0x000000019a93c714 in _swift_getGenericMetadata () #8 0x00000001004a4190 in __swift_instantiateGenericMetadata () #9 0x00000001004a2a5c in type metadata accessor for Repeater () #10 0x00000001004a5094 in type metadata accessor for Repeater<Pack{Int}> () #11 0x00000001004a4fcc in type metadata completion function for CrashDemoApp () #12 0x000000019a9543bc in swift::MetadataCacheEntryBase<(anonymous namespace)::SingletonMetadataCacheEntry, int>::doInitialization () #13 0x000000019a8d2ae0 in swift_getSingletonMetadata () #14 0x00000001004a479c in type metadata accessor for CrashDemoApp () #15 0x00000001004a473c in static CrashDemoApp.$main() () #16 0x00000001004a4a34 in main () #17 0x0000000186e47e00 in start () Here is a repo to demo: https://github.com/vanvoorden/2026-07-17 Please let me know if you have any ideas about that. Thanks!
Topic: UI Frameworks SubTopic: SwiftUI
7
0
1.2k
1d
Migrating a Transformable attribute from CoreData to SwiftData
I am migrating a CloudKit-synchronized multi-platform app from CoreData to SwiftData. (Xcode 27.0 beta 5). One of my Models/Entities contains a Transformable attribute, which is defined in the CoreData model editor as: and which is defined in the generated CoreData class as @NSManaged nonisolated public var authorNames: [String]? Using the built-in translation took, Xcode created a Model wich included @Attribute(.transformable(by: "NSSecureUnarchiveFromDataTransformerName")) var authorNames: [String] = [] This compiles but does not run. In the function func getModelContainer() throws -> ModelContainer { let storeURL = try FileManager.default.url( for: .applicationSupportDirectory, in: .userDomainMask, appropriateFor: nil, create: true) .appendingPathComponent(dbName) let modelConfiguration = ModelConfiguration( schema: dbSchema, url: storeURL, cloudKitDatabase: .automatic) let container = try ModelContainer( for: dbSchema, migrationPlan: MigrationPlan.self, configurations: [modelConfiguration]) return container } the app throws a fatal error in the ModelContainer initializer, SwiftData/SchemaCoreData.swift:398: Fatal error: Application must register a ValueTransformer for NSSecureUnarchiveFromDataTransformerName So I added the following line of code at the top of this function: ValueTransformer.setValueTransformer( NSSecureUnarchiveFromDataTransformer(), forName: .secureUnarchiveFromDataTransformerName) which also compiles but also throws the same fatal error in the same place. Can anyone suggest how to resolve this problem? This is a CloudKit synchronized app, so I am constrained in what I can do with this attribute.
1
0
32
1d
1 week and waiting for review. first submission
Hi, My app Wiit (version 1.0, first public release) has been in “Waiting for Review” for 7 days without moving to “In Review.”, whereas my first app took 24 hours a few months back. I’ve seen several recent threads from other developers reporting similar delays, particularly with first submissions, so I’m wondering whether there is currently a broader App Review backlog. For anyone currently submitting a first release: how long have you been waiting? And for those whose apps were eventually reviewed after a similar delay, how long did it take to move from “Waiting for Review” to “In Review”? Thanks.
1
0
85
1d
is com.apple.developer.usb.host-controller-interface managed?
I'm posting this here after reading Quinn's post here: https://developer.apple.com/forums/thread/799000 The above entitlement is mentioned in IOUSBHostControllerInterface.h. It isn't an entitlement one can add using the + button on the Capabilities panel in Xcode. If I try to add it by hand, Xcode complains that it isn't in my profile. Is this a managed entitlement? We'd like to create a local USB "device" to represent a real device reachable over a network.
12
1
2.1k
1d
App Store Server Notifications wrong purchaseDate in DID_RENEW
purchaseDate=1787743932000, originalPurchaseDate=1785065532000, expiresDate=1788348732000, quantity=1, type=<Type.AUTO_RENEWABLE_SUBSCRIPTION: 'Auto-Renewable Subscription'>, rawType='Auto-Renewable Subscription', inAppOwnershipType=<InAppOwnershipType.PURCHASED: 'PURCHASED'>, rawInAppOwnershipType='PURCHASED', signedDate=1787715151907, revocationReason=None, rawRevocationReason=None, revocationDate=None, isUpgraded=None, offerType=None, rawOfferType=None, offerIdentifier=None, environment=<Environment.PRODUCTION: 'Production'>, rawEnvironment='Production', storefront='USA', storefrontId='143441', transactionReason=<TransactionReason.RENEWAL: 'RENEWAL'>, rawTransactionReason='RENEWAL', currency='USD', price=7990, offerDiscountType=None, rawOfferDiscountType=None, offerPeriod=None) This is a piece of decode notification, you can see that the purchaseDate and signedDate ​​differ by approximately 8 hours. I can confirm that all the DID_RENEW notifications have this difference. purchaseDate=1787715089000, originalPurchaseDate=1787715089000, expiresDate=1787974289000, quantity=1, type=<Type.AUTO_RENEWABLE_SUBSCRIPTION: 'Auto-Renewable Subscription'>, rawType='Auto-Renewable Subscription', inAppOwnershipType=<InAppOwnershipType.PURCHASED: 'PURCHASED'>, rawInAppOwnershipType='PURCHASED', signedDate=1787715089920, revocationReason=None, rawRevocationReason=None, revocationDate=None, isUpgraded=None, offerType=<OfferType.INTRODUCTORY_OFFER: 1>, rawOfferType=1, offerIdentifier=None, environment=<Environment.PRODUCTION: 'Production'>, rawEnvironment='Production', storefront='IDN', storefrontId='143476', transactionReason=<TransactionReason.PURCHASE: 'PURCHASE'>, rawTransactionReason='PURCHASE', currency='IDR', price=0, offerDiscountType=<OfferDiscountType.FREE_TRIAL: 'FREE_TRIAL'>, rawOfferDiscountType='FREE_TRIAL', offerPeriod='P3D' and this is a SUBSCRIBED/INITIAL_BUY notification, it has right purchaseDate.
1
0
38
1d
NEURLFilter & Live Caller ID Lookup approved, but PIR token issuer directory returns 404 on device — filter never activates (serverSetupIncomplete)
Our NEURLFilter (URL Filter) and Live Caller ID Lookup entitlements are both Approved, but on device the URL filter never activates — the NEURLFilter session loops starting → stopped, so no URLs are filtered. App: bundle app.scamzero (App ID 6768433709) URL Filter Config ID: 224e33c9-b03b-44ce-87cd-2153c86908ce Live Caller ID Lookup Config ID: 0abdc42b-c98b-4753-8af4-9334d42abdb8 Device: iPhone on iOS 26. Test account has the paid plan that enables the feature. The system log shows the failure is fetching the Privacy Pass token issuer directory through Apple's relay (gateway.icloud.com), not our backend: ciphermld : Failed to fetch Token Issuer Directory. URL: https://gateway.icloud.com/pat-issuer-directory?issuer=issuer.scamzero.app Status Code: 404 → NEURLFilterPlugin setStatus:error — NEAgentURLFilterErrorDomain Code=3 → NESMURLFilterSession status changed to stopping with error 3 → prefilterCleanup (removes the prefilter mmap) → session restarts → loop This looks like NEURLFilterManager.Error.serverSetupIncomplete (9). What we have already verified on our side (everything conforms): We run Apple's unmodified reference PIRService (from apple/pir-service-example). Our issuer directory at https://issuer.scamzero.app/.well-known/private-token-issuer-directory returns 200 with valid token-keys (token-type 2) and issuer-request-uri. OHTTP gateway (gateway.scamzero.app/ohttp-configs and /gateway), PIR service (service.scamzero.app), use case app.scamzero.url.filtering, bearer token AAAA, DNS TXT apple-url-filter=app.scamzero, and the validation URL apple.com/url-filter-test = 1 are all configured. Our pre-launch checks pass. The precomputed Bloom prefilter loads on device with the correct bit/hash/seed and ~37k domains. Key observation: our OHTTP gateway logs show zero successful OHTTP requests from Apple's infrastructure since Aug 10, and gateway.icloud.com/pat-issuer-directory?issuer=issuer.scamzero.app returns 404 on device. This suggests our Privacy Pass issuer is not registered/validated in Apple's PAT issuer directory, even though both entitlements are Approved. Question: How can we get our Privacy Pass issuer (issuer.scamzero.app) registered/validated in Apple's token issuer directory for the use cases app.scamzero.url.filtering and Live Caller ID Lookup? The entitlements are approved, but the on-device token issuer directory lookup fails with 404, which prevents the filter from ever activating. Happy to file a Feedback with a sysdiagnose if useful.
0
0
31
1d
Stress-testing Metal compute pipelines using Autolykos workload characteristics
I have been using a small macOS research project to exercise Metal with a workload that differs from rendering and dense machine-learning kernels. Autolykos v2 is useful for this because it combines a large, height-dependent working set with pseudo-random reads, integer-heavy hashing, sustained execution, and periodic replacement of the dataset. The project happens to be a miner, but my question here is strictly about Metal compute behaviour. On the Apple M4 system used for these measurements, the full dataset contained 216,430,305 elements of 32 bytes each: 6.93 GB, or about 6.45 GiB, held in a .storageModePrivate buffer. For every nonce, the search kernel: computes an index seed, performs 32 pseudo-random 32-byte dataset reads, accumulates the eight 32-bit limbs into a 256-bit sum, and applies a final BLAKE2b compression and target comparison. The normal dispatch uses 128 threads per threadgroup. The wider pipeline also builds the next height's dataset in chunks on a separate command queue while search continues, and keeps two search command buffers in flight. I record command-buffer wall time, gpuStartTime/gpuEndTime, unions of overlapping intervals, and thermal state. To estimate the ceiling imposed by the random gathers, I added a non-consensus microbenchmark. It retains the normal seed calculation, index distribution, all 32 dataset reads, and the complete accumulation, but omits the final BLAKE2b compression. The accumulated result remains observable through a comparison, so the gather loop cannot simply disappear. I expected this stripped kernel to be at least slightly faster. Instead, an order-balanced campaign on an M4 produced: complete search kernel: 3.108 million nonces/s median active throughput gather-only kernel: 2.952 million nonces/s ratio: 105.3% All four same-round ratios were between 103.18% and 105.74%. Each measured run used the full dataset, a 30-second search interval, an excluded warm-up, and a start-temperature gate below 50 °C. Both compute pipeline states reported maxTotalThreadsPerThreadgroup == 1024. My conservative conclusion was not to pursue speculative register-pressure or manual memory-level-parallelism rewrites. The access pattern appears sufficiently dominant, while the supposedly simpler microbenchmark may have changed the compiled pipeline in a way that makes it a poor upper-bound model. My questions are: Can removing the trailing arithmetic legitimately make a memory-latency-heavy Metal kernel slower by changing register allocation, instruction scheduling, or the amount of useful latency hiding? Or would you first suspect a flaw in this kind of gather-only benchmark construction? Also, which Metal GPU counters are the most reliable way to distinguish memory-latency saturation from register-limited occupancy in a long-running compute kernel? I am looking at compute occupancy, buffer and ALU limiters, bandwidth, and cache behaviour, but maxTotalThreadsPerThreadgroup alone is clearly too coarse to explain the result. This is one hardware-specific observation rather than a general claim about Apple GPUs. If useful, I can reduce the workload to a smaller standalone reproducer. The source code, benchmark driver, and complete campaign report are available here: https://github.com/giffeler/ergometal The detailed measurements and validation procedure for this comparison are documented here: https://github.com/giffeler/ergometal/blob/main/Benchmarks/2026-08-15-search-gather-ceiling-ab.md
0
0
216
1d
Developer Program Enrollment Issue Has Remained Unresolved
I have been trying to enroll in the Apple Developer Program, but I was informed that there is an issue with my account information. However, I have not been told what the specific issue is or what I need to correct. I have contacted Apple Support several times, but the issue remains unresolved and I have yet to receive any clear guidance. Could an Apple representative please review my case and let me know how I can proceed? Apple Account email: jiasonjiason***@gmail.com Thank you.
0
0
32
1d
Correcting a line item on an already-submitted DriverKit USB Transport request
We ship an iPadOS app with an embedded USBDriverKit extension that drives Citizen/DNP dye-sub photo printers. It works: on a development-provisioned iPad the dext registers, matches, opens its user client and prints, verified on two units in hand (DNP DS-RX1 0x1343:0x0005, DNP QW410 0x1452:0x9201). The extension declares twelve IOKitPersonalities, each pinned to one exact idVendor/idProduct pair plus bConfigurationValue and bInterfaceNumber. Those twelve span two vendor IDs — 4931 (0x1343, Citizen Systems) and 5202 (0x1452, Dai Nippon Printing) — because the same printer families ship Citizen-badged on one and DNP-badged on the other. We have one USB Transport – VendorID request per vendor ID, both currently Submitted. Thread 842748 already answered the scope question for us, so I'm not asking that one: at twelve devices we read vendor-level as the right ask rather than twelve VendorID+ProductID requests, and we've kept the personalities narrow so the entitlement is a ceiling rather than what actually matches. Please correct me if that's the wrong reading for two vendor IDs rather than one. My actual question is about a mistake in one of the submissions. The older request also asked for UserClient Access, which we now understand is macOS-only (com.apple.developer.driverkit.userclient-access lists DRIVER_KIT and MAC_OS, not IOS). We don't need it — on iPadOS the app opens the dext's user client with com.apple.developer.driverkit.communicates-with-drivers, which needs no approval. Does an inapplicable entitlement on a submitted request need to be formally withdrawn, or is it simply ignored during review? I'd rather not leave a macOS-only entitlement sitting on an iPadOS request if that's something a reviewer has to resolve. If it does need correcting, what's the mechanism? Re-filing would create a third request, and I'd rather not muddy the queue. (Developer Support told me request handling is outside their scope, which is what brings me here.) Is there any way to indicate that two requests belong to one driver extension and are only useful together? Happy to post the Info.plist personalities or the dext's entitlements if useful. Thank you.
1
0
47
1d
iOS 26: .inlineLarge collapsed bar loses its title and bar material after scroll collapse when a custom .largeTitle ToolbarItem is present (FB24528594)
On iOS 26.5, combining the .inlineLarge navigation bar mode with a custom ToolbarItem(placement: .largeTitle) breaks the collapsed bar: after any scroll collapse, the compact bar renders with no title, no bar material or scroll edge treatment, and content draws through the status bar. It recovers on re-expansion. Details from my minimal repro (filed as FB24528594, single-file project attached to the report): The .title item is not required to trigger it. .inlineLarge plus only a custom ToolbarItem(placement: .largeTitle) reproduces it on every collapse. A .largeSubtitle item alone does not trigger it. Adding one alongside the .largeTitle item breaks the same way, with the subtitle content vanishing too. Reproduces 100% on the iOS 26.5 simulator (Xcode 26.6), light and dark. Workarounds tried without success: setting navigationItem.titleView does not hold, because SwiftUI re-renders the compact title after toolbar churn. Two questions for the engineering team: is this a known bug, and is there any supported way to keep a custom large-title toolbar arrangement while preserving the compact bar's title and material through collapse? I have a design that places an avatar in the large-title row and this is currently the blocker. Happy to provide anything beyond what's in FB24528594.
0
0
25
1d
Maximizing camera features for analysis
When building apps, how can I maximize my camera features while using an app to scan and analyze textiles? Is there an integration that has to be inputted that catalogs every fabric type or AI models are able to learn fabric type from every scan? also what is the process/code of including visionOS to scan fabric types to catalog on devices such as smartphones and computers?
Replies
0
Boosts
0
Views
26
Activity
1d
Is there any way to reconstruct a corrupted APFS root tree?
Hi everyone. I've been at this for about 9 hours already but I just needed to ask this somewhere where somebody with experience might pop up. As usual, I left my iPhone backing up its photos and videos to a Photos library in an APFS 1TB Western Digital HDD drive. Today I woke up with an error window saying that the drive is corrupted in some way. Here are the steps that followed: 1- Tried to mount the drive in Disk Utility -> doesn't work 2- Ran first aid in Disk Utility -> doesn't work 3- fsck_apfs with multiple different options in Terminal -> doesn't work 4- Used ddrescue to clone the corrupted hard drive to a 2TB drive -> worked fine with no unreadable/corrupt sectors. 5- I downloaded the WD Drive Utilities and the quick drive test passed -> no error. 6- Called Apple Support (shout out to Imelda for being incredibly nice and experienced) but it seems the only solution is to erase the drive or contact WD. This is not an option for me since it's got my photos library from the last decade. I had a backup in another drive but it's very out of date. I just bought a NAS to transfer it all to a safer place, so the timing for this to happen is the worst case. 7- I noticed that in the Library folder in my Mac, I got a 1.3GB Photos library with many thumbnails of the pictures I was importing last night. The filename is Syndication.photoslibrary. Here's the log from fsck_apfs fsck_apfs Log After all the steps I took, it seems to me that: A- The hard drive is completely fine hardware-wise, evidenced by points 4 and 5. So I would assume that WD can't really help me recover my data. B- The "only" thing that's broken is the apfs_root. So my question is if there is some sort of way to reconstruct the root tree somehow. I would assume that this structure is only partially broken and that there are addresses that it should point to properly, that can support some sort of more involved recovery process. I tried reading the APFS documentation but I'm currently very emotionally distressed at the potential loss of my data that I can't parse that information right now. Does anybody have any clue if something can be done about this? Some sort of script? Literally anything. Many thanks in advance. Best, Andres PS: Please let me know if this forum is the appropriate place for this question. I'm mostly posting here since I feel this is a more advanced subject and I need all the help I can get.
Replies
1
Boosts
0
Views
54
Activity
1d
Is activityType isolated between CLLocationManager and CLLocationUpdate.liveUpdates?
I am testing two Core Location clients running concurrently: V1: a delegate-based CLLocationManager with activityType set to .other V2: CLLocationUpdate.liveUpdates(.otherNavigation) I expect each client’s activityType and location processing to remain isolated. However, while V1 is running, V2 sometimes reports coordinates with a southward bend that appears aligned with a nearby mapped road. This occurs when traveling off-road beside that road. As a control, two independent delegate-based CLLocationManager instances remain independent and do not produce this bend. Reproduction steps: Grant Precise Location access with When In Use authorization. Start V1 and V2 together. Travel off-road beside a mapped road. Log each update’s source, timestamp, latitude, and longitude. Environment: iPhone 17 Pro iOS 26.6.1 (23G83) Xcode 26.6 (17F113) macOS 26.6.2 Is activityType expected to remain isolated when CLLocationManager and CLLocationUpdate run concurrently? What diagnostics would Apple recommend collecting to determine whether one client is affecting the other? I can provide the focused LocationActivityTypeBugSample project, raw logs, and an annotated screenshot.
Replies
2
Boosts
0
Views
112
Activity
1d
Pending Termination Notice – Guideline 5.6.2 Developer Identity – Seeking Help
Hello, I received a Pending Termination Notice today under Section 3.2(f) and App Review Guideline 5.6.2 – Developer Identity. I am the legitimate Account Holder and developer, and I do not recognize any fraudulent activity associated with my account. I have already submitted an appeal to the App Review Board and contacted Apple Developer Support by phone and through a support case. I have reviewed all of my personal and account information. I am fully willing to cooperate with Apple and provide any official documentation required to verify my identity, including a government-issued ID, proof of address, banking documentation, or any other supporting documents. I would really appreciate hearing from anyone who has experienced a similar 5.6.2 Developer Identity termination notice. Has anyone successfully resolved this through the appeal process or additional identity verification? How long did Apple take to respond, and was the app restored afterward? Any guidance or experience would be greatly appreciate d. Thank you.
Replies
0
Boosts
0
Views
21
Activity
1d
Update: got a Guideline 2.1 info request, but running out of time to wait on a reply
Update: got a Guideline 2.1 info request, but running out of time to wait on a reply Following up again on my earlier posts (Submission ID: 1522a8de-defd-44f8-92e8-9edbb0d85c28). After three rounds of review (Aug 17, Aug 25, and now Aug 27), App Review sent a Guideline 2.1 request today asking a straightforward question: whether a registered company account can use the app free indefinitely, or has to subscribe eventually. I've replied with a clear, direct answer (agencies get a 30-day trial, then must subscribe, there's no free indefinite tier). Given this submission has already taken over a week with responses averaging several days apart, I'm hoping to avoid another long wait for someone to actually read this reply. If any fellow developers have advice on getting a straightforward info-request reply seen faster, whether that's a specific escalation path, a call script that's worked for you, or just confirmation that this is normal right now, I'd really appreciate it. Happy to share more details about the app/business model if it helps anyone weigh in. Thanks for reading this far.
Replies
0
Boosts
0
Views
47
Activity
1d
Pending Termination Notice Under Section 3.2(f) – Seeking Guidance Regarding Developer Identity Verification
Pending Termination Notice Under Section 3.2(f) – Seeking Guidance Regarding Developer Identity Verification Hello, Case ID: 20000132641773 I am seeking guidance regarding a Pending Termination Notice that I recently received under Section 3.2(f) and App Review Guideline 5.6.2 (Developer Identity). I fully respect Apple's policies and have always tried to operate within the App Store guidelines. However, I am struggling to understand the identity-related concerns mentioned in the notice. My Situation I enrolled in the Apple Developer Program as an Individual developer. I completed the standard enrollment process and paid the membership fee. My developer account was approved and activated by Apple. During enrollment, I was not asked to upload a passport, National ID Card, driver's license, or any other identity verification documents. The account has been active for several years. I have multiple published applications and have invested significant resources into their development and growth. My Main Concern The notice states that Apple believes fraudulent or false identity information may have been provided. However: I have never intentionally misrepresented my identity. The name on the account belongs to me. I am fully willing to complete any identity verification process. I can immediately provide my Passport, National ID Card, Driver's License, proof of address, or any other documents Apple may require. Significant Business Impact The termination notice has affected all applications associated with my account. As a result: App transfers are disabled. Earnings payments are paused. Existing applications are impacted. Ongoing user acquisition and marketing campaigns have been disrupted. I have invested heavily in growing these applications, including substantial advertising spend through Meta Ads and other marketing channels. I can provide supporting evidence of advertising activity, installs, traffic, and user acquisition if requested. Questions Has anyone successfully resolved a similar Developer Identity (5.6.2) issue through additional verification? Has Apple allowed developers to submit identity documents after receiving a Pending Termination Notice? Is there any recommended approach when the developer is fully willing to verify their identity but was never previously asked to submit identity documents? I have already submitted an appeal and expressed my willingness to provide any form of identity verification required by Apple. Any guidance from Apple staff or developers who have experienced a similar situation would be greatly appreciated. Thank you.
Replies
1
Boosts
1
Views
274
Activity
1d
Automix in Apple Music is inoperative in iPadOS 27 Beta 1 and later version on iPad Pro (M4)
After updating 13-inch iPad Pro (M4, 1TB, cellular model) to iPadOS 27 Beta 1 and later version, the automix mode in the Music app has stopped working. I have confirmed this issue is unrelated to my subscription status. I tried toggling the Song Transition option back on in Settings and switching to the Crossfade mode, but the problem persists—the Song Transition button inside the Music app remains grayed out and unavailable.
Replies
2
Boosts
3
Views
614
Activity
1d
iOS 27: Scroll edge effect region sizes on UIRefreshControl presence, not its height
Summary On iOS 27 the top scroll edge effect of a UITableView is sized around the UIRefreshControl as an edge element, but appears to key on the control's presence in the scroll view rather than its current height. After endRefreshing(), the control collapses to zero height but stays attached, and the effect region keeps reserving a refresh-control's worth of space. The first row stays blurred and dimmed even though it is scrolled fully clear of the navigation bar. Environment iOS 27 (beta), iPhone Xcode 27.0.0 Beta 4 UIKit, UITableView inside a UINavigationController Reproduces with the default edge effect style and with an explicit .soft Steps to reproduce Push a UITableViewController with a UIRefreshControl onto a navigation stack. Ensure content extends under the navigation bar (default for UITableViewController). Pull to refresh and let the refresh end. Observe the first row after the refresh control has retracted. Expected Once the control retracts, the edge effect returns to its pre-pull height and the first row renders crisply. Actual The region stays roughly one refresh-control height too tall and the first row stays blurred. Row positions are unaffected — content offset and adjustedContentInset are correct. Only the extent of the effect is wrong. It corrects itself on the next push/pop. Two probes that isolate it These narrow the cause to the control's presence rather than a general staleness: Re-assigning tableView.topEdgeEffect.style after endRefreshing(), including on a later runloop turn, does NOT correct the region. The style is not what is stale. Detaching the control DOES correct it immediately: tableView.refreshControl = nil So the region is measured from the control being in the hierarchy, and is never re-measured when the control merely collapses. Secondary issue A UIRefreshControl that has been detached is inert if the same instance is re-assigned: tableView.refreshControl = nil tableView.refreshControl = sameInstance // never triggers again A freshly constructed UIRefreshControl must be assigned instead. This is not documented and looks like a second bug. Minimal sample Attached. A UITableViewController with a refresh control and a "Push" bar button that pushes and pops an empty view controller, so the incorrect region and the post-navigation correction can be compared in one run. Related FB20756572 reports the same "edge-effect extent is stale until the next navigation" behaviour for UIScrollEdgeElementContainerInteraction sizing, and notes a change in iOS 27 seed 1. That report received no reply.
Replies
0
Boosts
0
Views
221
Activity
1d
iOS 27: print(to:) silently drops every job after the first
The problem On iOS 27, UIPrintInteractionController.print(to:completionHandler:) works on its first call in a process. Every subsequent call is accepted (print(to:) returns true and printInteractionControllerWillStartJob fires), but the completion handler is never invoked: nothing prints, didFinishJob never fires, no error is produced, and no job appears in Print Center. I expected each call to submit an independent job and invoke its completion handler, as it does on iOS 26 and earlier with the identical binary. Steps to reproduce Build an app that prints without the print panel, using a retained UIPrinter from UIPrinterPickerController. Submit a job: let controller = UIPrintInteractionController.shared let info = UIPrintInfo(dictionary: nil) info.outputType = .general info.jobName = "job-\(n)" controller.printInfo = info controller.printingItem = pdfData // valid PDF, canPrint(data) == true controller.delegate = self let started = controller.print(to: savedPrinter) { _, completed, error in print("completion", completed, String(describing: error)) } print("started", started) First job: started == true, both willStartJob and didFinishJob fire, the completion handler runs with completed == true, and the page prints. Submit a second job the same way, same process. started == true and willStartJob fires with printInfo.printerID populated and printPaper negotiated to the same values as the successful job. Then nothing. No didFinishJob, no completion handler, no error, no page, nothing in Print Center. A third job: print(to:) returns false synchronously, since the shared controller still considers job two in flight. System information iPad, iPadOS 27.0 developer beta 6 Built against iOS 26.2 SDK (Xcode 26.2). Same binary works on iOS 26. Reproduced on two unrelated printers: Brother QL-820NWB and Canon MF420 Series. Content is a small PDF (~11 to 13 KB); canPrintData: returns true. Troubleshooting tried Restarted the iPad and reinstalled the app. Each buys exactly one successful print before the failure returns. Compared observable state between the working and hung jobs. Identical in every respect. During a hang, printed the same content to the same printer from Files via the share sheet. Worked normally, including on repeat. Paused in the debugger during the hang. No blocked thread; no PrintKit frame, XPC wait, or semaphore anywhere in bt all. Called contactPrinter before each job on the retained printer. Returned true quickly, and the job still hung. Implemented printInteractionControllerParentViewController(_:) in case a presentation context was missing. UIKit never calls it on this path. Workaround Creating a new UIPrintInteractionController per job resolves it completely. A long-lived instance the app creates itself fails exactly like .shared does, so the issue is reuse of a controller that has already run a job, not the shared singleton specifically. Is per-job instantiation the supported pattern? The docs say the shared instance "represents a print job" but don't state whether a controller may be reused for a second job, and every sample I can find uses sharedPrintController with the present… methods rather than print(to:).
Replies
2
Boosts
4
Views
627
Activity
1d
Runtime crash from SwiftUI.State and variadic types from Xcode 27 Beta 3
I am seeing a weird crash from Xcode 27 Beta 3 when building a variadic type DynamicProperty that also needs SwiftUI.State. This does not crash from Xcode 26. Here is a repro: import SwiftUI struct Repeater<each Input>: DynamicProperty { @State private var storage = Storage() private var input: (repeat each Input) init(_ input: repeat each Input) { self.input = (repeat each input) } } extension Repeater { final class Storage { } } @main struct CrashDemoApp: App { private var repeater = Repeater(1) var body: some Scene { WindowGroup { EmptyView() } } } Here is the crash: Thread 1 Queue : com.apple.main-thread (serial) #0 0x000000019a93aec0 in swift::TargetMetadata<swift::InProcess>::isCanonicalStaticallySpecializedGenericMetadata () #1 0x000000019a946b38 in performOnMetadataCache<swift::MetadataResponse, swift_checkMetadataState::CheckStateCallbacks> () #2 0x000000019a8c85f0 in swift_checkMetadataState () #3 0x00000001004a2c78 in type metadata completion function for Repeater () #4 0x000000019a94cfe4 in swift::GenericCacheEntry::tryInitialize () #5 0x000000019a94c870 in swift::MetadataCacheEntryBase<swift::GenericCacheEntry, void const*>::doInitialization () #6 0x000000019a94f820 in swift::LockingConcurrentMap<swift::GenericCacheEntry, swift::LockingConcurrentMapStorage<swift::GenericCacheEntry, (unsigned short)14>>::getOrInsert<swift::MetadataCacheKey, swift::MetadataRequest&, swift::TargetTypeContextDescriptor<swift::InProcess> const*&, void const* const*&> () #7 0x000000019a93c714 in _swift_getGenericMetadata () #8 0x00000001004a4190 in __swift_instantiateGenericMetadata () #9 0x00000001004a2a5c in type metadata accessor for Repeater () #10 0x00000001004a5094 in type metadata accessor for Repeater<Pack{Int}> () #11 0x00000001004a4fcc in type metadata completion function for CrashDemoApp () #12 0x000000019a9543bc in swift::MetadataCacheEntryBase<(anonymous namespace)::SingletonMetadataCacheEntry, int>::doInitialization () #13 0x000000019a8d2ae0 in swift_getSingletonMetadata () #14 0x00000001004a479c in type metadata accessor for CrashDemoApp () #15 0x00000001004a473c in static CrashDemoApp.$main() () #16 0x00000001004a4a34 in main () #17 0x0000000186e47e00 in start () Here is a repo to demo: https://github.com/vanvoorden/2026-07-17 Please let me know if you have any ideas about that. Thanks!
Topic: UI Frameworks SubTopic: SwiftUI
Replies
7
Boosts
0
Views
1.2k
Activity
1d
Migrating a Transformable attribute from CoreData to SwiftData
I am migrating a CloudKit-synchronized multi-platform app from CoreData to SwiftData. (Xcode 27.0 beta 5). One of my Models/Entities contains a Transformable attribute, which is defined in the CoreData model editor as: and which is defined in the generated CoreData class as @NSManaged nonisolated public var authorNames: [String]? Using the built-in translation took, Xcode created a Model wich included @Attribute(.transformable(by: "NSSecureUnarchiveFromDataTransformerName")) var authorNames: [String] = [] This compiles but does not run. In the function func getModelContainer() throws -> ModelContainer { let storeURL = try FileManager.default.url( for: .applicationSupportDirectory, in: .userDomainMask, appropriateFor: nil, create: true) .appendingPathComponent(dbName) let modelConfiguration = ModelConfiguration( schema: dbSchema, url: storeURL, cloudKitDatabase: .automatic) let container = try ModelContainer( for: dbSchema, migrationPlan: MigrationPlan.self, configurations: [modelConfiguration]) return container } the app throws a fatal error in the ModelContainer initializer, SwiftData/SchemaCoreData.swift:398: Fatal error: Application must register a ValueTransformer for NSSecureUnarchiveFromDataTransformerName So I added the following line of code at the top of this function: ValueTransformer.setValueTransformer( NSSecureUnarchiveFromDataTransformer(), forName: .secureUnarchiveFromDataTransformerName) which also compiles but also throws the same fatal error in the same place. Can anyone suggest how to resolve this problem? This is a CloudKit synchronized app, so I am constrained in what I can do with this attribute.
Replies
1
Boosts
0
Views
32
Activity
1d
1 week and waiting for review. first submission
Hi, My app Wiit (version 1.0, first public release) has been in “Waiting for Review” for 7 days without moving to “In Review.”, whereas my first app took 24 hours a few months back. I’ve seen several recent threads from other developers reporting similar delays, particularly with first submissions, so I’m wondering whether there is currently a broader App Review backlog. For anyone currently submitting a first release: how long have you been waiting? And for those whose apps were eventually reviewed after a similar delay, how long did it take to move from “Waiting for Review” to “In Review”? Thanks.
Replies
1
Boosts
0
Views
85
Activity
1d
is com.apple.developer.usb.host-controller-interface managed?
I'm posting this here after reading Quinn's post here: https://developer.apple.com/forums/thread/799000 The above entitlement is mentioned in IOUSBHostControllerInterface.h. It isn't an entitlement one can add using the + button on the Capabilities panel in Xcode. If I try to add it by hand, Xcode complains that it isn't in my profile. Is this a managed entitlement? We'd like to create a local USB "device" to represent a real device reachable over a network.
Replies
12
Boosts
1
Views
2.1k
Activity
1d
App Store Server Notifications wrong purchaseDate in DID_RENEW
purchaseDate=1787743932000, originalPurchaseDate=1785065532000, expiresDate=1788348732000, quantity=1, type=<Type.AUTO_RENEWABLE_SUBSCRIPTION: 'Auto-Renewable Subscription'>, rawType='Auto-Renewable Subscription', inAppOwnershipType=<InAppOwnershipType.PURCHASED: 'PURCHASED'>, rawInAppOwnershipType='PURCHASED', signedDate=1787715151907, revocationReason=None, rawRevocationReason=None, revocationDate=None, isUpgraded=None, offerType=None, rawOfferType=None, offerIdentifier=None, environment=<Environment.PRODUCTION: 'Production'>, rawEnvironment='Production', storefront='USA', storefrontId='143441', transactionReason=<TransactionReason.RENEWAL: 'RENEWAL'>, rawTransactionReason='RENEWAL', currency='USD', price=7990, offerDiscountType=None, rawOfferDiscountType=None, offerPeriod=None) This is a piece of decode notification, you can see that the purchaseDate and signedDate ​​differ by approximately 8 hours. I can confirm that all the DID_RENEW notifications have this difference. purchaseDate=1787715089000, originalPurchaseDate=1787715089000, expiresDate=1787974289000, quantity=1, type=<Type.AUTO_RENEWABLE_SUBSCRIPTION: 'Auto-Renewable Subscription'>, rawType='Auto-Renewable Subscription', inAppOwnershipType=<InAppOwnershipType.PURCHASED: 'PURCHASED'>, rawInAppOwnershipType='PURCHASED', signedDate=1787715089920, revocationReason=None, rawRevocationReason=None, revocationDate=None, isUpgraded=None, offerType=<OfferType.INTRODUCTORY_OFFER: 1>, rawOfferType=1, offerIdentifier=None, environment=<Environment.PRODUCTION: 'Production'>, rawEnvironment='Production', storefront='IDN', storefrontId='143476', transactionReason=<TransactionReason.PURCHASE: 'PURCHASE'>, rawTransactionReason='PURCHASE', currency='IDR', price=0, offerDiscountType=<OfferDiscountType.FREE_TRIAL: 'FREE_TRIAL'>, rawOfferDiscountType='FREE_TRIAL', offerPeriod='P3D' and this is a SUBSCRIBED/INITIAL_BUY notification, it has right purchaseDate.
Replies
1
Boosts
0
Views
38
Activity
1d
NEURLFilter & Live Caller ID Lookup approved, but PIR token issuer directory returns 404 on device — filter never activates (serverSetupIncomplete)
Our NEURLFilter (URL Filter) and Live Caller ID Lookup entitlements are both Approved, but on device the URL filter never activates — the NEURLFilter session loops starting → stopped, so no URLs are filtered. App: bundle app.scamzero (App ID 6768433709) URL Filter Config ID: 224e33c9-b03b-44ce-87cd-2153c86908ce Live Caller ID Lookup Config ID: 0abdc42b-c98b-4753-8af4-9334d42abdb8 Device: iPhone on iOS 26. Test account has the paid plan that enables the feature. The system log shows the failure is fetching the Privacy Pass token issuer directory through Apple's relay (gateway.icloud.com), not our backend: ciphermld : Failed to fetch Token Issuer Directory. URL: https://gateway.icloud.com/pat-issuer-directory?issuer=issuer.scamzero.app Status Code: 404 → NEURLFilterPlugin setStatus:error — NEAgentURLFilterErrorDomain Code=3 → NESMURLFilterSession status changed to stopping with error 3 → prefilterCleanup (removes the prefilter mmap) → session restarts → loop This looks like NEURLFilterManager.Error.serverSetupIncomplete (9). What we have already verified on our side (everything conforms): We run Apple's unmodified reference PIRService (from apple/pir-service-example). Our issuer directory at https://issuer.scamzero.app/.well-known/private-token-issuer-directory returns 200 with valid token-keys (token-type 2) and issuer-request-uri. OHTTP gateway (gateway.scamzero.app/ohttp-configs and /gateway), PIR service (service.scamzero.app), use case app.scamzero.url.filtering, bearer token AAAA, DNS TXT apple-url-filter=app.scamzero, and the validation URL apple.com/url-filter-test = 1 are all configured. Our pre-launch checks pass. The precomputed Bloom prefilter loads on device with the correct bit/hash/seed and ~37k domains. Key observation: our OHTTP gateway logs show zero successful OHTTP requests from Apple's infrastructure since Aug 10, and gateway.icloud.com/pat-issuer-directory?issuer=issuer.scamzero.app returns 404 on device. This suggests our Privacy Pass issuer is not registered/validated in Apple's PAT issuer directory, even though both entitlements are Approved. Question: How can we get our Privacy Pass issuer (issuer.scamzero.app) registered/validated in Apple's token issuer directory for the use cases app.scamzero.url.filtering and Live Caller ID Lookup? The entitlements are approved, but the on-device token issuer directory lookup fails with 404, which prevents the filter from ever activating. Happy to file a Feedback with a sysdiagnose if useful.
Replies
0
Boosts
0
Views
31
Activity
1d
Stress-testing Metal compute pipelines using Autolykos workload characteristics
I have been using a small macOS research project to exercise Metal with a workload that differs from rendering and dense machine-learning kernels. Autolykos v2 is useful for this because it combines a large, height-dependent working set with pseudo-random reads, integer-heavy hashing, sustained execution, and periodic replacement of the dataset. The project happens to be a miner, but my question here is strictly about Metal compute behaviour. On the Apple M4 system used for these measurements, the full dataset contained 216,430,305 elements of 32 bytes each: 6.93 GB, or about 6.45 GiB, held in a .storageModePrivate buffer. For every nonce, the search kernel: computes an index seed, performs 32 pseudo-random 32-byte dataset reads, accumulates the eight 32-bit limbs into a 256-bit sum, and applies a final BLAKE2b compression and target comparison. The normal dispatch uses 128 threads per threadgroup. The wider pipeline also builds the next height's dataset in chunks on a separate command queue while search continues, and keeps two search command buffers in flight. I record command-buffer wall time, gpuStartTime/gpuEndTime, unions of overlapping intervals, and thermal state. To estimate the ceiling imposed by the random gathers, I added a non-consensus microbenchmark. It retains the normal seed calculation, index distribution, all 32 dataset reads, and the complete accumulation, but omits the final BLAKE2b compression. The accumulated result remains observable through a comparison, so the gather loop cannot simply disappear. I expected this stripped kernel to be at least slightly faster. Instead, an order-balanced campaign on an M4 produced: complete search kernel: 3.108 million nonces/s median active throughput gather-only kernel: 2.952 million nonces/s ratio: 105.3% All four same-round ratios were between 103.18% and 105.74%. Each measured run used the full dataset, a 30-second search interval, an excluded warm-up, and a start-temperature gate below 50 °C. Both compute pipeline states reported maxTotalThreadsPerThreadgroup == 1024. My conservative conclusion was not to pursue speculative register-pressure or manual memory-level-parallelism rewrites. The access pattern appears sufficiently dominant, while the supposedly simpler microbenchmark may have changed the compiled pipeline in a way that makes it a poor upper-bound model. My questions are: Can removing the trailing arithmetic legitimately make a memory-latency-heavy Metal kernel slower by changing register allocation, instruction scheduling, or the amount of useful latency hiding? Or would you first suspect a flaw in this kind of gather-only benchmark construction? Also, which Metal GPU counters are the most reliable way to distinguish memory-latency saturation from register-limited occupancy in a long-running compute kernel? I am looking at compute occupancy, buffer and ALU limiters, bandwidth, and cache behaviour, but maxTotalThreadsPerThreadgroup alone is clearly too coarse to explain the result. This is one hardware-specific observation rather than a general claim about Apple GPUs. If useful, I can reduce the workload to a smaller standalone reproducer. The source code, benchmark driver, and complete campaign report are available here: https://github.com/giffeler/ergometal The detailed measurements and validation procedure for this comparison are documented here: https://github.com/giffeler/ergometal/blob/main/Benchmarks/2026-08-15-search-gather-ceiling-ab.md
Replies
0
Boosts
0
Views
216
Activity
1d
App API and Native iOS Understanding with Image capture and Corporate Reporting
I would like to understand the foundations of connecting my apps api structure to corporate reporting in regards to textile manufacturing. utilizing the core ML and vision through smartphone to link raw data capture and strategic execution.
Replies
0
Boosts
0
Views
217
Activity
1d
Developer Program Enrollment Issue Has Remained Unresolved
I have been trying to enroll in the Apple Developer Program, but I was informed that there is an issue with my account information. However, I have not been told what the specific issue is or what I need to correct. I have contacted Apple Support several times, but the issue remains unresolved and I have yet to receive any clear guidance. Could an Apple representative please review my case and let me know how I can proceed? Apple Account email: jiasonjiason***@gmail.com Thank you.
Replies
0
Boosts
0
Views
32
Activity
1d
Correcting a line item on an already-submitted DriverKit USB Transport request
We ship an iPadOS app with an embedded USBDriverKit extension that drives Citizen/DNP dye-sub photo printers. It works: on a development-provisioned iPad the dext registers, matches, opens its user client and prints, verified on two units in hand (DNP DS-RX1 0x1343:0x0005, DNP QW410 0x1452:0x9201). The extension declares twelve IOKitPersonalities, each pinned to one exact idVendor/idProduct pair plus bConfigurationValue and bInterfaceNumber. Those twelve span two vendor IDs — 4931 (0x1343, Citizen Systems) and 5202 (0x1452, Dai Nippon Printing) — because the same printer families ship Citizen-badged on one and DNP-badged on the other. We have one USB Transport – VendorID request per vendor ID, both currently Submitted. Thread 842748 already answered the scope question for us, so I'm not asking that one: at twelve devices we read vendor-level as the right ask rather than twelve VendorID+ProductID requests, and we've kept the personalities narrow so the entitlement is a ceiling rather than what actually matches. Please correct me if that's the wrong reading for two vendor IDs rather than one. My actual question is about a mistake in one of the submissions. The older request also asked for UserClient Access, which we now understand is macOS-only (com.apple.developer.driverkit.userclient-access lists DRIVER_KIT and MAC_OS, not IOS). We don't need it — on iPadOS the app opens the dext's user client with com.apple.developer.driverkit.communicates-with-drivers, which needs no approval. Does an inapplicable entitlement on a submitted request need to be formally withdrawn, or is it simply ignored during review? I'd rather not leave a macOS-only entitlement sitting on an iPadOS request if that's something a reviewer has to resolve. If it does need correcting, what's the mechanism? Re-filing would create a third request, and I'd rather not muddy the queue. (Developer Support told me request handling is outside their scope, which is what brings me here.) Is there any way to indicate that two requests belong to one driver extension and are only useful together? Happy to post the Info.plist personalities or the dext's entitlements if useful. Thank you.
Replies
1
Boosts
0
Views
47
Activity
1d
iOS 26: .inlineLarge collapsed bar loses its title and bar material after scroll collapse when a custom .largeTitle ToolbarItem is present (FB24528594)
On iOS 26.5, combining the .inlineLarge navigation bar mode with a custom ToolbarItem(placement: .largeTitle) breaks the collapsed bar: after any scroll collapse, the compact bar renders with no title, no bar material or scroll edge treatment, and content draws through the status bar. It recovers on re-expansion. Details from my minimal repro (filed as FB24528594, single-file project attached to the report): The .title item is not required to trigger it. .inlineLarge plus only a custom ToolbarItem(placement: .largeTitle) reproduces it on every collapse. A .largeSubtitle item alone does not trigger it. Adding one alongside the .largeTitle item breaks the same way, with the subtitle content vanishing too. Reproduces 100% on the iOS 26.5 simulator (Xcode 26.6), light and dark. Workarounds tried without success: setting navigationItem.titleView does not hold, because SwiftUI re-renders the compact title after toolbar churn. Two questions for the engineering team: is this a known bug, and is there any supported way to keep a custom large-title toolbar arrangement while preserving the compact bar's title and material through collapse? I have a design that places an avatar in the large-title row and this is currently the blocker. Happy to provide anything beyond what's in FB24528594.
Replies
0
Boosts
0
Views
25
Activity
1d