I'm working on an iOS/iPadOS app and need to determine programmatically whether the device is a Shared iPad as configured through Apple School Manager (ASM).
Shared iPads allow multiple users to sign in with Managed Apple IDs and are typically used in educational environments. I want to identify this configuration at runtime within my app.
I’ve looked into UIDevice, NSProcessInfo, and MDM-related APIs but haven't found a reliable way to detect whether the current device is a Shared iPad.
Is there an API or method to check if the current iPad is configured as a Shared iPad (via ASM)?
Any guidance or code examples would be appreciated.
This is a dedicated space for developers to connect, share ideas, collaborate, and ask questions. Introduce yourself, network with other developers, and join us in fostering a supportive community.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I just upgraded to iOS 26.0 Now when I use car play, the text messages do not show up, only the notification tone on my phone alarms. So now when I get texts while driving, I need to read my phone to read the text. I tried all the solutions within settings but this is a BIG DRAWBACK compared to the old iOS.
Topic:
Community
SubTopic:
Apple Developers
updated my iPhone 15 to iOS 26 last night and now when I put the alert slider on silent, my notifications won’t vibrate. Even after checking all settings in sounds and haptics to be correct, it still isn't vibrating on silent.
Also the apple music search bar is a little flimsy? Merging the text and microphone options
Topic:
Community
SubTopic:
Apple Developers
Our code is using .lowQualityThumbnail to generate a thumbnail, it stops working when users update to 15.2 .
Test it with a regular jpg file for fileURL.
The only way to make it work is to change it to .thumnail or remove it.
It's not deprecated, is it a MacOS bug? customers don't want to keep updating the software.
Everything works in MacOS 15.1
import QuickLookThumbnailing
func generateThumbnail(for fileURL: URL, size: CGSize, scale: CGFloat) {
let request = QLThumbnailGenerator.Request(fileAt: fileURL, size: size, scale: scale, representationTypes: .lowQualityThumbnail)
QLThumbnailGenerator.shared.generateBestRepresentation(for: request) { thumbnail, error in
if let error = error {
print("Error generating thumbnail: \(error)")
} else if let thumbnail = thumbnail {
// Use the thumbnail
let image = thumbnail.uiImage
// Do something with the image
}
}
}
Topic:
Community
SubTopic:
Apple Developers
I'm working on a tvOS application that plays video content using TVMLKit/TVJS. I'm trying to integrate Google IMA SDK to show pre-roll, mid-roll, and post-roll ads in my app.
Here’s what I’ve done so far:
Video playback is handled through JavaScript in application.js.
Ads are managed in Swift using Google IMA SDK.
I use the evaluateJavaScript bridge to control video playback from Swift.
I pause and resume the TVJS player (Player object) using a function like startPlayingVideo(value) from Swift based on the ad lifecycle.
Current Flow:
When the video is about to start, I call loadAds() from JS.
This presents a Swift ViewController that handles IMA ad requests.
On adsManagerDidRequestContentPause, I pause the video using JS via the bridge.
On adsManagerDidRequestContentResume, I resume the video.
The Issue:
This setup doesn't behave consistently:
Sometimes the ad plays in the background and video started playing as well but can not see the ad.
Not able to see the post-roll ads
Relevant Code Snippets:
application.js
function startPlayingVideo(value) {
if (playerReference != undefined) {
if (value == true) {
playerReference.play();
else {
playerReference.pause();
}
}
}
function playVideo(videoURL) {
setup playerReference, push mediaItem, etc.
loadAds();
player.present();
}
AppDelegate.swift
let loadAds: @convention(block) () -\> Void = {
DispatchQueue.main.async {
let adManagerVC = ViewController()
AppDelegate.tvController?.navigationController.present(adManagerVC, animated: true)
}
}
let updateVideoPlayTime: @convention(block) (Double) -\> Void = { time in
CustomContentPlayhead.shared.currentTime = TimeInterval(time)
}
ViewController.swift
func adsManagerDidRequestContentPause(\_ adsManager: IMAAdsManager) {
showAdUI()
playerViewController.player?.pause()
}
func adsManagerDidRequestContentResume(\_ adsManager: IMAAdsManager) {
hideAdUI()
// Expecting JS video to resume via bridge
}
And yeah my IMSDK Implementation is working fine if I am using it with swift AVPlayer.
What I Need Help With:
Best practice for coordinating video playback between JS (Player) and Swift (IMAAdsManager).
How can I sync the playhead reliably between JS and Swift?
Is there a better way to pause/resume TVJS player from Swift during ad lifecycle?
How to reliably insert mid-roll ads when the playback is primarily controlled in JS?
Any insights, code examples, or recommended architecture improvements would be greatly appreciated!
Hi,
I am a new user here, I have created my apple developer account and purchased an apple developer membership for a year. I have received my web order details and also the invoice few days ago but when I try to go to App Store Connect it won't let me in. I have contacted the apple developer support 3 days ago but I did not received any response yet. It's frustrating. I do not know much how to navigate on these apple products and devices so I am kind of lost here. Your help or advice, would be greatly appreciated.
Btw, I believed I have already enrolled in this apple developer membership because every time I tried to click enrol it leads me to another purchase membership page which I have already paid, so I ended up clicking the withdraw membership instead of clicking the purchase tab.
Thank you in advance to those who are able to address this concern.
Topic:
Community
SubTopic:
Apple Developers
Hello,
I have a question regarding the ethernet-over-USB-C stack within iOS/iPadOS.
It seems that when manually assigning an IP on this interface within iOS, the IP is stored. Therefore, when disconnecting (the USB-C cable) and reconnecting to another device for a subsequent ethernet connection, the iOS device will always default to the previously assigned IP address (obviously, this isn't the case if the other end is a DHCP server).
So, within the iPhone's Ethernet-over-USB-C driver, I was curious if iOS just keeps the assignment based on the MAC of the local USB-C interface, or is stored information tied to some other identifier? Is there a way to override this behavior?
Thank you
Hello,
I am building a workout app that has an option to add segments to differentiate different stages of the training session. Segments are added the following way:
func saveSegment(eventType: HKWorkoutEventType, startDate: Date, endDate: Date, inSeg: Int) async throws {
let dateInterval = DateInterval(start: startDate, end: endDate)
let event = HKWorkoutEvent(type: eventType, dateInterval: dateInterval, metadata: metadata)
try await builder?.addWorkoutEvents([event])
}
Inside Health -> Workouts -> Show All Data, the segments appear, but in Fitness app there are no segments. The workout is .paddleSports. I thought that maybe the workout type was the problem, but when I start the sessions from the native workout app, segments are added and shown in the Fitness app:
In other posts I saw suggested to add an event as .marker instead of .segment, but the result is the same, it does not appear.
Is there something I am doing wrong? How can I show the segments into the Fitness app?
Another question, I would like to add stroke rate and stroke count to my paddling session, is there a way to add it? Paddle Sports workout was recently introduced and it would be great to have the option to add those values.
Thank you in advance.
Inaki
I installed the new developer beta 26 yesterday, but since that I only have problems with my iPhone. Besides not being able to update the software bc an error appears, I also don‘t have the abbility to use mobile data. If I try to, it only says „could not activate mobile data network“. I already tried to restart the phone, to reset it or to take the SIM out and in
Topic:
Community
SubTopic:
Apple Developers
Is it possible to pay for a Apple Developer membership with a managed Apple ID as the account holder?
Topic:
Community
SubTopic:
Apple Developers
Based a quick research, comfort and fit, noise cancellation issues and durability seems to be the most consistent issues with pilot headsets. I wouldn’t say there is a problem here, because you can easily throw out the faulty headset and spend another $1000 on a new one. However, what if apple can profit by introducing their version of pilot headsets? Besides, most airlines use Apple iPads for Navigation, crew scheduling etc. Make it a one stop shop. Apple already has the framework for music headsets, why not use it as a base for pilot headsets? Disrupt an already stagnant market and give pilots a great alternative. Tap into the interests of a new generation of pilots again most which already uses Apple products. Come up with a new fresh look of ‘pilot comms.’ A good idea is to pitch to the GA (general aviation) industry maybe include Apple headsets with the purchase of a new aircraft.
Topic:
Community
SubTopic:
Apple Developers
I use DeviceActivityCenter to monitor app usage.
For DeviceActivityEvent, I set 30 events, and the threshold of each event increases by 2 minutes:
var events: [DeviceActivityEvent.Name: DeviceActivityEvent] = [:]
for index in 0..<30 {
let threshold = (index == 29)
? DateComponents(hour: 1)
: DateComponents(minute: (index + 1) * 2)
let name = DeviceActivityEvent.Name("\(prefix)|\(index)")
events[name] = DeviceActivityEvent(applications: tokens, threshold: threshold)
}
After reaching the last DeviceActivityEvent, I will restart directly in DeviceActivityMonitor
private func restartMonitoring(activity: DeviceActivityName) {
let center = DeviceActivityCenter()
let currentEvents = center.events(for: activity)
do {
try center.startMonitoring(activity, during: schedule, events: currentEvents)
} catch {
print("Fail: \(error)")
}
}
But I found that after restarting, DeviceActivityEvent will be automatically executed even if I don't use the app.
My iOS version is 18.5
Hi,
Visual Intelligence doesn't work for my screenshot.
Does anyone know why? I'm in Greece, maybe it's the region, or something to set up?
Thanks
Topic:
Community
SubTopic:
Apple Developers
Hello All,
I would like to nominate my app for the coveted position of a “featured app.” However, it appears that I would have had to submitted the app before it went live a few weeks ago.
Does anyone have any suggestions? Is there another form out there to fill out the app information for submission?
Thank you for any help!
Darien
Pilates Mastery™
Topic:
Community
SubTopic:
Apple Developers
create login_renamed_xx.keychain-db everytime restart
As explained above only ended up being about to use voice and text
Topic:
Community
SubTopic:
Apple Developers
Hello,
I’m reaching out here because I have exhausted all other support channels without success. I submitted an enrollment request for the Apple Developer Program on March 3, 2025 (Enrollment ID: 3CJFXN3AA3), and it’s now been over 2.5 months with no resolution.
All required documents have been submitted, confirmed received by Apple Support, and multiple follow-ups have been made (Case #102541675488). Each time, I’m told that the case is still under review, but I haven’t received any clear update or timeline.
Is there anything else I can do to move this process forward? Is there a better way to escalate or contact someone who can help finalize the review?
Any advice or help from the community or Apple team would be greatly appreciated.
Thank you,
Daniyar
Topic:
Community
SubTopic:
Apple Developers
Currently running 15.5 Beta 3 on a Mac Studio M4. I am unable to read/write to my Home folder from most of my applications. I receive an error basically saying I do not have access rights to the file/folder. If I go to the file directly and open it, it works. I have repaired disk permissions, checked the Sharing & Permissions settings via Get Info, and finally called Apple. Of course, since I am running the beta, the support was quite limited. I will add that I am also unable to open .dmgs that have been downloaded to my Downloads folder. I receive the "The disk image couldn’t be opened. The operation couldn’t be completed. Operation not permitted" error. If I copy the .dmg to another drive, I can open it from there.
Topic:
Community
SubTopic:
Apple Developers
We are a technical team of a large enterprise whose main business depends on internally developed iOS applications. Our Apple enterprise developer account expires on February 16th, and we filled in the renewal application form before that, but it was rejected by Apple. We contacted the Apple consultant through Apple's official website, and they said that the enterprise department is a separate department, and they could not solve my problem. Later, after efforts, I directly contacted the email address of the enterprise department, and I explained our situation. After their review, the final plan still could not renew, but only extended the use of our P12 certificate, and the maximum extension was one year in the end, so that we can deal with the application that is being distributed by the enterprise as soon as possible. May I ask if there is any better way to successfully renew my account? We only extended the certificate, which is not what we want, but this is the only way at present. If there is a good way to communicate, please check my personal information and have my email address for communication. Thank you all
IOS 18.3 Beta
This started at BETA 18.2
Only when plugged in to an external power bank.
Ideas or workaround?
Or just wait till the next BETA version?