Hi,
We're having problems starting an Ad Hoc ipa on an iPad with iOS 12.7.7 and 12.7.8. The iPad's UUID has been added to the provisioning profile. The iPad that we are trying to start the app on is online, so Apple's certificate validation server should be reachable. We don't have any problems with iOS versions above iOS 12.
The .ipa was built using the latest version of Xcode (26.2, build 17C52).
Here is the anonymised and reduced console log (only the app launch / bootstrap part):
default 07:29:35.683108+0100 SpringBoard Icon touch began: <private>
default 07:29:35.752640+0100 SpringBoard Icon tapped: <private>
default 07:29:35.768538+0100 trustd cert[0]: SubjectCommonName =(leaf)[]> 0
default 07:29:35.791500+0100 SpringBoard Trust evaluate failure: [leaf IssuerCommonName LeafMarkerOid SubjectCommonName]
default 07:29:35.793654+0100 trustd cert[0]: IssuerCommonName =(path)[]> 0
default 07:29:36.043497+0100 assertiond Submitting new job for "<APP_BUNDLE_ID>" on behalf of SpringBoard (pid: 48)
default 07:29:36.044393+0100 SpringBoard Bootstrapping <APP_BUNDLE_ID> with intent foreground-interactive
error 07:29:36.045124+0100 SpringBoard [<APP_BUNDLE_ID>] Bootstrap failed with error:
domain: BKSProcessErrorDomain, code: 1 (bootstrap-failed), reason: "Failed to start job"
error 07:29:36.045214+0100 SpringBoard Bootstrapping failed for <APP_BUNDLE_ID> (pid: -1):
Error Domain=BKSProcessErrorDomain Code=1
"Unable to bootstrap process with bundleID <APP_BUNDLE_ID>"
NSLocalizedFailureReason=Failed to start job
NSUnderlyingError=NSPOSIXErrorDomain Code=3 "No such process"
BKLaunchdOperation=launch_get_running_pid_4SB
BKLaunchdJobLabel=<LAUNCHD_JOB_LABEL>
BKSProcessJobLabel=<LAUNCHD_JOB_LABEL>
default 07:29:36.046078+0100 assertiond Submitted job with label: <LAUNCHD_JOB_LABEL>
default 07:29:36.046442+0100 assertiond Unable to get pid for '<LAUNCHD_JOB_LABEL>': No such process (3)
error 07:29:36.046542+0100 assertiond Failed to start job: NSPOSIXErrorDomain Code=3 "No such process"
default 07:29:36.046607+0100 assertiond Deleted job with label: <LAUNCHD_JOB_LABEL>
default 07:29:36.081068+0100 SpringBoard Application process state changed for <APP_BUNDLE_ID>: pid: -1; taskState: Not Running
Explore the intersection of business and app development. Discuss topics like device management, education, and resources for aspiring app developers.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hello everyone,
I’m looking for some clarity from the community regarding eligibility for the Swift Student Challenge 2026, particularly for students taking a gap year in India.
I graduated from high school (Class XII, CBSE – India) in May 2025. After graduating, I chose to take a gap year to prepare for competitive entrance examinations in India, with the goal of pursuing Computer Science / Engineering. I’ll be applying to accredited universities for programs starting in mid-2026, and I’m not currently enrolled in a college.
My question:
The eligibility guidelines state that high school graduates must have graduated within the past 6 months and must be awaiting acceptance or have received acceptance to an accredited institution. Since the submission deadline is February 28, 2026, my graduation would be about 9 months prior, which puts me in a gray area.
Has anyone here participated in, or seen others participate in, the Swift Student Challenge while taking a gap year and preparing for university entrance exams? Is there any known flexibility or precedent for students in this situation?
I’ve been following the Swift Student Challenge since 2023 and would really love to participate if I’m eligible. Any insights or experiences would be greatly appreciated.
Thanks!
We are currently working on a SCEP server implementation that operates in FIPS-approved mode. In this mode, RSA PKCS#1 v1.5 encryption is disallowed due to compliance requirements, and only FIPS-approved padding schemes such as RSA-OAEP are permitted.
However, we have observed that the SCEP client functionality on Apple devices currently does not support RSA-OAEP for CMS EnvelopedData decryption. This creates a challenge for us in ensuring FIPS compliance while maintaining compatibility with Apple devices during certificate enrollment through SCEP.
We would appreciate your guidance on the following:
Are there any alternative FIPS-approved encryption algorithms or configurations supported by Apple devices for SCEP CMS EnvelopedData decryption?
Is there any plan or timeline for future support of RSA-OAEP on Apple platforms for this use case?
Feedback raised along with sysdiagnose logs as well : FB17655410
Hi,
We're having problems starting an Ad Hoc ipa on an iPad with iOS 12.7.7 and 12.7.8, probably iOS 12 in general. The iPad's UUID is added to the certificate. And we don't have problems with iOS versions > iOS 12. Here is the anonymized Console Log:
default 09:05:12.088994+0100 SpringBoard immediate edge swipe: failed
default 09:05:12.095189+0100 SpringBoard Icon touch began: <private>
default 09:05:12.096204+0100 SpringBoard Found a reasonable launch image for <private>, not pre-warming SplashBoard. Load image into the snapshot instance.
default 09:05:12.117737+0100 powerd Activity changes from 0x2 to 0x1. UseActiveState:1
default 09:05:12.118572+0100 powerd hidActive:1 displayOff:0 assertionActivityValid:0 now:0xcb6 hid_ts:0xcb6 assertion_ts:0x0
default 09:05:12.145354+0100 backboardd [HID] [MT] dispatchEvent Dispatching event with 1 children, _eventMask=0x23 _childEventMask=0x3 Cancel=0 Touching=0 inRange=0
default 09:05:12.152820+0100 SpringBoard Icon tapped: <private>
default 09:05:12.158236+0100 dasd Trigger: <private> is now [1]
default 09:05:12.159538+0100 dasd Don't have <private> for type 1
default 09:05:12.170128+0100 trustd cert[0]: SubjectCommonName =(leaf)[]> 0
default 09:05:12.170407+0100 trustd cert[0]: LeafMarkerOid =(leaf)[]> 0
default 09:05:12.182388+0100 trustd OCSPSingleResponse: nextUpdate 0.54 days ago
default 09:05:12.186084+0100 trustd OCSPSingleResponse: nextUpdate 0.62 days ago
default 09:05:12.187067+0100 SpringBoard Trust evaluate failure: [leaf IssuerCommonName LeafMarkerOid SubjectCommonName]
default 09:05:12.238604+0100 trustd Task <TASK_UUID_REDACTED_1>.<1> resuming, QOS(0x19)
default 09:05:12.240650+0100 trustd TIC TCP Conn Start [12:0xADDR_REDACTED]
default 09:05:12.241136+0100 trustd [C12 Hostname#HASH_REDACTED:80 tcp, pid: PID_REDACTED, url hash: HASH_REDACTED] start
default 09:05:12.245884+0100 trustd TIC TCP Conn Start [13:0xADDR_REDACTED]
default 09:05:12.246361+0100 trustd [C13 Hostname#HASH_REDACTED:80 tcp, pid: PID_REDACTED, url hash: HASH_REDACTED] start
default 09:05:12.256520+0100 trustd nw_connection_report_state_with_handler_locked [C12] reporting state failed error Network is down
error 09:05:12.256978+0100 trustd TIC TCP Conn Failed [12:0xADDR_REDACTED]: 1:50 Err(50)
error 09:05:12.262697+0100 trustd Task <TASK_UUID_REDACTED_1>.<1> HTTP load failed (error code: -1009 [1:50])
error 09:05:12.271646+0100 trustd Task <TASK_UUID_REDACTED_1>.<1> load failed with error Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline."
default 09:05:12.271898+0100 trustd Failed to download ocsp response http://ocsp.apple.com/ocsp03-wwdrg311/... with error Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline."
default 09:05:12.280643+0100 SpringBoard Activating <private> from icon
default 09:05:12.281399+0100 CommCenter #I CTServerConnection from pid PID_REDACTED has closed (conn=0xADDR_REDACTED)
default 09:05:12.513629+0100 SpringBoard Bootstrapping com.example.myapp with intent foreground-interactive
default 09:05:12.514084+0100 assertiond Submitting new job for "com.example.myapp" on behalf of <BKProcess: 0xADDR_REDACTED; SpringBoard; com.apple.springboard; pid: PID_REDACTED; ...>
default 09:05:12.514909+0100 assertiond Submitted job with label: UIKitApplication:com.example.myapp[REDACTED][REDACTED]
error 09:05:12.516769+0100 SpringBoard [com.example.myapp] Bootstrap failed with error: <NSError: 0xADDR_REDACTED; domain: BKSProcessErrorDomain; code: 1 (bootstrap-failed); reason: "Failed to start job">
error 09:05:12.516935+0100 SpringBoard Bootstrapping failed for <FBApplicationProcess: 0xADDR_REDACTED; com.example.myapp; pid: -1> with error: Error Domain=BKSProcessErrorDomain Code=1 "Unable to bootstrap process with bundleID com.example.myapp"
default 09:05:12.517589+0100 SpringBoard <FBApplicationProcess: 0xADDR_REDACTED; com.example.myapp; pid: -1> exited.
default 09:05:12.542638+0100 SpringBoard Application process state changed for com.example.myapp: <SBApplicationProcessState: 0xADDR_REDACTED; pid: -1; taskState: Not Running; visibility: Unknown>
default 09:05:13.072994+0100 SpringBoard Front display did change: <SBApplication: 0xADDR_REDACTED; com.example.myapp>
Is there any know problem with running Ad Hoc ipas on iOS 12?
Thanks
Christian
I've been running the betas fine for a while, now, where do you want to go??
Topic:
Business & Education
SubTopic:
Device Management
Background / Objective
We are currently developing a solution to centrally manage Apple OS updates (major and minor) across managed macOS devices. Before implementing at scale, we need Apple’s guidance on supported and future-proof update mechanisms under MDM.
Questions / Ask (Apple Guidance Requested)
Apple recommended method
What is Apple’s recommended approach to perform:
Minor updates (e.g., macOS X.Y → X.Z)
Major upgrades (e.g., Ventura → Sonoma) in an enterprise fleet?
Support boundary
Is macOS update management only supported via MDM (including any newer declarative workflows), or are local mechanisms (installer + command-line tooling) also considered supported for enterprise automation?
Use of startosinstall
Can we leverage the existing utility:
/Applications/Install macOS .app/Contents/Resources/startosinstall for automated upgrades in enterprise environments?
If yes, are there recommended flags/workflows Apple endorses for unattended or minimally interactive upgrades?
Long-term support / stability
Does startosinstall have any form of long-term support / stability guarantees across future macOS releases?
Are there any known deprecations planned (or guidance that customers should transition to MDM/DDM workflows)?
MDM interaction / interference
When using startosinstall, can MDM policies (software update deferrals/restrictions, update enforcement, etc.) interfere with or block the upgrade?
If interference is expected, what is the correct supported way to coordinate:
MDM software update settings
local startosinstall execution to avoid failures and ensure compliance?
What We Need From Apple (Desired Outcome)
A clear statement of recommended and supported update workflow(s) for enterprise managed macOS:
for minor updates
for major upgrades
Guidance on whether startosinstall is acceptable for long-term automation, or whether we should only use MDM/DDM-driven workflows.
Any best practices or reference documentation Apple recommends for implementing this safely and reliably.
We are upgrading macOS (minor versions and potentially major versions) using a scripted approach:
Install the InstallAssistant package via installer
Trigger OS install via startosinstall
On MDM-managed assets, OS update policies appear to prohibit or interfere with the update flow. The update often fails with startosinstall reporting “Helper tool crashed…” during the “Preparing” phase.
Steps to Reproduce
On an MDM-enrolled Mac with OS update restriction/deferral policies applied, run:
sudo /usr/sbin/installer -pkg /Path/To/InstallAssistant.pkg -target / &&
echo 'MACOS_PASSWORD' | /Applications/Install\ macOS\ Sonoma.app/Contents/Resources/startosinstall
--agreetolicense
--forcequitapps
--stdinpass
--user MACOS_USER
Actual Result
Package installation reports success, but startosinstall fails during preparation with:
Standard Output
installer: Package name is macOS15.7_SoftwareUpdate
installer: Upgrading at base path /
installer: The upgrade was successful.
By using the agreetolicense option, you are agreeing that you have run this tool with the license only option and have read and agreed to the terms.
If you do not agree, press CTRL-C and cancel this process immediately.
Preparing to run macOS Installer...
Preparing: 0.0%
Preparing: 0.1%
...
Preparing: 24.9%
Standard Error
Helper tool crashed...
notes.log
Install.log is also attached.
Questions for Apple / Ask:
We suspect this crash is caused by MDM OS update restrictions/policies.
We need Apple’s recommended method to perform macOS updates (minor + major) when MDM is present, especially in environments where update deferrals/restrictions may be configured.
Hi,
I’m testing the ClearPasscode MDM command:
https://developer.apple.com/documentation/devicemanagement/clear-passcode-command
Question: If a user enters the passcode incorrectly multiple times and the device becomes temporarily locked (e.g., “Try again in X minutes”) or reaches “Security Lockout”, can ClearPasscode still be executed successfully while the device is in that state?
{'ErrorCode': 5013,
35708 'ErrorDomain': 'MCPasscodeErrorDomain',
35709 'LocalizedDescription': '\xe3\x81\x93...x89',
35710 'USEnglishDescription': 'The passcode cannot be cleared (-1)'}
If it depends on conditions (e.g., supervised vs. user enrollment, availability of UnlockToken, network/check-in state), could you clarify which conditions are required?
Thank you.
Hello,
I am trying to authenticate to the Apple Business Manager API to retrieve device information and ingest it into ServiceNow. I am following the documentation here.
The first step is to create an API account and download the private key used to create a JWT client assertion.
The guide linked above gives a python script to create a client assertion. Below the first python script, the following description is given for the "kid" variable: "The value is your keyId that returns when you upload a public key." This is the first time that a public key, rather than a private key, is referenced. Where is the public key supposed to be uploaded?
Later in the guide, a public key is referenced again, in the section describing the client_id Request parameter: "(Required) You receive your clientId when you upload a public key."
I have tried to create a client assertion using the keyId that is associated with the API account. When I try to request an access token, however, I also get an "invalid_client" error back. I am wondering if I'm using the wrong values for both key_id and client_id due to not creating and uploading a public key.
Any help would be appreciated, thanks!
I am trying to correctly manage about 20 Mac, iPhones and PC
inside a Wi-Fi network built through
System Settings > Sharing > Internet Sharing
To achieve this task I defined a complete configuration file:
/etc/bootpd.plist
which is used by /usr/libexec/InternetSharing.
But every time /usr/libexec/InternetSharing is starting
the file /etc/bootpd.plist is overwritten by another file and my configuration
is thus fully lost.
How to set a correct /etc/bootps.plist file and avoid its total overwrite
by /usr/libexec/InternetSharing?
Is it necessary to write this bootpd.plist in some other directory for
/usr/libexec/InternetSharing to load it without destroying it?
I got the same configuration total erase on macOS Big Sur and Sequoia.
Hi Team,
Could you please share how to change/extend the expiry date of the existing iOS Distribution (In-House) certificate?
Since the membership renewal date is in March 2026 and the iOS distribution(In-House) certificate expiry date is in Feb 2026.
We use to distribute the mobile apps using the product intunes (Company portal) and via direct download link.
Please suggest since this certificate is used by multiple mobile apps by the users which can affect lot of iPhone users?
Thank you in advance
Deepak
Apple provides a function to create TTS voice as a file in TTS.
(AVSpeechUtterance/AVSpeechSynthesizer)
Or, if the user records the video of TTS playback and uses that video
I wonder what the scope of use is if I use this TTS voice to make YouTube, TikTok, or commercial videos.
Is it impossible to use it commercially at all?
Can I use it commercially with the source indicated?
Can I use it commercially without a separate source indication?
Is there a difference in commercial use license between Siri voices and regular TTS voices?
Hello All,
I come to ask a question that I haven't been able to find the docs. I continue to work on implementing declarative management and while working there is a question/concern I have.
I have noticed that during some destructive testing, if the device is attempting to fetch a configuration and the server responds with a 503 (or any server related error) then the device will wipe all configurations and attempt to reapply them.
Is there any way to prevent this by intercepting status codes or would the only real solution be to force down a temp/test config if the real config can't be fetched from the server?
Hi, I might be a bit late to the party, but Apple has added several SkipKeys such as: TapToSetup and SafetyAndHandling. I want to make sure that the keys is working properly, so I want to do the before-after comparison, however I just can't seem to show pages related to those keys.
Just for information, I'm based in Japan and I've been using iPhone pro 16 and M2 iPad Pro for the testing.
I believe that TapToSetup is apple tv-related, so I've tried various things such as having it in a same network or using the same apple account both in Apple TV and the iPhone/iPad but I can't get it to show.
Any ideas?
Hello,
I’d like to clarify the technical limitations around app updates in an Apple School Manager (ASM) + MDM environment.
Environment
• iOS/iPadOS devices supervised and managed via Apple School Manager
• Apps are distributed via ASM (VPP / Custom App) and managed by MDM
• Apps are App Store–signed (not Enterprise/In-House)
• Some apps include NetworkExtension (VPN) functionality
• Automatic app updates are enabled in MDM
Question
From a technical and platform-design perspective, is it possible to:
Deploy app updates for ASM/MDM-distributed App Store apps via a separate/custom update server, and trigger updates simultaneously across all managed devices, bypassing or supplementing the App Store update mechanism?
In other words:
• Can an organization operate its own update server to push a new app version to all devices at once?
• Or is App Store + iOS always the sole execution path for installing updated app binaries?
⸻
My current understanding (please correct if wrong)
Based on Apple documentation, it seems that:
1. App Store–distributed apps cannot self-update
• Apps cannot download and install new binaries or replace themselves.
• All executable code must be Apple-signed and installed by the system.
2. MDM can manage distribution and enable auto-update, but:
• MDM cannot reliably trigger an immediate update for App Store apps.
• Actual download/install timing is decided by iOS (device locked, charging, Wi-Fi, etc.).
3. Custom update servers
• May be used for policy decisions (minimum allowed version, feature blocking),
• But cannot be used to distribute or install updated app binaries on iOS.
4. For ASM-managed devices:
• The only supported update execution path is:
App Store → iOS → Managed App Update
• Any “forced update” behavior must be implemented at the app logic level, not the installation level.
⸻
What I’m trying to confirm
• Is there any supported MDM command, API, or mechanism that allows:
• Centralized, immediate, one-shot updates of App Store apps across all ASM-managed devices?
• Or is the above limitation fundamental by design, meaning:
• Organizations must rely on iOS’s periodic auto-update behavior
• And enforce version compliance only via app-side logic?
⸻
Why this matters
In large school deployments, delayed updates (due to device conditions or OS scheduling) can cause:
• Version fragmentation
• Inconsistent behavior across classrooms
• Operational issues for VPN / security-related apps
Understanding whether this limitation is absolute or if there is a recommended Apple-supported workaround would be extremely helpful.
Thanks in advance for any clarification
We are having issues working with bypass codes the server creates when initiating Activation Lock through MDM.
We are able to use the device-generated bypass codes without issue.
When using the end point to request activation lock as specified in https://developer.apple.com/documentation/devicemanagement/creating-and-using-bypass-codes/ we get a 200 response. But when using the endpoint to bypass the activation lock, we get a 404 response. If we try to manually input the activation lock bypass code, it also does not work.
Both of these methods work with the device-generated bypass codes.
Just to clarify when testing the server generated codes, we ensured that we did not test the device-generated codes.
All of this was tested on iOS devices.
Created feedback ticket FB21365819 with device specific details.
Issue
Using the DeviceInformationCommand API, the following device information can no longer be retrieved on iOS/iPadOS 26 and later.
IMEI
ICCID
PhoneNumber
This issue does not occur on devices running iOS/iPadOS 18.x or earlier. We would appreciate it if you could advise us on a solution to enable the retrieval of this information.
Request XML
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
<plist version=\"1.0\">
<dict>
<key>CommandUUID</key>
<string><!-- Here is CommandUUID --></string>
<key>Command</key>
<dict>
<key>RequestType</key>
<string>DeviceInformation</string>
<key>Queries</key>
<array>
<string>IMEI</string>
<string>ICCID</string>
<string>PhoneNumber</string>
</array>
</dict>
</dict>
</plist>
I came across this tool that enables supervised mode on iOS without resetting the data. it's essentially a macOS with a unix executable file underneath. a quick guide of how it works is here
https://www.techlockdown.com/guides/enable-supervised-mode-iphone
I would appreciate any guidance on how to recreate this, as this is behind a paywall, and would like to offer something similar for free to people who want to restrict their families devices.
Topic:
Business & Education
SubTopic:
Device Management
The profile expiration date is approaching, and no amount of inquiries will solve it.
Create a new profile
Download a new profile from Xcode
Press archive, press Distribute App, press Enterprise, and distribute
Invalid expiration date in profile of summary of review app.ipa content
I've tried everything that comes out by Googleing profiles, such as regenerating profiles, erasing caches, updating Xcode, updating macOS, deleting existing profile information, etc.
Expiration date different from the expiration date of the profile created in that menu is displayed.
The expiration date of the profile I created is December 8, 2026, and the previous certificate is January 22, 2026.
However, the profile information of the generated ipa is February 12, 2026.
So I can't distribute this app because I'm scared, and the expiration date is coming up. Users should have a period of time to update.
Get me a novice developer who's choking up.
Steps to Reproduce
Step 1: Fetch Initial Device List
Called the device list endpoint to retrieve all devices and saved the cursor:
GET https://mdmenrollment.apple.com/server/devices
Step 2: Modify Devices
Added and deleted several devices via https://business.apple.com/
Step 3: Sync Without Pagination
Called the sync endpoint using the cursor from Step 1 (no limit):
GET https://mdmenrollment.apple.com/devices/sync?cursor={step1_cursor}
Result: Returned 3 device records as expected:
{
"devices": [
{
"serial_number": "F70JJ4C16L",
"op_type": "added",
"op_date": "2025-12-11T07:05:05Z"
},
{
"serial_number": "F70JJ4C16L",
"op_type": "deleted",
"op_date": "2025-12-11T07:04:36Z"
},
{
"serial_number": "C8RWGXZXJWF5",
"op_type": "deleted",
"op_date": "2025-12-11T07:04:52Z"
}
],
"more_to_follow": false
}
Step 4: Sync With Pagination (First Page)
Called the sync endpoint using the same cursor from Step 1 with limit=1:
GET https://mdmenrollment.apple.com/devices/sync?cursor={step1_cursor}&limit=1
Result: Returned 1 record with more_to_follow: true — indicating more data exists:
{
"devices": [
{
"serial_number": "F70JJ4C16L",
"op_type": "added",
"op_date": "2025-12-11T07:05:05Z"
}
],
"more_to_follow": true,
"cursor": "MTowOjE3NjU0MzgyNDI5ODc6..."
}
Step 5: Sync With Pagination (Second Page)
Called the sync endpoint using the cursor from Step 4 with limit=1:
{
"devices": [],
"more_to_follow": false
}
Expected Behavior
When paginating with limit=1, the API should return all 3 records across 3 sequential requests.
Actual Behavior
Without pagination: Returns 3 records ✓
With pagination (limit=1): Returns only 1 record, then empty array ✗
2 records are missing when using pagination.
Impact
This inconsistency makes the sync API unreliable for incremental device synchronization workflows.
Topic:
Business & Education
SubTopic:
Device Management