How I can get iCloud photo file size?
Could I use private API like this in prod? Does anyone know another way? (without downloading the file to the device)
func getFileSize(asset: PHAsset) -> Int64? {
let resources = PHAssetResource.assetResources(for: asset)
let resource = resources.first
let size = resource?.value(forKey: "fileSize") as? Int64
return size
}
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I am submitting my first macOS app for notarization and all submissions have been stuck at "In Progress" for over 24-36 hours. The notarytool log command returns "Submission log is not yet available" for all of them.
App details:
macOS menu bar app (Apple Silicon only, arm64)
Signed with Developer ID Application certificate
Hardened Runtime enabled
Secure timestamp included
No get-task-allow entitlement
Team ID: 3426FSU868
Submission history:
bd5a8bf3-809f-42d5-9ab3-1cb665e4dfa6 (Mar 3, 13:02 UTC) - Status: Invalid
This was expected. It was a Debug build with get-task-allow and missing secure timestamp.
c3e54eef-650e-41ba-ac8f-8948147cc7e1 (Mar 3, 13:06 UTC) - Status: In Progress (36+ hours)
b6c4515a-93dd-417c-8956-158a73f62dee (Mar 3, 14:06 UTC) - Status: In Progress (35+ hours)
478b7e57-3492-46eb-98fb-04b52bff1f17 (Mar 4, 01:08 UTC) - Status: In Progress (24+ hours)
Submissions 2-4 were all built with Release configuration, signed with Developer ID Application certificate, hardened runtime, and secure timestamp. The codesign output confirms correct signing:
Authority=Developer ID Application: Waseem Khan (3426FSU868)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
I understand first-time submissions may go through in-depth analysis but it has been well over 24 hours for all three. Is there anything wrong with my submissions or is this expected? Any help would be appreciated.
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
When doing some exploratory research into using Apple Intelligence in our aviation-focused application, I noticed that there were several times that key phases would be marked as inappropriate. I tried to stifle these using prompts and rules but couldn't get it to take hold. I was encouraged by an Apple employee to go ahead and post this so that the AI team can use the feedback.
There were several terms that triggered this warning, but the two that were most prominent were:
'Tailwind'
'JFK' or 'KJFK' (NY airport ICAO/IATA codes)
Topic:
Machine Learning & AI
SubTopic:
Foundation Models
Hi Everyone,
We are currently migrating a mature legacy KEXT to DriverKit for our PCIe SCSI storage controller (connected via Thunderbolt 3). During the DEXT load sequence, we have observed that the system automatically triggers a power state transition from State 0 (Off) to State 2 (On). However, this process results in a Kernel Panic due to a timeout after approximately 21 seconds.
We have verified that our implementation of Start_Impl, UserInitializeController_Impl, and SetPowerState_Impl executes extremely fast, with a total execution time of less than one second. Specifically, SetPowerState_Impl returns kIOReturnSuccess immediately upon being called. Furthermore, our current Info.plist does not contain any IOPowerManagement dictionary or related keys.
Despite the fast execution and the absence of explicit power management declarations in the plist, the kernel power management state machine (IOServicePM) still generates a 21-second timeout, leading to the following panic:
Panic Log:
panic(cpu 7 caller 0xfffffe0020be8fec): MySCSIDriver::setPowerState(0xfffffe2fb1a65c00 : 0xfffffe0020bfed88, 0 -> 2) timed out after 21257 ms @IOServicePM.cpp:5609
com.example.driver.dext:
( id: com.example.driver.dext; path: /Library/SystemExtensions/[UUID]/com.example.driver.dext; state: loaded )
Note on Previous Discussion:
I would like to express my gratitude to Kevin from Apple DTS for the helpful discussion regarding the implementation of BundleParallelTask on the forums. Since then, we have shifted our development focus toward completing the overall management ecosystem, delivering a comprehensive operational interface for users, and handling specific user environments and behaviors. Our current priority is ensuring system stability—specifically resolving these Thunderbolt-related power management issues (sleep/wake)—to prepare the product for upcoming testing. I remain very grateful for the guidance provided on batch task optimization and intend to resume those optimizations once this critical stability baseline is secured.
Technical Guidance Needed for PM Migration
In our legacy KEXT, we utilized PMinit(), registerPowerDriver(), and joinPMtree() to precisely control the timing of power management registration. In transitioning to the DriverKit SDK, we have not found clear guidance on several key points:
Standardized Migration Path: What is the recommended way to implement equivalent power management initialization (formerly PMinit) within a DriverKit subclass? In DriverKit, how should we replicate the behavior of manually calling registerPowerDriver and joinPMtree to ensure the driver is only monitored once the hardware is ready?
Implicit Power Registration: Why does the system enforce a setPowerState(0 -> 2) transition on a subclass of IOUserSCSIParallelInterfaceController even when no IOPowerManagement dictionary is defined in the Info.plist? Is this a default behavior of the SCSI or PCI transport framework?
Thunderbolt Specifics: Are there specific power proxying requirements or configurations for PCIe devices over Thunderbolt to avoid conflicts with the default IOPCIFamily power policies?
Best Regards,
Charles
I am using Network framework for connecting two iPad devices that are connected through LAN and has Wifi enabled. I have enabled peerToPeerIncluded. I would like to understand how the framework chooses the interface types for browsing and discovering devices. When I start a browser with browser.run or listener.run, does the browser and advertiser browse and listen on all available interface types? My concern is that if it does in only one interface, Is there a chance that the browser is browsing in one interface(Lets say WiredEthernet) and the listener is listening on another interface(Lets say AWDL) and they dont discover?
A macOS privileged helper tool that uses SubProcess crashes on intel Macs (running macOS 13 - 15: unable to test on macOS 26 on intel) with the error that libswiftCompatibilitySpan.dylib cannot be loaded when built with XCode 26.3. The same helper tool works as expected with XCode 26.2.
The helper is installed using SMAppService.
When I remove the dependency for SubProcess, the crash no longer occurs (but important functionality is also disabled).
I want to track down which part of an app contacts a given domain listed in its App Privacy Report.
Following the instructions given here I am able to capture a packet trace, but traffic to the domain in question is encrypted using QUIC.
Is there a way to insert e.g. mitmproxy into the capture process in order to get hold of the SSLKEYLOGFILE so that I can decrypt the traffic?
Hi,
I am trying to implement a PHBackgroundResourceUploadExtension to upload backup media files to an external cloud service based on these docs: https://developer.apple.com/documentation/PhotoKit/uploading-asset-resources-in-the-background#Acknowledge-completed-jobs
Creating jobs and actual uploading is working as expected, but the problem I have is in the acknowledgeCompletedJobs() function.
When trying to access a job's resource, the resource is nil and thus has empty assetLocalIdentifier and originalFilename.
Did anybody successfully implement this extension or knows, why this would happen? Because the resource of an acknowledgable job is empty, I can not match it back to my processed assets.
I use AES encryption on my app (it's a game), I encrypt the user data (JSON file) (levels / scores / etc...) This is how I answered the App Store Connect questions, not sure if it's correct:-Does your app use encryption? Select Yes even if your app only uses the standard encryption within Apple’s operating system. YES-Does your app qualify for any of the exemptions provided in Category 5 You can select Yes for this question if the encryption of your app is: (a) Specially designed for medical end-use (b) Limited to intellectual property and copyright protection (c) Limited to authentication, digital signature, or the decryption of data or files (d) Specially designed and limited for banking use or “money transactions”; or (e) Limited to “fixed” data compression or coding techniques NO-Does your app implement any encryption algorithms that are proprietary or not accepted as standards by international standard bodies (IEEE, IETF, ITU, etc.)? NO-Does your app implement any standard encryption algorithms instead of, or in addition to, using or accessing the encryption within Apple’s operating system? YESIs your app going to be available on the App Store in France? YESNow it's sending me to Encryption page - Add Export Compliance Documentation for ITC.apps.universal.platformName.iosIs your app designed to use cryptography or does it contain or incorporate cryptography? (Select Yes even if your app is only utilizing the encryption available within Apple’s operating system.) YESDoes your app meet any of the following: (a) Qualifies for one or more exemptions provided under Category 5 Part 2 (b) Use of encryption is limited to encryption within Apple’s operating system (c) Only makes calls over HTTPS (d) App is made available only in the U.S. and/or Canada NODoes your app implement any encryption algorithms that are proprietary or not accepted as standards by international standard bodies (IEEE, IETF, ITU, etc.)? NODoes your app implement any standard encryption algorithms instead of, or in addition to, using or accessing the encryption within Apple’s operating system? YES (it asks me to submit a copy of your French encryption declaration approval form- not sure what it is so I changed it to NO meanwhileClicked OK and then nothing happens. I'm not sure how to continue from here, In order to submit my app to test flight I need to provide export compliance information, which asks my the questions above, and then sends me to Add Export Compliance Documentation, but nothing was added ...
Hi Apple Pay Team,
We are building a QR-based payment platform and planning to integrate Apple Pay on the Web as a Payment Platform Integrator.
Our setup:
We operate a single domain (e.g., pay.example.com) where all Apple Pay transactions take place
When a customer scans a merchant's QR code, our hosted page opens with the Apple Pay button
We process payments on behalf of multiple merchants (receivers), each with a separate merchant ID at our payment processor
We want to use a single Payment Platform Integrator ID with one set of certificates (Merchant Identity + Payment Processing)
The payment processor handles sub-merchant identification and settlement to the correct receiver via card network (Visa/Mastercard) sub-merchant fields
Our question:
Since all transactions happen on our single domain, is it mandatory to register each sub-merchant via the Apple Pay Web Merchant
Registration API (/paymentservices/registerMerchant) and use their partnerInternalMerchantIdentifier in the payment session request?
Or is it acceptable to use our Platform Integrator's own merchant identifier for all payment sessions, given that:
Only one domain is involved
Sub-merchant identification is handled at the payment processor / card network level
Our domain verification file is already hosted and verified
We would appreciate clarity on the correct approach before we proceed with our integration.
Thank you.
Topic:
App & System Services
SubTopic:
Apple Pay
We build TestFlight/App Store builds of our app through Xcode Cloud. Our app uses Metal shaders so we install the Metal toolchain through a ci_pre_xcodebuild.sh script which simply runs:
xcodebuild -downloadComponent metalToolchain
in our Xcode Cloud builds.
This has been working well for us for the last 6 months or so, but since yesterday (March 5) we have been seeing consistent failures when running this script in our Xcode Cloud builds:
Beginning asset download...
2026-03-06 04:14:34.727 xcodebuild[13315:58523] Writing error result bundle to /var/folders/6h/_32gb9js77g6c54h3q7g6q1h0000gn/T/ResultBundle_2026-06-03_04-14-0034.xcresult
xcodebuild: error: Failed fetching catalog for assetType (com.apple.MobileAsset.MetalToolchain), serverParameters ({
RequestedBuild = 17C7003j;
})
Prior to Mar 5 it looks like the toolchain image which was being downloaded/installed was 17C519 but this has now changed to 17C7003j.
We haven't changed anything with our Xcode Cloud workflow setup, and the same macOS/Xcode images are being used for the workflow runs (macOS Tahoe 26.2 (25C56) and Xcode 26.3 (17C529) respectively) now as when our builds were succeeding a few days ago.
What's the best way to resolve this issue? Looks like we can't even pass an image identifier to xcodebuild -downloadComponent so we're a bit stuck here.
Hi,
I am trying to implement a PHBackgroundResourceUploadExtension to upload backup media files to an external cloud service based on these docs: https://developer.apple.com/documentation/PhotoKit/uploading-asset-resources-in-the-background#Acknowledge-completed-jobs
Creating jobs and actual uploading is working as expected, but the problem I have is in the acknowledgeCompletedJobs() function.
When in this function, I am trying to access a job's resource. The resource is nil and thus has empty assetLocalIdentifier and originalFilename.
Did anybody successfully implement this extension or knows, why this would happen? Because the resource of an acknowledgable job is empty, I can not match it back to my processed assets.
Hello,
We are building a new app that would be kinda extension of the other and we want to let our community share the same account in between.
We use Apple Sign in and we want Appel sign in system to give the same identity when people use apple relay. One of our app is alreadey released, can we still do it to share the same Apple login?
A user of my app sent me a crash report. I have never seen one like this before. All of my app's symbols are replaced with three question marks (???)
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 ??? 0x10844eb40 ???
1 CoreFoundation 0x7ff80f155518 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 137
and the binary image as
0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???
so I cannot find out where exactly the crash happened.
What can cause this kind of crash report and can I do anything with it?
crash.ips
I'm distributing a macOS .pkg installer signed with Developer ID Installer and notarized via notarytool. On macOS 26.3 (Tahoe, Build 25D125), the package is rejected by Gatekeeper when downloaded from the internet.
What works:
pkgutil --check-signature → signed, Developer ID Installer, full chain (G2 intermediate + Apple Root CA)
xcrun stapler validate → "The validate action worked!"
xcrun notarytool info <id> → status: Accepted
The .app inside the .pkg passes spctl -a -vvv → "accepted, source=Notarized Developer ID"
What fails:
spctl -a -vvv --type install mypackage.pkg → rejected, origin=Developer ID Installer
Raw assessment: assessment:remote = true, assessment:verdict = false
Double-clicking the downloaded .pkg shows only "Move to Trash" / "Done" (no "Open" option)
syspolicyd log: meetsDeveloperIDLegacyAllowedPolicy = 0 (expected, since the cert is new), but no "notarized" match is logged
Certificate details:
Developer ID Installer, issued Feb 28, 2026, valid until 2031
OID 1.2.840.113635.100.6.1.14 (Developer ID Installer) — critical
OID 1.2.840.113635.100.6.1.33 — timestamp 20260215000000Z
Intermediate: Developer ID Certification Authority G2 (OID 1.2.840.113635.100.6.2.6)
security verify-cert → certificate verification successful
Build process:
productbuild --distribution ... --sign <SHA1> (also tried productsign)
Both produce: Warning: unable to build chain to self-signed root
xcrun notarytool submit → Accepted
xcrun stapler staple → worked
Workaround:
xattr -d com.apple.quarantine ~/Downloads/mypackage.pkg allows opening the installer.
Question:
Is spctl --type install assessment expected to work differently on macOS 26 Tahoe? The same signing and notarization workflow produces .app bundles that pass Gatekeeper, but .pkg installers are rejected. Is there a new requirement for .pkg distribution on macOS 26?
Environment: macOS 26.3 (25D125), Xcode CLT 26.3
Hi,
I seem to be having problems with enrollment, I have submitted the payment several times, but do not seem to have been approved or confirmed as a dev yet.
Has anyone else experienced this issue? I have no option to contact support.
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
When I submit the app to TestFlight beta review I get the error show on UI. (I filled all filed info in Beta Infomation)
There was an error processing your request. Please try again later
I was inspected Safari to see the detailed error and I got the below error.
Failed to load resource: the server responded with a status of 422 ()
and the detailed javascript error
componentStack: undefined
errorCode: undefined
message: "API Response Error: TF_BETA_APP_REVIEW_RESPONSE"
stackTrace: "status code: 422 --- api correlation key: NZEKCTWMNANXDZVTRD3V4GNE3U"
Anyone can tell me the problem and how to fix it.
Many Thanks.
Hello,
I've been trying to enroll in the Apple Developer Program for over a week now and I'm completely stuck. Despite multiple attempts and reaching out to Apple Support via both email and phone, I have received no resolution and no meaningful response.
Here is a summary of my situation:
I initiated enrollment and completed all required steps, including identity verification and payment.
My enrollment was unexpectedly withdrawn without explanation.
I attempted to re-enroll.
The account remains in a pending/unresolved state with no approval or rejection.
I have an app (already live on Google Play) ready for iOS submission that is being blocked by this issue.
I have contacted Apple Support multiple times — via email and by phone — and have been advised to use the callback system at developer.apple.com/contact to reach the Membership & Enrollment team. Despite following this guidance, I still have no resolution after more than 7 days.
Has anyone experienced a similar situation? Is there any way to escalate this or get visibility from the enrollment team?
Any help is greatly appreciated.
Hello,
My app "Zen Mahjong!" has been stuck in the App Review process for an unusually long time and I’m trying to understand if something might be wrong with the submission.
Timeline:
First submission entered “In Review” and stayed there for 6 days without a decision.
I rejected that build, uploaded a new build and resubmitted on February 17.
Since then the app has been in “Waiting for Review” for more than 3 weeks.
Additional context:
App size ~40 MB
Only IAP is a “Remove Ads” purchase
I already contacted Developer Support and opened an expedited review request.
Support also mentioned that this delay seems unusual.
Has anyone experienced something similar or could this indicate that the submission is stuck in the review pipeline?
Any guidance would be greatly appreciated.
Thank you.
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
Tags:
App Review
App Store Connect
App Submission
I am using DataScannerViewController from VisionKit to scan text in my iOS application. The scanner works correctly while running. However, I added a custom button to toggle the device torch (flashlight).
To toggle the torch, I access the camera device using AVCaptureDevice and set torchMode after locking the configuration.
When I turn on the torch while DataScannerViewController is actively scanning, the scanner UI freezes and the camera preview stops updating. The app becomes unresponsive until I leave the screen. This issue appears on all iOS versions.
Code used to toggle the torch:
guard let device = AVCaptureDevice.default(for: .video),
device.hasTorch else { return }
do {
try device.lockForConfiguration()
device.torchMode = device.torchMode == .on ? .off : .on
device.unlockForConfiguration()
} catch {
print(error)
}
Questions:
Is it supported to control the torch directly via AVCaptureDevice while DataScannerViewController is running?
Does DataScannerViewController internally lock or manage the camera configuration in a way that can cause this freeze?
Is there a recommended way to enable/disable the torch when using DataScannerViewController?
Environment:
VisionKit DataScannerViewController
iPhone device (not simulator)
iOS versions where freeze occurs: All
Any clarification about whether this behavior is expected or a limitation of VisionKit would be appreciated.
Topic:
UI Frameworks
SubTopic:
General