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

Keys are missing in App Store Server API
For the subscription API, we’re using the Get All Subscription Statuses API to replace the deprecated verifyReceipt method. To determine if a user has canceled their subscription, we’re using the expirationIntent key from JWSRenewalInfo data. However, we’ve noticed that we sometimes receive this key and other times not. We’re also facing an issue with the offertype key. We use this key to determine if a user is currently in the introductory offer, the promotion offer, or neither. To obtain this key, we’re using JWSTransaction, but we occasionally receive it and other times not. Note: These issues are being tested in the sandbox environment. Thank you.
1
0
315
Feb ’25
BLE ADVERTISE
Dear Apple: The program we developed uses BLE broadcasting to discover devices. The discovered device sends three broadcasts, but when we debug the program, we found that the addresses reported by centralManager::didDiscoverPeripheral for the same device's three broadcasts are actually different CBPeripheral * addresses. I would like to ask how we can identify that these three broadcasts are from the same device? Are there any variables in the peripheral that can identify it as the same device? Thanks。
1
0
227
Feb ’25
Problem with deleting the MinimaList app
A question from an ordinary user for developers: The essence of the problem: I installed the To Do List by MinimaList app on both my MacBook and iPhone. After installing it, I decided not to use it and deleted the application. https://apps.apple.com/us/app/minimalist-to-do-list-widget/id993066159 However, it turned out that not everything was removed. Specifically: • In the “Allow Others to Find Me” section on both my MacBook and iPhone, these apps still appear. No matter what I do—whether I delete or clear them—they continue to be displayed there. • This app continues to appear in the section located at: Settings → Apple ID → iCloud → Stored in iCloud → See All → Allow Finding Me – To Do List and one more item. • It cannot be deleted. • It won’t delete on my MacBook, and it won’t delete on my iPhone. • It also appeared in iCloud itself under the Email Search section. P.S. The official Apple support (without violating any internal regulations) advised me to post on the forum to get in touch with Apple developers. In hope, I am posting this question here.
0
0
221
Feb ’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
776
Jun ’25
POSIX 96
I’m having trouble downloading my yahoo emails. I use the Mail function for all my email accounts. The Comcast emails seem to be downloading fine. I get the posix96 error. Is there a fix for this yet??
1
0
392
Feb ’25
Getting started with Music
Hi all, I've come here because I want to learn more about the Music app, the nuts and bolts of it. I used to know iTunes pretty well back in the iPod days, but now with iCloud Music Library and Apple Music playlists, I get lost when trying to troubleshoot issues with the app. Any suggestions as to where to start? Is there documentation breaking down which files store what? Thanks.
1
0
222
Dec ’24
Appleインビテーションで招待された人の条件は?
説明ではApple Accountが無くても回答可能とあるが、招待された画面を開きメールアドレスを入力するとApple acountのパスワードを入れるか、新規にacountを作成する画面になる。 Apple Accountが無い人は何も出来ないのか?それともあのパスワード欄は新規にパスワード登録するためのもの? また、招待を送ったメールアドレスとApple acountのメールアドレスが違う場合はどうなるのだろう? 誰か試した人いますか?
0
0
177
Feb ’25
Workout session [session.end()] taking a long time to end
I'm developing a workout app with a mirrored workout session. I'm having problems with sessions being out of sync. For example, when the workout is ended, it takes somewhere around a minute or two for it to actually fully end, so if during this time I start a new workout, then the sessions will be out of sync. I am using healthStore.recoverActiveWorkoutSession() to recover the workout session but it doesn't always work very well and in particular in the case when a workout has been manually ended (but ending hasn't completed) it enters an out of sync mode. The reason why this case is happening is because I have an third party sensor connected to this mirrored workout session and if the sensor is out of range or turned off, I end the workout. However, if the person had accidentally gone out of range, they would reconnect to the app and restart the workout as soon as they realize and in that case, when the workout hasn't fully ended, it doesn't recover appropriately. I have spent weeks trying to debug this with no luck so any advice will be appreciated.
1
0
846
Jan ’25
Bluetooth scan cycle problem
I have the following questions that need official answers: 1: Whether the Bluetooth scanning cycle can be controlled through the software level. If it can be controlled, please tell me how to control it. 2: Now the IOS mobile phone scanning strategy, how long is the scanning cycle, and what is the scanning duty cycle in this scanning cycle
0
0
229
Feb ’25
iPhone 15 Pro’s Screen Turns Black After iOS 18.3 BETA Update
After Updating My iPhone 15 Pro To IOS 18.3 beta, 1 Day Later A Pixel seemed stuck or burnt, and then after 1 Day on 25 Dec The Screen Went Black Or Turned Off But Responded To My Touch, the reason i suppose the screen went black would be a memory glitch happening when i opened the camera from the Lock Screen or a graphica card issue if anyone can help I would appreciate it
0
0
508
Dec ’24
iOS 18.3 (22D5040d) Beta internet issues
I have been using US Cellular without any issues, and my previous device worked seamlessly with a stable connection. However, after updating to iOS 18.3 (22D5040d), I have been experiencing significant connectivity problems. In most locations, I have no internet access, and when I do, the speeds are extremely slow, typically around 2 Mbps at best.
2
0
728
Jan ’25
Enabling Just-In-Time compiler on "Emulators" on AppStore and/or enabling hypervisor to the iPad
Hello, why is apple won’t adding Just-In-Time compiler to ”Emulators” in the app store. And/or hypervisor for newer devices. i feel like UTM (which is a PC Emulator) or other Apps that emulate need JIT to work properly, and will consume significantly less battery to emulate/virtualize, And will have a noticeably better performance than just not enabling JIT, and by the way jit is already being used on iPadOS/iOS 18.3/18.3.1 and newer/older version of that so being enabled by the choice of the developer of the App is more convenient than doing it with tools. and by the why apple wont let emulators on iPads and newer iPhones do hypervisor, it’s better than JIT but requires a good cpu, like making it available to people with newer/powerful devices, hypervisor is better than JIT by a lot and removing it in iPadOS/iOS 18.4 was an unnecessary choice?, becuase it had a better potential in virtualization instead of emulating, and I feel like enabling it In M1-M2 iPads and A14-18pro and newer devices is just better from having it disabled, to unlock the fullest potential of the iPad it needs to have a app or something to do instead of just running high graphics games/or Apps.
2
0
1.5k
Feb ’25
CarPlay - Parking
Dear Developers, I'm exploring the feasibility of playing video content on CarPlay when the vehicle is in a parked state. Could you please provide guidance on whether this is supported and, if so, the best practices for implementation?
1
0
375
Jan ’25
Multiple IPSW for same version
Hi Team, I just want to know the reasoning behind why there are two IPSW with same version and different build IDs. Example: https://ipsw.me/iPhone12,3 Version: 18.3 BuildIDs: 22D64 and 22D63 Also, in future, on what devices this kind of two buildIDs will be created?
0
0
132
Feb ’25
MDM profile installation check failed with error
ProfileConnection Error com.apple.ManagedConfiguration 12:33:23.432323+0900 ManagedConfiguration PerfPowerServices MDM profile installation check failed with error:NSError. Desc: Connecting process lacks permission 'com.apple.managedconfiguration.profiled-access' US Desc: Calling process lacks 'com.apple.managedconfiguration.profiled-access' entitlement Domain: MCXPCErrorDomain Code: 39000 Type: MCFatalError Params : ( "com.apple.managedconfiguration.profiled-access" )
1
0
300
Jan ’25
Mac Studio – Wake from sleep – Desktop picture not stretching to fill Desktop
On wake from sleep the Mac Studio's Desktop picture is shown in actual resolution instead of stretched to fit screen. For example, a picture which is 2059 × 1371 is shown at that resolution on a 5K Retina screen and so only fills about 60% of the screen area. It starts with the picture positioned in the top left corner but sometimes moves down the screen. This behaviour does not change if the screen is scaled up or down – the picture size is also scaled. Notice that icons on the Desktop are displayed in the correct position. At the same time, the Dock is shown at the bottom of the picture instead of at the bottom of the screen. Usually, the Desktop redisplays correctly. But increasingly, the only solution is to log out and in again. This might be related to my other question on the Desktop picture Pref Pane. See attached example which is a full screen capture i.e. command-shift-3 (with my personal details obscured):
3
0
1.1k
Jan ’25
Recently used emoticons
Why can’t Apple just release a version that put the most frequent used emoticons in the most left side of the emoticons keyboard??? Each person always uses the same 20 or 30 emoticons. How this could be reported to developers? Thx
2
0
132
Feb ’25
Error creating FileProvider domain on external drive
Hi, I am trying to use the new FileProvider feature available on macOS 15 to create a FileProvder domain on an external drive. I am creating the domain with the initializer init(displayName:, userInfo:, volumeURL:) But when I try to add the domain with NSFileProviderManager.add() I get error NSCocoaErrorDomain, code 3328 - feature not supported. My external drive is APFS formatted and encrypted. I am checking its eligibility with NSFileProviderManager.checkDomainsCanBeStoredOnVolume(at:) and the result is "eligible". What should be done to solve this problem - is there a specific entitlement I have to add? I checked the possible entitlements and I don't see anything pointing in this direction. I will be very grateful for any help!
0
0
318
Jan ’25