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

Severe battery drain on Apple Watch SE2 after updating to watchOS 26.0 beta
I am writing to report a significant battery drain issue after updating my Apple Watch SE (2nd generation) to watchOS 26.0 beta. Since the update, my watch’s battery life has drastically decreased: it goes from 100% to 0% in just 6 hours, whereas previously, under my typical usage, a single charge would last about 1.5 days. I have already tried the following troubleshooting steps without success: 1. Performed a fresh reset of the watch. 2. Reset my iPhone. 3. Disabled background app activity. 4. Enabled airplane mode and power saving mode. 5. Disabled Live Activities and Photo Memories Despite these measures, the issue persists. The battery health of my watch is at 90%, so I believe this is likely related to the software update. I am quite concerned about this situation. I have researched and noticed that similar battery drain problems were reported by beta testers of watchOS 11, and unfortunately, there appeared to be no clear resolution at that time. I rely on my Apple Watch daily, and I sincerely hope this can be addressed soon. I would appreciate your assistance in resolving this issue, as it is significantly affecting the usability of my Apple Watch. Thank you for your attention to this matter.
1
0
320
Jun ’25
Questions about BLE broadcasting in version 26
After upgrading to iOS system 26, the local name broadcast type is 08, but before upgrading, it is 09 and will be included in the scan resp message; In version 26, the scan resp will also include Manufacturer Specific Data. Before the upgrade, the broadcast message may not necessarily include Manufacturer Specific Data; What I want to ask is, are there any restrictions on Bluetooth broadcasting in version 26? Is it necessary to include Manufacturer Specific Data data? If Manufacturer Specific Data data is included, it may cause fields in the local name broadcast to be truncated and use simple names of type 08
1
0
118
Jun ’25
IOS 26,BLE Localname is truncated to 6 bytes
When I startAdvertising, my localName is long,Will not be truncated and the type is 0X09; self.advertisementData = @{CBAdvertisementDataLocalNameKey: localDevName, CBAdvertisementDataServiceUUIDsKey: @[[CBUUID UUIDWithString:serviceUUID]] }; [self.peripheralManager startAdvertising:self.advertisementData]; IOS 18.5: The service uuids in ADV_IND occupies 24 bytes, the local name in SCAN_RESP is 20 bytes in size and has not been truncated, and there is no manufacturer specific data in SCAN_RESP;You can view the following image: But in IOS26, why is the local name truncated to only 6 bytes for the same message, and why does SCAN_RESP always contain Manufacturer Specific Data; Why is there such a big difference, and what changes has iOS 26 made for broadcasting? Is it necessary to include Manufacturer Specific Data in the IOS 26 SCAN.RESP message? What documents are available for reference? Is there any way to ensure that the local name is not truncated? Is there a maximum length limit Are there other ways to broadcast longer data? Does anyone know why? thank
1
0
208
Jun ’25
IOS 26`
Anyone else's phone die after installed iOS 26 beta? I'm not happy at all. shows that my phone is charging but will not turn on. have tried hard resetting it 50+ times, 5 different chargers.. nothing.
2
1
326
Jun ’25
Apple Music Preview URLs from MusicKit
Hey guys, I've been searching high and low for some clarity when it comes to this topic. Essentially, what is the legality/risk of using apple music previews in my app. Does Apple license the previews meaning they are fair to use as long as I link to that URL? Do i need to license every song individually? I can not find anything concrete out and while the apple team let my app (that currently plays preview urls) on the app store I know that doesn't necessarily legally cover me. Any input is appreciated, i know this is a pretty niche area.
0
0
115
Jun ’25
Payment for membership in the app
Hi!!! I can't publish the app as I have a paid membership through Stripe. I have a wordpress site and have a paid membership to access the content... The app is geared by a third party service and I can't put any code into it... What can I do? There is an idea that in the application to display a link to the site where to place the payment for membership... Please advise, I'm not the first to face this....
0
0
221
May ’25
Pictures
I am running the iOS 26. I am having issues with deleting the pictures. I have checked my iCloud storage and my phone storage and all is good there. Not sure why they will not delete. I have the iPhone 16
1
0
72
Jun ’25
No Connection To Mobile Data
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
0
0
60
Jun ’25
DeviceActivityEvent will still execute even if the app is not in use
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
0
0
141
Jun ’25
Screen Sharing failures after installing MacOS 26 Beta 2
Upgraded my M1 Mac mini from MacOS Tahoe 26 Beta to Beta 2. Prior to the update I had no problem connecting to the Max mini from my MacBook Pro M2 running Now, attempting to connect to the Mac mini from a MacBook Pro M2 running Sequoia 15.5. After the update, I can enter my password, but then I am disconnected with the error "This Mac was unable to start a High Performance connection to the Mac mini" and to "change the screen sharing type to standard and try again" Connecting via a "Standard" connection showed that the Window Server failed.
0
0
94
Jun ’25
iPhone 13 Pro stuck in DFU/Recovery after failed flash.
Installed the iOS 26 Beta on my iPhone 13 Pro last night, hated it. I wasn't aware that there is a supported way of restoring back to iOS18.5, so I (foolishly) opted to flash the iOS18.5 ispw file onto my device using a 3rd party tool. Now, my device is stuck in a state between. Unable to flash, unable to use itunes to restore, randomly gives error codes during restoration attempts. Worries my device may be lost permanently! Please advise.
0
0
93
Jun ’25
iOS 26 Beta Bug
Updated iPhone to 26 beta 2, everything is ok but battery, battery is changed, not original. My phone can't charge higher than 1% and turns off every 5 minutes, even connecting to wireless charger and cable at the same time don't work, restored iPhone thru iTunes.I hope I will be able to install new beta without any problems because loving the new design,hoping for the best. Thanks.
2
3
264
Jun ’25
Displaying limited contacts list in UIKit
I have an app that was written in UIKit. It's too large, and it would be much too time consuming at this point to convert it to SwiftUI. I want to incorporate the new limited contacts into this app. The way it's currently written everything works fine except for showing the limited contacts in the contact picker. I have downloaded and gone though the Apple tutorial app but I'm having trouble thinking it through into UIKit. After a couple of hours I decided I need help. I understand I need to pull the contact IDs of the contacts that are in the limited contacts list. Not sure how to do that or how to get it to display in the picker. Any help would be greatly appreciated. func requestAccess(completionHandler: @escaping (_ accessGranted: Bool) -> Void) { switch CNContactStore.authorizationStatus(for: .contacts) { case .authorized: completionHandler(true) case .denied: showSettingsAlert(completionHandler) case .restricted, .notDetermined: CNContactStore().requestAccess(for: .contacts) { granted, error in if granted { completionHandler(true) } else { DispatchQueue.main.async { [weak self] in self?.showSettingsAlert(completionHandler) } } } // iOS 18 only case .limited: completionHandler(true) @unknown default: break } } // A text field that displays the name of the chosen contact @IBAction func contact_Fld_Tapped(_ sender: TextField_Designable) { sender.resignFirstResponder() // The contact ID that is saved to the Db getTheCurrentContactID() let theAlert = UIAlertController(title: K.Titles.chooseAContact, message: nil, preferredStyle: .actionSheet) // Create a new contact let addContact = UIAlertAction(title: K.Titles.newContact, style: .default) { [weak self] _ in self?.requestAccess { _ in let openContact = CNContact() let vc = CNContactViewController(forNewContact: openContact) vc.delegate = self // this delegate CNContactViewControllerDelegate DispatchQueue.main.async { self?.present(UINavigationController(rootViewController: vc), animated: true) } } } let getContact = UIAlertAction(title: K.Titles.fromContacts, style: .default) { [weak self] _ in self?.requestAccess { _ in self?.contactPicker.delegate = self DispatchQueue.main.async { self?.present(self!.contactPicker, animated: true) } } } let editBtn = UIAlertAction(title: K.Titles.editContact, style: .default) { [weak self] _ in self?.requestAccess { _ in let store = CNContactStore() var vc = CNContactViewController() do { let descriptor = CNContactViewController.descriptorForRequiredKeys() let editContact = try store.unifiedContact(withIdentifier: self!.oldContactID, keysToFetch: [descriptor]) vc = CNContactViewController(for: editContact) } catch { print("Getting contact to edit failed: \(self!.VC_String) \(error)") } vc.delegate = self // delegate for CNContactViewControllerDelegate self?.navigationController?.isNavigationBarHidden = false self?.navigationController?.navigationItem.hidesBackButton = false self?.navigationController?.pushViewController(vc, animated: true) } } let cancel = UIAlertAction(title: K.Titles.cancel, style: .cancel) { _ in } if oldContactID.isEmpty { editBtn.isEnabled = false } theAlert.addAction(getContact) // Select from contacts theAlert.addAction(addContact) // Create new contact theAlert.addAction(editBtn) // Edit this contact theAlert.addAction(cancel) let popOver = theAlert.popoverPresentationController popOver?.sourceView = sender popOver?.sourceRect = sender.bounds popOver?.permittedArrowDirections = .any present(theAlert,animated: true) } func requestAccess(completionHandler: @escaping (_ accessGranted: Bool) -> Void) { switch CNContactStore.authorizationStatus(for: .contacts) { case .authorized: completionHandler(true) case .denied: showSettingsAlert(completionHandler) case .restricted, .notDetermined: CNContactStore().requestAccess(for: .contacts) { granted, error in if granted { completionHandler(true) } else { DispatchQueue.main.async { [weak self] in self?.showSettingsAlert(completionHandler) } } } // iOS 18 only case .limited: completionHandler(true) @unknown default: break } } // MARK: - Contact Picker Delegate extension AddEdit_Quote_VC: CNContactPickerDelegate { func contactPicker(_ picker: CNContactPickerViewController, didSelect contact: CNContact) { selectedContactID = contact.identifier let company: String = contact.organizationName let companyText = company == "" ? K.Titles.noCompanyName : contact.organizationName contactNameFld_Outlet.text = CNContactFormatter.string(from: contact, style: .fullName)! companyFld_Outlet.text = companyText save_Array[0] = K.AppFacing.true_App setSaveBtn_AEQuote() } } extension AddEdit_Quote_VC: CNContactViewControllerDelegate { func contactViewController(_ viewController: CNContactViewController, shouldPerformDefaultActionFor property: CNContactProperty) -> Bool { return false } func contactViewController(_ viewController: CNContactViewController, didCompleteWith contact: CNContact?) { selectedContactID = contact?.identifier ?? "" if selectedContactID != "" { let company: String = contact?.organizationName ?? "" let companyText = company == "" ? K.Titles.noCompanyName : contact!.organizationName contactNameFld_Outlet.text = CNContactFormatter.string(from: contact!, style: .fullName) companyFld_Outlet.text = companyText getTheCurrentContactID() if selectedContactID != oldContactID { save_Array[0] = K.AppFacing.true_App setSaveBtn_AEQuote() } } dismiss(animated: true, completion: nil) } }
2
0
991
Jun ’25
Caution: watchOS 26 Beta 2 (may) brick Hermes variants
Exercise caution applying Beta 2 on a Hermes Apple Watch. A number of anecdotes (including my own) that this causes very rapid battery drain, i.e. minutes, followed by a cycle of lower power mode, and very slow charge as battery drain seems as fast as charge so it tops out in low single digit %. Any interaction seems to cause the cycle to recur, rendering the watch in effect unusable. The connection to the phone is also broken, with the Watch app crashing after 1–2 seconds, 100% repeatably. This post is to caution avoidance, but a fix is going to be problematic if the watch can't get anywhere near 50% charge. The "anecdata" that this is widespread specifically with Hermes watches is: https://forums.macrumors.com/threads/watchos-26-beta-thread.2458443/page-5?post=33976625#post-33976625 And: https://www.reddit.com/r/watchOSBeta/comments/1lipud8/comment/mzh6ekt/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button Emailed through developer.apple.com with case ID 102630146259. Submitted feedback FB18336070 & FB18323575.
9
5
1.2k
Jun ’25
Unify Native iOS Utility Apps into a Single Modular AI-Enhanced App (Apple Assist)
Hello Apple Developer Community, I'd like to propose a system-wide enhancement for future versions of iOS: the integration of native utility apps — Calculator, Compass, Voice Memos, Magnifier, Measure, Weather, and Translate — into a single unified app, tentatively called Apple Assist. The vision is to provide: A modular interface where users can enable/disable tools as needed. Smarter workflows with proactive suggestions based on context (time, location, task). AI-powered interaction through voice and Apple Intelligence (Advanced Siri). Benefits: Reduces icon clutter on the Home Screen. Simplifies the user experience with a single access point. Creates opportunities for automation and accessibility. Imagine saying: “Hey Siri, record a quick note and measure the table” — and the app smartly loads those modules on demand. Would love to hear feedback from the community — and whether Apple might consider something in this direction for iOS 19 or beyond. Best regards, Jose Luiz Horta Barbosa Maurity Cruz
3
0
114
Jun ’25
Severe battery drain on Apple Watch SE2 after updating to watchOS 26.0 beta
I am writing to report a significant battery drain issue after updating my Apple Watch SE (2nd generation) to watchOS 26.0 beta. Since the update, my watch’s battery life has drastically decreased: it goes from 100% to 0% in just 6 hours, whereas previously, under my typical usage, a single charge would last about 1.5 days. I have already tried the following troubleshooting steps without success: 1. Performed a fresh reset of the watch. 2. Reset my iPhone. 3. Disabled background app activity. 4. Enabled airplane mode and power saving mode. 5. Disabled Live Activities and Photo Memories Despite these measures, the issue persists. The battery health of my watch is at 90%, so I believe this is likely related to the software update. I am quite concerned about this situation. I have researched and noticed that similar battery drain problems were reported by beta testers of watchOS 11, and unfortunately, there appeared to be no clear resolution at that time. I rely on my Apple Watch daily, and I sincerely hope this can be addressed soon. I would appreciate your assistance in resolving this issue, as it is significantly affecting the usability of my Apple Watch. Thank you for your attention to this matter.
Replies
1
Boosts
0
Views
320
Activity
Jun ’25
macOS Sequoia + iOS 26 beta for iPhone
There seems to be a broken USB sync and Finder recognition issue. Is there a fix to this?
Replies
0
Boosts
0
Views
61
Activity
Jun ’25
Questions about BLE broadcasting in version 26
After upgrading to iOS system 26, the local name broadcast type is 08, but before upgrading, it is 09 and will be included in the scan resp message; In version 26, the scan resp will also include Manufacturer Specific Data. Before the upgrade, the broadcast message may not necessarily include Manufacturer Specific Data; What I want to ask is, are there any restrictions on Bluetooth broadcasting in version 26? Is it necessary to include Manufacturer Specific Data data? If Manufacturer Specific Data data is included, it may cause fields in the local name broadcast to be truncated and use simple names of type 08
Replies
1
Boosts
0
Views
118
Activity
Jun ’25
IOS 26,BLE Localname is truncated to 6 bytes
When I startAdvertising, my localName is long,Will not be truncated and the type is 0X09; self.advertisementData = @{CBAdvertisementDataLocalNameKey: localDevName, CBAdvertisementDataServiceUUIDsKey: @[[CBUUID UUIDWithString:serviceUUID]] }; [self.peripheralManager startAdvertising:self.advertisementData]; IOS 18.5: The service uuids in ADV_IND occupies 24 bytes, the local name in SCAN_RESP is 20 bytes in size and has not been truncated, and there is no manufacturer specific data in SCAN_RESP;You can view the following image: But in IOS26, why is the local name truncated to only 6 bytes for the same message, and why does SCAN_RESP always contain Manufacturer Specific Data; Why is there such a big difference, and what changes has iOS 26 made for broadcasting? Is it necessary to include Manufacturer Specific Data in the IOS 26 SCAN.RESP message? What documents are available for reference? Is there any way to ensure that the local name is not truncated? Is there a maximum length limit Are there other ways to broadcast longer data? Does anyone know why? thank
Replies
1
Boosts
0
Views
208
Activity
Jun ’25
IOS 26`
Anyone else's phone die after installed iOS 26 beta? I'm not happy at all. shows that my phone is charging but will not turn on. have tried hard resetting it 50+ times, 5 different chargers.. nothing.
Replies
2
Boosts
1
Views
326
Activity
Jun ’25
Apple Music Preview URLs from MusicKit
Hey guys, I've been searching high and low for some clarity when it comes to this topic. Essentially, what is the legality/risk of using apple music previews in my app. Does Apple license the previews meaning they are fair to use as long as I link to that URL? Do i need to license every song individually? I can not find anything concrete out and while the apple team let my app (that currently plays preview urls) on the app store I know that doesn't necessarily legally cover me. Any input is appreciated, i know this is a pretty niche area.
Replies
0
Boosts
0
Views
115
Activity
Jun ’25
Payment for membership in the app
Hi!!! I can't publish the app as I have a paid membership through Stripe. I have a wordpress site and have a paid membership to access the content... The app is geared by a third party service and I can't put any code into it... What can I do? There is an idea that in the application to display a link to the site where to place the payment for membership... Please advise, I'm not the first to face this....
Replies
0
Boosts
0
Views
221
Activity
May ’25
Pictures
I am running the iOS 26. I am having issues with deleting the pictures. I have checked my iCloud storage and my phone storage and all is good there. Not sure why they will not delete. I have the iPhone 16
Replies
1
Boosts
0
Views
72
Activity
Jun ’25
No Connection To Mobile Data
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
Replies
0
Boosts
0
Views
60
Activity
Jun ’25
DeviceActivityEvent will still execute even if the app is not in use
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
Replies
0
Boosts
0
Views
141
Activity
Jun ’25
Screen Sharing failures after installing MacOS 26 Beta 2
Upgraded my M1 Mac mini from MacOS Tahoe 26 Beta to Beta 2. Prior to the update I had no problem connecting to the Max mini from my MacBook Pro M2 running Now, attempting to connect to the Mac mini from a MacBook Pro M2 running Sequoia 15.5. After the update, I can enter my password, but then I am disconnected with the error "This Mac was unable to start a High Performance connection to the Mac mini" and to "change the screen sharing type to standard and try again" Connecting via a "Standard" connection showed that the Window Server failed.
Replies
0
Boosts
0
Views
94
Activity
Jun ’25
iPhone 13 Pro stuck in DFU/Recovery after failed flash.
Installed the iOS 26 Beta on my iPhone 13 Pro last night, hated it. I wasn't aware that there is a supported way of restoring back to iOS18.5, so I (foolishly) opted to flash the iOS18.5 ispw file onto my device using a 3rd party tool. Now, my device is stuck in a state between. Unable to flash, unable to use itunes to restore, randomly gives error codes during restoration attempts. Worries my device may be lost permanently! Please advise.
Replies
0
Boosts
0
Views
93
Activity
Jun ’25
iOS 26 Beta Bug
Updated iPhone to 26 beta 2, everything is ok but battery, battery is changed, not original. My phone can't charge higher than 1% and turns off every 5 minutes, even connecting to wireless charger and cable at the same time don't work, restored iPhone thru iTunes.I hope I will be able to install new beta without any problems because loving the new design,hoping for the best. Thanks.
Replies
2
Boosts
3
Views
264
Activity
Jun ’25
Displaying limited contacts list in UIKit
I have an app that was written in UIKit. It's too large, and it would be much too time consuming at this point to convert it to SwiftUI. I want to incorporate the new limited contacts into this app. The way it's currently written everything works fine except for showing the limited contacts in the contact picker. I have downloaded and gone though the Apple tutorial app but I'm having trouble thinking it through into UIKit. After a couple of hours I decided I need help. I understand I need to pull the contact IDs of the contacts that are in the limited contacts list. Not sure how to do that or how to get it to display in the picker. Any help would be greatly appreciated. func requestAccess(completionHandler: @escaping (_ accessGranted: Bool) -> Void) { switch CNContactStore.authorizationStatus(for: .contacts) { case .authorized: completionHandler(true) case .denied: showSettingsAlert(completionHandler) case .restricted, .notDetermined: CNContactStore().requestAccess(for: .contacts) { granted, error in if granted { completionHandler(true) } else { DispatchQueue.main.async { [weak self] in self?.showSettingsAlert(completionHandler) } } } // iOS 18 only case .limited: completionHandler(true) @unknown default: break } } // A text field that displays the name of the chosen contact @IBAction func contact_Fld_Tapped(_ sender: TextField_Designable) { sender.resignFirstResponder() // The contact ID that is saved to the Db getTheCurrentContactID() let theAlert = UIAlertController(title: K.Titles.chooseAContact, message: nil, preferredStyle: .actionSheet) // Create a new contact let addContact = UIAlertAction(title: K.Titles.newContact, style: .default) { [weak self] _ in self?.requestAccess { _ in let openContact = CNContact() let vc = CNContactViewController(forNewContact: openContact) vc.delegate = self // this delegate CNContactViewControllerDelegate DispatchQueue.main.async { self?.present(UINavigationController(rootViewController: vc), animated: true) } } } let getContact = UIAlertAction(title: K.Titles.fromContacts, style: .default) { [weak self] _ in self?.requestAccess { _ in self?.contactPicker.delegate = self DispatchQueue.main.async { self?.present(self!.contactPicker, animated: true) } } } let editBtn = UIAlertAction(title: K.Titles.editContact, style: .default) { [weak self] _ in self?.requestAccess { _ in let store = CNContactStore() var vc = CNContactViewController() do { let descriptor = CNContactViewController.descriptorForRequiredKeys() let editContact = try store.unifiedContact(withIdentifier: self!.oldContactID, keysToFetch: [descriptor]) vc = CNContactViewController(for: editContact) } catch { print("Getting contact to edit failed: \(self!.VC_String) \(error)") } vc.delegate = self // delegate for CNContactViewControllerDelegate self?.navigationController?.isNavigationBarHidden = false self?.navigationController?.navigationItem.hidesBackButton = false self?.navigationController?.pushViewController(vc, animated: true) } } let cancel = UIAlertAction(title: K.Titles.cancel, style: .cancel) { _ in } if oldContactID.isEmpty { editBtn.isEnabled = false } theAlert.addAction(getContact) // Select from contacts theAlert.addAction(addContact) // Create new contact theAlert.addAction(editBtn) // Edit this contact theAlert.addAction(cancel) let popOver = theAlert.popoverPresentationController popOver?.sourceView = sender popOver?.sourceRect = sender.bounds popOver?.permittedArrowDirections = .any present(theAlert,animated: true) } func requestAccess(completionHandler: @escaping (_ accessGranted: Bool) -> Void) { switch CNContactStore.authorizationStatus(for: .contacts) { case .authorized: completionHandler(true) case .denied: showSettingsAlert(completionHandler) case .restricted, .notDetermined: CNContactStore().requestAccess(for: .contacts) { granted, error in if granted { completionHandler(true) } else { DispatchQueue.main.async { [weak self] in self?.showSettingsAlert(completionHandler) } } } // iOS 18 only case .limited: completionHandler(true) @unknown default: break } } // MARK: - Contact Picker Delegate extension AddEdit_Quote_VC: CNContactPickerDelegate { func contactPicker(_ picker: CNContactPickerViewController, didSelect contact: CNContact) { selectedContactID = contact.identifier let company: String = contact.organizationName let companyText = company == "" ? K.Titles.noCompanyName : contact.organizationName contactNameFld_Outlet.text = CNContactFormatter.string(from: contact, style: .fullName)! companyFld_Outlet.text = companyText save_Array[0] = K.AppFacing.true_App setSaveBtn_AEQuote() } } extension AddEdit_Quote_VC: CNContactViewControllerDelegate { func contactViewController(_ viewController: CNContactViewController, shouldPerformDefaultActionFor property: CNContactProperty) -> Bool { return false } func contactViewController(_ viewController: CNContactViewController, didCompleteWith contact: CNContact?) { selectedContactID = contact?.identifier ?? "" if selectedContactID != "" { let company: String = contact?.organizationName ?? "" let companyText = company == "" ? K.Titles.noCompanyName : contact!.organizationName contactNameFld_Outlet.text = CNContactFormatter.string(from: contact!, style: .fullName) companyFld_Outlet.text = companyText getTheCurrentContactID() if selectedContactID != oldContactID { save_Array[0] = K.AppFacing.true_App setSaveBtn_AEQuote() } } dismiss(animated: true, completion: nil) } }
Replies
2
Boosts
0
Views
991
Activity
Jun ’25
iPhone13pro max 美版A2484 iOS 26.0 (23A5276f)
触控按钮里面的截屏功能无法使用。按键组合截屏可以是正常使用。
Replies
0
Boosts
0
Views
79
Activity
Jun ’25
iPadOS 26
I launched Amazon Prime and bricked my IPad all reset options have failed, any one have some thought?
Replies
1
Boosts
0
Views
79
Activity
Jun ’25
Caution: watchOS 26 Beta 2 (may) brick Hermes variants
Exercise caution applying Beta 2 on a Hermes Apple Watch. A number of anecdotes (including my own) that this causes very rapid battery drain, i.e. minutes, followed by a cycle of lower power mode, and very slow charge as battery drain seems as fast as charge so it tops out in low single digit %. Any interaction seems to cause the cycle to recur, rendering the watch in effect unusable. The connection to the phone is also broken, with the Watch app crashing after 1–2 seconds, 100% repeatably. This post is to caution avoidance, but a fix is going to be problematic if the watch can't get anywhere near 50% charge. The "anecdata" that this is widespread specifically with Hermes watches is: https://forums.macrumors.com/threads/watchos-26-beta-thread.2458443/page-5?post=33976625#post-33976625 And: https://www.reddit.com/r/watchOSBeta/comments/1lipud8/comment/mzh6ekt/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button Emailed through developer.apple.com with case ID 102630146259. Submitted feedback FB18336070 & FB18323575.
Replies
9
Boosts
5
Views
1.2k
Activity
Jun ’25
Unify Native iOS Utility Apps into a Single Modular AI-Enhanced App (Apple Assist)
Hello Apple Developer Community, I'd like to propose a system-wide enhancement for future versions of iOS: the integration of native utility apps — Calculator, Compass, Voice Memos, Magnifier, Measure, Weather, and Translate — into a single unified app, tentatively called Apple Assist. The vision is to provide: A modular interface where users can enable/disable tools as needed. Smarter workflows with proactive suggestions based on context (time, location, task). AI-powered interaction through voice and Apple Intelligence (Advanced Siri). Benefits: Reduces icon clutter on the Home Screen. Simplifies the user experience with a single access point. Creates opportunities for automation and accessibility. Imagine saying: “Hey Siri, record a quick note and measure the table” — and the app smartly loads those modules on demand. Would love to hear feedback from the community — and whether Apple might consider something in this direction for iOS 19 or beyond. Best regards, Jose Luiz Horta Barbosa Maurity Cruz
Replies
3
Boosts
0
Views
114
Activity
Jun ’25