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.

All subtopics
Posts under Community topic

Post

Replies

Boosts

Views

Activity

Question About CarPlay Certification When Using Custom Wiring Harness
Hello developers, My question isn't directly related to app or software development, but this seems to be the most appropriate channel to possibly find the information I need. Context I work for an automotive company and I'm currently looking for Apple CarPlay certification guidelines. We're in the process of installing a multimedia system in a vehicle. The most viable solution would be to use the multimedia unit and microphone provided by our supplier, but with a custom wiring harness developed by our company to simplify the installation process. The multimedia unit, microphone, and the supplier’s harness are already certified for CarPlay. Question Would using our company’s custom wiring harness affect the existing CarPlay certification of the supplier’s product? Any information, contact, or suggestion on where I could find official guidance on this matter would be greatly appreciated. Thank you in advance!
0
0
31
Jun ’25
iOS 26 0% Battery Health
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. My FB-FB18327769
0
1
92
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
87
Jun ’25
Apple JS SDK: invalid_client error with new Service IDs in AppleID.auth.signIn()
We’re integrating Sign in with Apple using Apple’s official JavaScript SDK: https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js We’ve successfully used this setup with an older Service ID, but when we try to use any newly created Service ID, we get the following error immediately when calling AppleID.auth.signIn(): invalid_client This happens before any request reaches our backend. The same flow, redirect URI, and frontend code works fine with an old Service ID — but fails with new ones. ✅ What We’ve Verified: The Service ID (e.g., com.projectx.web.login) is created under Apple Developer → Identifiers → Service IDs The redirect URI is correct and matches exactly (HTTPS, no trailing slash) No client_secret is passed in the frontend (by design) We’re using usePopup: true ❌ What Doesn’t Work: Any new Service ID we create — even on the same domain and configuration — fails with invalid_client. 🔁 What We’ve Tried: Creating multiple new Service IDs Waiting 48+ hours in case of propagation delays Validating HTTPS and redirect URI setup Comparing all settings with the working (older) Service ID (which we deleted since we thought that was causing a problem) Testing in different environments and browsers ❓ Questions: Why do newly created Service IDs fail with invalid_client while older ones work? Are there undocumented requirements, propagation delays, or steps for new Service IDs to become active? Is this a known limitation or bug in the SDK? 💻 Our Code: import { useEffect } from "react"; import { Button, Box } from "@mui/material"; import api from "../utils/api"; // Axios wrapper import AppleIcon from "@mui/icons-material/Apple"; import MainAuthStyles from "../pages/MainAuthStyles"; import { useUser } from "../../../user-module/src/contexts/UserContext"; import { useNavigate } from "react-router-dom"; // Apple global type declare global { interface Window { AppleID: any; } } type AppleSignInButtonProps = { setApiError: (msg: string) => void; }; const AppleLogInButton = ({ setApiError }: AppleSignInButtonProps) => { const { user, setUser } = useUser(); const navigate = useNavigate(); useEffect(() => { if (!window.AppleID) return; window.AppleID.auth.init({ clientId: import.meta.env.VITE_APPLE_CLIENT_ID, scope: "name email", redirectURI: import.meta.env.VITE_APPLE_REDIRECT_URI, usePopup: true, }); }, []); const handleAppleLogin = async () => { try { const response = await window.AppleID.auth.signIn(); const { id_token, code, user } = response.authorization; const res = await api.post("/auth/apple-login", { idToken: id_token, code, user, rememberMe: true, }); if (res.data.success == true && res.data.user.userDataInitialised == true ) { setUser({ id: res.data.user.id ? res.data.user.id : '', fullName: res.data.user.fullName ? res.data.user.fullName : '', email: res.data.user.email ? res.data.user.email : '', role: res.data.user.role ? res.data.user.role : '', signUpType: res.data.user.signUpType ? res.data.user.signUpType : '', userDataInitialised: res.data.user.userDataInitialised ? res.data.user.userDataInitialised : false, }); localStorage.setItem("accessToken", res.data.accessToken); localStorage.setItem("refreshToken", res.data.refreshToken); navigate("/app") } else { setApiError("Unrecognized login method") return; } } catch (err) { console.error("Apple Sign-In failed", err); setApiError("AppleSignInFailed"); } }; return ( <Box mt={2}> <Button variant="outlined" fullWidth onClick={handleAppleLogin} className="AuthAppleButton" startIcon={<AppleIcon />} > Log in with Apple </Button> </Box> ); }; export default AppleLogInButton; Any help from the Apple team or anyone who's resolved this issue would be appreciated — we’re currently blocked on deploying new environments due to this error. Thanks!
0
0
50
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
14
Jun ’25
Summary of issues encountered with the Screen Time interface
I have developed three apps using the Screen Time API. The following are common problems I encountered in the three apps: DeviceActivityMonitorExtension is automatically killed after running for a few days (frequently) The same DeviceActivityEvent in DeviceActivityMonitorExtension is triggered twice during eventDidReachThreshold (especially obvious in iOS18.5) Screen Time authorization is automatically canceled for no reason (occasionally) I hope to get help
5
2
125
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
715
Jun ’25
ios 26 battery 0%
«Hello everyone, after installing iOS 26, I noticed that on my iPhone 13 Pro, which had its battery replaced, the battery status in the settings shows 0%, and the phone does not charge more than 1%, no matter how long I leave it plugged in. The same problem is observed on iPhones 14 and lower where the battery (FB18154101) was replaced.»
4
2
96
Jun ’25
Developer Program enrollment stuck in review for nearly 3 months – any advice?
Hello, I'm reaching out to see if anyone has experienced a similar issue and can share any advice. We submitted our Apple Developer Program enrollment nearly three months ago, and the status has remained “In Review” ever since. We've contacted Apple Support several times by email, but all the responses have been generic – simply stating that the application is still under review, with no indication of what's causing the delay. To clarify: Our company is legally registered in Saint Vincent, but our development operations and team are based in the Philippines, which is also where the enrollment was submitted. We have no unresolved communications or pending documentation requests from Apple. This extended delay is starting to affect our business operations. Has anyone else experienced such a long review time? Were you able to escalate the issue successfully or get a more specific response from Apple? Any tips or insights would be greatly appreciated. Thank you!
1
0
69
Jun ’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
42
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
54
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
107
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
53
Jun ’25
Library not loaded: /usr/lib/swift/libswiftWebKit.dylib,...SquareReaderSDK
hi team To continue testing Xcode 26 beta for our POS project's compatibility with the upcoming iOS 26 release in September, we’ve been running trials on various simulators. While the app works fine on iOS 18 simulators (iPad Pro/Air), it fails to launch on iOS 26-based iPad simulators with the following error: "libswiftWebKit.dylib library is not loaded"...... SquareReaderSDK Reason: tried: '/Users/username/Library/Developer/Xcode/DerivedData/ProjectnamePOS-buqsthxxbyqalydvfpxruhzgmymf/Build/Products/Debug-iphonesimulator/libswiftWebKit.dylib (Detailed logs are shared below.) Is there a known fix for this issue, or is a resolution expected in an upcoming beta release? dyld[34660]: Library not loaded: /usr/lib/swift/libswiftWebKit.dylib Referenced from: <BA066DAA-6AD6-3622-9A40-08C1600B0DC6> /Users/username/Library/Developer/CoreSimulator/Devices/3F807800-D684-4398-89DC-1AEC1747A99A/data/Containers/Bundle/Application/5327A260-4241-48F6-85C2-A7E0E0F152E3/Projectname.app/Frameworks/SquareReaderSDK.framework/SquareReaderSDK Reason: tried: '/Users/username/Library/Developer/Xcode/DerivedData/ProjectnamePOS-buqsthxxbyqalydvfpxruhzgmymf/Build/Products/Debug-iphonesimulator/libswiftWebKit.dylib' (no such file), '/Library/Developer/CoreSimulator/Volumes/iOS_23A5260l/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 26.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/introspection/libswiftWebKit.dylib' (no such file), '/Library/Developer/CoreSimulator/Volumes/iOS_23A5260l/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 26.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib/swift/libswiftWebKit.dylib' (no such file), '/usr/lib/swift/libswiftWebKit.dylib' (no such file, not in dyld cache), '/Library/Developer/CoreSimulator/Volumes/iOS_23A5260l/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 26.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libswiftWebKit.dylib' (no such file) Library not loaded: /usr/lib/swift/libswiftWebKit.dylib Referenced from: <BA066DAA-6AD6-3622-9A40-08C1600B0DC6> /Users/username/Library/Developer/CoreSimulator/Devices/3F807800-D684-4398-89DC-1AEC1747A99A/data/Containers/Bundle/Application/5327A260-4241-48F6-85C2-A7E0E0F152E3/Projectname.app/Frameworks/SquareReaderSDK.framework/SquareReaderSDK Reason: tried: '/Users/username/Library/Developer/Xcode/DerivedData/ProjectnamePOS-buqsthxxbyqalydvfpxruhzgmymf/Build/Products/Debug-iphonesimulator/libswiftWebKit.dylib' (no such file), '/Library/Developer/CoreSimulator/Volumes/iOS_23A5260l/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 26.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/introspection/libswiftWebKit.dylib' (no such file), '/Library/Developer/CoreSimulator/Volumes/iOS_23A5260l/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 26.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib/swift/libswiftWebKit.dylib' (no such file), '/usr/lib/swift/libswiftWebKit.dylib' (no such dyld config: DYLD_SHARED_CACHE_DIR=/Library/Developer/CoreSimulator/Caches/dyld/24F74/com.apple.CoreSimulator.SimRuntime.iOS-26-0.23A5260l/ DYLD_ROOT_PATH=/Library/Developer/CoreSimulator/Volumes/iOS_23A5260l/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 26.0.simruntime/Contents/Resources/RuntimeRoot DYLD_LIBRARY_PATH=/Users/username/Library/Developer/Xcode/DerivedData/ProjectnamePOS-buqsthxxbyqalydvfpxruhzgmymf/Build/Products/Debug-iphonesimulator:/Library/Developer/CoreSimulator/Volumes/iOS_23A5260l/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 26.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/Library/Developer/CoreSimulator/Volumes/iOS_23A5260l/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 26.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libLogRedirect.dylib:/Library/Developer/CoreSimulator/Volumes/iOS_23A5260l/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 26.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libBacktraceRecording.dylib:/Library/Developer/CoreSimulator/Volumes/iOS_23A5260l/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 26.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libMainThreadChecker.dylib:/usr/lib/libRPAC.dylib:/Library/Developer/CoreSimulator/Volumes/iOS_23A5260l/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 26.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libViewDebuggerSupport.dylib DYLD_FRAMEWORK_PATH=/Users/username/Library/Developer/Xcode/DerivedData/ProjectnamePOS-buqsthxxbyqalydvfpxruhzgmymf/Build/Products/Debug-iphonesimulator DYLD_FALLBACK_FRAMEWORK_PATH=/Library/Developer/CoreSimulator/Volumes/iOS_23A5260l/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 26.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks DYLD_FALLBACK_LIBRARY_PATH=/Library/Developer/CoreSimulator/Volumes/iOS_23A5260l/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 26.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib```
0
0
52
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.
1
0
90
Jun ’25