Apple Developers

RSS for tag

This is a dedicated space for developers to connect, share ideas, collaborate, and ask questions. Introduce yourself, network with other developers, and foster a supportive community.

Learn More

Posts under Apple Developers subtopic

Post

Replies

Boosts

Views

Activity

How to Properly Integrate Google IMA SDK for Pre-roll, Mid-roll, and Post-roll Ads in a tvOS App using TVJS and Swift?
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!
0
0
159
Jun ’25
How to hide moreNavigationController in SwiftUI?
I have more than five tabs in a TabView, and on some screens, I'm seeing a navigation bar with the title "More". I understand that this is the default behavior of TabView when there are more than five tabs—iOS automatically creates a "More" screen. I've set navigationBarHidden = true throughout my app, but the navigation bar still appears on some screens within the "More" section. Is there another way to hide the moreNavigationController or completely remove the navigation bar from the "More" screen?
0
0
155
Jul ’25
Tahoe 26 Public Beta Disassociated my Phone Number
Not sure if this is the proper place to post this. In quotes below is what I posted on the regular forum but it was removed when I used the word 'beta' - didn't know that was an issue. The email then sent me here. "Updated both my MacBook Pro (M1, Late 2020) and my iPhone 13 Pro with the new Tahoe 26 Public Beta and now my phone number is "unavailable for iMessage and FaceTime" It's listed on the website for sign in to the account, but now messages on my different devices don't sync and I can't send from my number or receive messages in new threads to my number. After an hour or so of digging online I called their support - who didn't know about Tahoe. The best he could tell me is wait 24 hours for the system to catch up. Sigh. It's the same number I've had since (well before) iPhone 2 when I first set up the account. I've been doing the betas since they've been available, and I expect quirks and issues. I've just never had an issue this invasive." Follow up - existing threads still seem to work, I'm assuming I'm missing anyone new texting me, since my number isn't listed
1
0
184
Jul ’25
IOS 26 BETA 3
I found a glitch when you click on Phone and contacts the search bar is gone. You have to from the Home page click on contacts and the search bar is there.
0
0
187
Jul ’25
WWDC26 beta cellular issues
So recently, last week, ive updated to the Dev Beta of ios 26. This began the very issue of my cellular data. I woke up to a warning symbol where my cellular bars should be, telling me there was something wrong with my antenna or carrier when in reality there was no problem with any of those problems and took up about 53% of my storage. This is absolutely insane and unacceptable.
0
0
128
Jun ’25
ios18.6 Bug (Hotspot login)
Recently have updated one phone to the new 18.6 public beta and now I cant log into my Cox hotspot. It pops up asking for username/password as always, but when you click either of them to type it in it closes the window. Tested my second phone that wasnt updated and works just fine. Updated it to the new 18.6 and now the same thing happens
0
0
210
Jul ’25
iOS26 Wi-FI Aware Sample Fails to Retrieve Paired Devices
Device: iPhone 15 Pro Max | iPhone 16 Pro iOS Version: iOS26.0(23A5287g) Xcode Version:26.0 beta 3 (17A5276g) Sample Code: Wi-Fi Aware Sample https://developer.apple.com/documentation/WiFiAware/Building-peer-to-peer-apps I tried using the official sample code to verify the Wi-Fi Aware functionality between two iPhones. During testing, the devices successfully paired — I can see each other’s devices under Settings > Privacy & Security > Paired Devices. However, in the Wi-FIAwareSample app, neither the Host nor the Viewer can retrieve the paired devices. I’m not sure what’s causing this issue. Any insights? do { for try await updatedDeviceList in WAPairedDevice.allDevices { // always 0 key/value pairedDevices = Array(updatedDeviceList.values) } } catch { logger.error("Failed to get paired devices: \(error)") }
0
0
488
Jul ’25
Selling your first app
How long was it between putting your first app on the App Store (that had a paid component to it like IAPs) and getting your first sale? I'm working on an app at the moment that I plan on putting up for a small one time fee. I'm curious to know what people's different experiences were with this. What was your app and how did it go?
0
0
104
Jun ’25
macOS 26: Can’t add a new VPN configuration
On one of my machines (new MacMini M4Pro) I can’t add any new VPN configuration, doesn’t matter what I use. Trying to set up Tailscale, I get to the point where Tailscale brings up the "Allow VPN configuration" panel. If I hit the "Allow VPN Configuration" button, then macOS pops up its own panel: "Tailscale" Would Like to Add VPN Configurations All network activity on this Mac may be filtered or monitored when using VPN. [Allow] [Don’t Allow] I hit the allow button, and after a short wait the Tailscale panel shows in red "You must allow this to use Tailscale". I can repeat this as often as I want, but Tailscale isn’t added to the VPN configurations. If I use any other third party VPN app, I get similar results: nothing gets added to the VPN configurations. If I use macOS’s System Settings and hit the "Add VPN Configuration" pop-up menu in the VPN section, and e.g. add an IKEv2 setup, it ask me to authenticate, and then provides me with the panel into which to put the relevant settings. I enter some test settings, and then hit the [Create] button... …and nothing! The new VPN configuration doesn’t show up in the list, where it should show up. It’s as if I had done nothing. No matter what I do, the VPN configurations are immutable. I suspect that some folder somewhere is either missing or for some reason has the wrong permissions. Where are these VPN configurations stored? Any other hints on how to fix this? Reinstalling the OS does’t fix this, since this issue persisted across various betas of macOS26
2
0
469
Mar ’26
How to detect if an iPad is configured as a Shared iPad (Apple School Manager)?
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.
0
0
284
Jun ’25
Some questions about custom email domain names with iCloud+ Mail
In the actual development, I found that I could not complete the setting of my icloud+ customised email domain name SMTP. I tried to configure the SMTP of iCloud custom email according to Apple's document (https://support.apple.com/en-us/102525) but the error I looked through Apple's support file, but I didn't find the specific configuration of iCloud + customised email SMTP.
0
0
175
May ’25
IOS 26.
Good day. Friends, please help. I installed iOS 26 Betta version. During the update, there was a power surge and the Internet went out. The download was difficult but it went through. Now I can't check for updates. Write connection error and checking for updates. I can't roll back to 18.5. It gives an error through the computer. Please help. Thank you in advance.
0
0
123
Jun ’25
Authentication Methods Research
Hi everyone, I am doing some research into authentication methods on iOS apps. I'm looking to understand the choices iOS developers make and why. If you're an iOS developer, I’d be super grateful if you could take a couple of minutes to fill out a short questionnaire — it’s just 6 questions plus a few demographics, and it really helps my research. 🙂 This is a Swansea University research project approved by the Faculty of Science and Engineering under approval number 120251357213133. Link to questionnaire: https://forms.microsoft.com/e/YZme9jYZE6
0
0
261
Jul ’25
CSV or TSV file in Numbers app
Hi Everybody knows about how this kind of files works. My issue is about trying to load data from these files to a HTML page. Everything works, I can read and use this data on my project however the records I have in Numbers, text where there are commas for punctuation, will be separated when this file is loaded. The comma is breaking the records, I know this is a CSV file but is there a way to set semicolon as delimiter on Mac or Numbers to be able to use the comma in my records without any issue? Also could be another symbol, but definitely I need the commas. thank you!
0
0
145
Jun ’25
BLE advertisement
Dear Apple: After upgrading to version 26 of the iPhone, when broadcasting using the local name, the iPhone 15 Pro Max was truncated to iPhone 15 Pro Ma with a type of 08 (shortened), but the overall length of the broadcast did not exceed 31 bytes
1
0
107
Jun ’25
Testflight code
Anyone have a code for testflight? Pls i would really like to use this app, some developer?
Replies
0
Boosts
0
Views
328
Activity
Jul ’25
How to Properly Integrate Google IMA SDK for Pre-roll, Mid-roll, and Post-roll Ads in a tvOS App using TVJS and Swift?
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!
Replies
0
Boosts
0
Views
159
Activity
Jun ’25
iOS 26 restore
Hi I recently installed iOS 26 but did not make a backup, how can I get iOS 18 without losing any data?
Replies
1
Boosts
0
Views
332
Activity
Jul ’25
How to hide moreNavigationController in SwiftUI?
I have more than five tabs in a TabView, and on some screens, I'm seeing a navigation bar with the title "More". I understand that this is the default behavior of TabView when there are more than five tabs—iOS automatically creates a "More" screen. I've set navigationBarHidden = true throughout my app, but the navigation bar still appears on some screens within the "More" section. Is there another way to hide the moreNavigationController or completely remove the navigation bar from the "More" screen?
Replies
0
Boosts
0
Views
155
Activity
Jul ’25
Tahoe 26 Public Beta Disassociated my Phone Number
Not sure if this is the proper place to post this. In quotes below is what I posted on the regular forum but it was removed when I used the word 'beta' - didn't know that was an issue. The email then sent me here. "Updated both my MacBook Pro (M1, Late 2020) and my iPhone 13 Pro with the new Tahoe 26 Public Beta and now my phone number is "unavailable for iMessage and FaceTime" It's listed on the website for sign in to the account, but now messages on my different devices don't sync and I can't send from my number or receive messages in new threads to my number. After an hour or so of digging online I called their support - who didn't know about Tahoe. The best he could tell me is wait 24 hours for the system to catch up. Sigh. It's the same number I've had since (well before) iPhone 2 when I first set up the account. I've been doing the betas since they've been available, and I expect quirks and issues. I've just never had an issue this invasive." Follow up - existing threads still seem to work, I'm assuming I'm missing anyone new texting me, since my number isn't listed
Replies
1
Boosts
0
Views
184
Activity
Jul ’25
IOS 26 BETA 3
I found a glitch when you click on Phone and contacts the search bar is gone. You have to from the Home page click on contacts and the search bar is there.
Replies
0
Boosts
0
Views
187
Activity
Jul ’25
iOS 26.0 (23A5287g)
There is no option in the contacts through the phone selection to search contacts. You have to go into the actual contacts app to do that now
Replies
0
Boosts
0
Views
263
Activity
Jul ’25
WWDC26 beta cellular issues
So recently, last week, ive updated to the Dev Beta of ios 26. This began the very issue of my cellular data. I woke up to a warning symbol where my cellular bars should be, telling me there was something wrong with my antenna or carrier when in reality there was no problem with any of those problems and took up about 53% of my storage. This is absolutely insane and unacceptable.
Replies
0
Boosts
0
Views
128
Activity
Jun ’25
Contact ios26 beta3
Contact cant search right now.
Replies
2
Boosts
0
Views
109
Activity
Jul ’25
ios18.6 Bug (Hotspot login)
Recently have updated one phone to the new 18.6 public beta and now I cant log into my Cox hotspot. It pops up asking for username/password as always, but when you click either of them to type it in it closes the window. Tested my second phone that wasnt updated and works just fine. Updated it to the new 18.6 and now the same thing happens
Replies
0
Boosts
0
Views
210
Activity
Jul ’25
iOS26 Wi-FI Aware Sample Fails to Retrieve Paired Devices
Device: iPhone 15 Pro Max | iPhone 16 Pro iOS Version: iOS26.0(23A5287g) Xcode Version:26.0 beta 3 (17A5276g) Sample Code: Wi-Fi Aware Sample https://developer.apple.com/documentation/WiFiAware/Building-peer-to-peer-apps I tried using the official sample code to verify the Wi-Fi Aware functionality between two iPhones. During testing, the devices successfully paired — I can see each other’s devices under Settings > Privacy & Security > Paired Devices. However, in the Wi-FIAwareSample app, neither the Host nor the Viewer can retrieve the paired devices. I’m not sure what’s causing this issue. Any insights? do { for try await updatedDeviceList in WAPairedDevice.allDevices { // always 0 key/value pairedDevices = Array(updatedDeviceList.values) } } catch { logger.error("Failed to get paired devices: \(error)") }
Replies
0
Boosts
0
Views
488
Activity
Jul ’25
Selling your first app
How long was it between putting your first app on the App Store (that had a paid component to it like IAPs) and getting your first sale? I'm working on an app at the moment that I plan on putting up for a small one time fee. I'm curious to know what people's different experiences were with this. What was your app and how did it go?
Replies
0
Boosts
0
Views
104
Activity
Jun ’25
macOS 26: Can’t add a new VPN configuration
On one of my machines (new MacMini M4Pro) I can’t add any new VPN configuration, doesn’t matter what I use. Trying to set up Tailscale, I get to the point where Tailscale brings up the "Allow VPN configuration" panel. If I hit the "Allow VPN Configuration" button, then macOS pops up its own panel: "Tailscale" Would Like to Add VPN Configurations All network activity on this Mac may be filtered or monitored when using VPN. [Allow] [Don’t Allow] I hit the allow button, and after a short wait the Tailscale panel shows in red "You must allow this to use Tailscale". I can repeat this as often as I want, but Tailscale isn’t added to the VPN configurations. If I use any other third party VPN app, I get similar results: nothing gets added to the VPN configurations. If I use macOS’s System Settings and hit the "Add VPN Configuration" pop-up menu in the VPN section, and e.g. add an IKEv2 setup, it ask me to authenticate, and then provides me with the panel into which to put the relevant settings. I enter some test settings, and then hit the [Create] button... …and nothing! The new VPN configuration doesn’t show up in the list, where it should show up. It’s as if I had done nothing. No matter what I do, the VPN configurations are immutable. I suspect that some folder somewhere is either missing or for some reason has the wrong permissions. Where are these VPN configurations stored? Any other hints on how to fix this? Reinstalling the OS does’t fix this, since this issue persisted across various betas of macOS26
Replies
2
Boosts
0
Views
469
Activity
Mar ’26
How to detect if an iPad is configured as a Shared iPad (Apple School Manager)?
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.
Replies
0
Boosts
0
Views
284
Activity
Jun ’25
Some questions about custom email domain names with iCloud+ Mail
In the actual development, I found that I could not complete the setting of my icloud+ customised email domain name SMTP. I tried to configure the SMTP of iCloud custom email according to Apple's document (https://support.apple.com/en-us/102525) but the error I looked through Apple's support file, but I didn't find the specific configuration of iCloud + customised email SMTP.
Replies
0
Boosts
0
Views
175
Activity
May ’25
IOS 26.
Good day. Friends, please help. I installed iOS 26 Betta version. During the update, there was a power surge and the Internet went out. The download was difficult but it went through. Now I can't check for updates. Write connection error and checking for updates. I can't roll back to 18.5. It gives an error through the computer. Please help. Thank you in advance.
Replies
0
Boosts
0
Views
123
Activity
Jun ’25
Authentication Methods Research
Hi everyone, I am doing some research into authentication methods on iOS apps. I'm looking to understand the choices iOS developers make and why. If you're an iOS developer, I’d be super grateful if you could take a couple of minutes to fill out a short questionnaire — it’s just 6 questions plus a few demographics, and it really helps my research. 🙂 This is a Swansea University research project approved by the Faculty of Science and Engineering under approval number 120251357213133. Link to questionnaire: https://forms.microsoft.com/e/YZme9jYZE6
Replies
0
Boosts
0
Views
261
Activity
Jul ’25
CSV or TSV file in Numbers app
Hi Everybody knows about how this kind of files works. My issue is about trying to load data from these files to a HTML page. Everything works, I can read and use this data on my project however the records I have in Numbers, text where there are commas for punctuation, will be separated when this file is loaded. The comma is breaking the records, I know this is a CSV file but is there a way to set semicolon as delimiter on Mac or Numbers to be able to use the comma in my records without any issue? Also could be another symbol, but definitely I need the commas. thank you!
Replies
0
Boosts
0
Views
145
Activity
Jun ’25
My ios26 is not a liquid glass in iPhone 11 pro max
My iphone 11 pro max in ios 26 is not a liquid glass like other
Replies
1
Boosts
0
Views
273
Activity
Jul ’25
BLE advertisement
Dear Apple: After upgrading to version 26 of the iPhone, when broadcasting using the local name, the iPhone 15 Pro Max was truncated to iPhone 15 Pro Ma with a type of 08 (shortened), but the overall length of the broadcast did not exceed 31 bytes
Replies
1
Boosts
0
Views
107
Activity
Jun ’25