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

spcData payload (fairplay.cer) for FairPlay key server
We're sending the spcData payload to our fairplay key server (version 5.1) with the base64 encoded string of our fairPlay.cer that was downloaded from our developer portal and we're getting a spcVersionErr (-42580) for the spc version. The value that is being received by the key server seems to be 813827283 when it should be either 1 (base_constants.SPCVersion.v1.rawValue) or 2 (base_constant.SPCVersion.v2.rawValue). We're assuming we're encoding the fairplay.cer incorrectly. Any insight from anybody would be appreciated.
2
0
270
1w
Problems Publishing with User Tracking
Hello, I'm trying to publish my app, but I'm constantly getting rejected by Apple. They're telling me I'm having issues with tracking user data. This item has been rejected for the following reasons: 5.1.2 Legal: Privacy - Data Use and Sharing I've indicated that I don't use this data for ads, that it's only used for personalization and to understand who saves items. I added the NSUserTrackingUsageDescription property to the info.plist. I run AppTrackingTransparency.requestTrackingAuthorization() when the user logs into the app, displaying a warning message. I'd say I meet all the requirements they've set for me, but they still haven't approved my app. What do you recommend? How can I speak to a physical person who can help me? Thank you very much and best regards.
2
0
235
Mar ’25
Is Signal actually selling private conversations?
This is a warning to anyone who uses the Signal app. There is a chance they are selling transcripts of phone calls and/or messages sent using their app. How do I know? What proof do I have? It's not 100% certainty but it's compelling. Recently I was on a Signal phone call with a friend and a certain college came up as a very brief topic for discussion. This college had only come up once before a week earlier in a message sent through Signal. Before that, going back about 10 years at least, I hadn't spoken with anyone about that college. Not a single person. I also do not live anywhere near the college in question. (The other person does.) So why does this matter? Simply that, immediately after that Signal call, I received a spam SMS message (not in Signal) from what I can only call a shadowy startup called ReUp Education, claiming to offer me a free service that is allegedly tied to that same college. The phone number that I received the SMS on was the one I registered with Signal and the SMS referred to me by name. (Note, the other person did not receive an SMS spam even though they live near said college.) There was no reason other than the Signal call and Signal message for me to be on ReUp's radar or for ReUp to associate me with that college. So I looked into ReUp; their "office" address appears to be a shared mailbox at what appears to be a shared office in Austin Texas. They do not answer phone calls or return messages, they do not answer emails. Their customer service does not respond to inquiries. They appear to be a defunct startup except that there is a ReUp website. This raises the question of whether scammers have taken over their site and are impersonating a defunct startup. The real question though is, who was it that sold my name, phone number and my "interest" in a particular college to them, and by what means? The ReUp spam SMS arrived right after the Signal phone call, not after the Signal message from a week earlier. Thus it is logical to deduce that the phone call was the trigger leading to the SMS, and that means the phone call audio was being transcribed (presumably on a server somewhere) and the transcript or part of it was sold to ReUp. The instantaneous arrival of the spam SMS after the call suggests it was all automated. But how can I be sure the Signal app was the culprit? Checking my phone at the time, I found I had two other apps installed with audio recording permission: the NIOSH decibel meter and SoundHound (I used it to identify a single song, then never again used it). NIOSH was likely running in the background. SoundHound probably was not because I hadn't run it in two months and I believe I rebooted the phone in the meantime. If either of these apps was able to record the Signal phone call while in the background, maybe I could consider them as having means and motive to record and sell my phone call. But according to this response to my other question, it seems they can't (unless Apple is hiding something): https://developer.apple.com/forums/thread/770556 Even if the NIOSH app was able to record and upload the Signal phone call, one has to ask about motive. That app is provided by a federal agency of the US government. Would a government agency really sell a phone call transcript to dubious entities? More likely they'd silently send it to the NSA. But that's a tangent. What about malware, you ask? I had reinstalled iOS 15 on the phone only a couple months earlier. I'm not running sketchy software on the phone. It's just mainstream apps, the most exotic being NIOSH. I don't visit shady websites where I might get hacked through Safari. I don't click on links in SMS spam. I don't open email attachments. The case for malware is weak. My phone is also not jailbroken. Therefore by process of elimination, only the Signal app is a likely culprit. But there were two Signal apps in use: The one on my phone and the one on my friend's device. The fact that I received the spam SMS, referring to me by name, in which "ReUp" claimed to offer a free service involving a college that is 1500+ miles away from me, whereas the person I was speaking to did not receive a spam SMS despite their living near that college, suggests it's the Signal app on my phone that uploaded the audio and transcribed it, tagging it with my details in particular. So I tried to contact Signal. All I wanted was a denial from them that they are not selling transcripts of calls and other user data. It turns out, just like ReUp, Signal does not answer phone calls, they do not return calls, they do not answer emails. Their "customer service" agent responded 1 month after I contacted them and the response was boilerplate from a bot. My interested being piqued, I looked into Signal's financials. People have always said that Signal is a nonprofit and doesn't seek to make money. People say it's encrypted and safe. Or at least that seems to be the mantra from every tech journalist and every computer security expert. A chorus of people are conditioning us to let our guard down. But it turns out, Signal is very profitable. They bring in nearly $37 million per year despite their phone and messaging service being completely free to users. Signal's CEO makes roughly $520k per year. The CTO makes $670k. Here are some details: https://www.causeiq.com/organizations/signal-technology-foundation,824506840/ Are they selling user audio transcripts and/or messages in order to bring in that $37 million? If so they wouldn't be any different than other Silicon Valley tech companies. People have always said, if the product is free, you're the product. That appears to be the case with Signal.
2
0
317
Feb ’25
When will ONE_TIME_CHARGE notify type be available in a production environment?
https://developer.apple.com/documentation/appstoreservernotifications/app-store-server-notifications-changelog#June-10-2024 ONE_TIME_CHARGE notify type running in a sandbox environment for almost a year, the feature is not yet available for production environment. The notification is already available in Google subscriptions. Our services often miss orders because of the absence of this notification. Can you give us an approximate time range?
2
3
471
May ’25
Xcode 26 build fails with “Could not locate icontool” when using .icon file — how to fix?
Hi there, I am new to Xcode26 and dragged my AppIcon.icon (created with Icon Composer) into the project. Then build failed with "Could not locate icontool". Could anyone point me to the cleanest way to solve this? Any help would be appreciated, thanks! CompileAssetCatalogVariant thinned /Users/jaffron/Library/Developer/Xcode/DerivedData/KuuDraft-dsmpyalldiyuusdldnjihwrtzmab/Build/Intermediates.noindex/ArchiveIntermediates/KuuDraft/InstallationBuildProductsLocation/Applications/KuuDraft.app /Users/jaffron/Documents/augment-projects/WalletPin/KuuDraft/AppIcon.icon /Users/jaffron/Documents/augment-projects/WalletPin/KuuDraft/Assets.xcassets (in target 'KuuDraft' from project 'KuuDraft') cd /Users/jaffron/Documents/augment-projects/WalletPin /Applications/Xcode.app/Contents/Developer/usr/bin/actool /Users/jaffron/Documents/augment-projects/WalletPin/KuuDraft/AppIcon.icon /Users/jaffron/Documents/augment-projects/WalletPin/KuuDraft/Assets.xcassets --compile /Users/jaffron/Library/Developer/Xcode/DerivedData/KuuDraft-dsmpyalldiyuusdldnjihwrtzmab/Build/Intermediates.noindex/ArchiveIntermediates/KuuDraft/IntermediateBuildFilesPath/KuuDraft.build/Release-iphoneos/KuuDraft.build/assetcatalog_output/thinned --output-format human-readable-text --notices --warnings --export-dependency-info /Users/jaffron/Library/Developer/Xcode/DerivedData/KuuDraft-dsmpyalldiyuusdldnjihwrtzmab/Build/Intermediates.noindex/ArchiveIntermediates/KuuDraft/IntermediateBuildFilesPath/KuuDraft.build/Release-iphoneos/KuuDraft.build/assetcatalog_dependencies_thinned --output-partial-info-plist /Users/jaffron/Library/Developer/Xcode/DerivedData/KuuDraft-dsmpyalldiyuusdldnjihwrtzmab/Build/Intermediates.noindex/ArchiveIntermediates/KuuDraft/IntermediateBuildFilesPath/KuuDraft.build/Release-iphoneos/KuuDraft.build/assetcatalog_generated_info.plist_thinned --app-icon AppIcon --include-all-app-icons --compress-pngs --enable-on-demand-resources YES --development-region en --target-device iphone --minimum-deployment-target 16.0 --platform iphoneos error: unable to open dependencies file (/Users/jaffron/Library/Developer/Xcode/DerivedData/KuuDraft-dsmpyalldiyuusdldnjihwrtzmab/Build/Intermediates.noindex/ArchiveIntermediates/KuuDraft/IntermediateBuildFilesPath/KuuDraft.build/Release-iphoneos/KuuDraft.build/assetcatalog_dependencies_thinned) (in target 'KuuDraft' from project 'KuuDraft') /* com.apple.actool.notices */ warning: Could not locate icontool.
2
2
693
Nov ’25
18.4 Beta sent iPhone 12 into boot loop
I installed the iOS 18.4 developer beta on my iPhone 12 last night, and it ended up sending my phone into a boot loop—at least that's what it looks like. Phone alternates between totally black screen and the Apple logo screen every 5 seconds or so. The phone isn't responding to force restart, isn't showing up in Finder to try to factory reset, etc. My guess is the update was corrupted in some way? Did this happen to anyone else? Any ideas about what's going on?
2
1
888
Feb ’25
is fusion drive stopped being supported in tahoe
Hi, my fusion drive is not recognized with the latest tahoe developer beta. is it official or it's a bug ? it works when I reboot into previous verion of macOS. APFS Containers (6 found) | +-- Container disk3 AD9B43A5-66E7-4696-8183-8FD75230DAD2 | ==================================================== | APFS Container Reference: disk3 | Size (Capacity Ceiling): 994662584320 B (994.7 GB) | Capacity In Use By Volumes: 899491840000 B (899.5 GB) (90.4% used) | Capacity Not Allocated: 95170744320 B (95.2 GB) (9.6% free) | | | +-< Physical Store disk0s2 8183A70B-64A7-434E-85A4-5FA40F692BC9 | | ----------------------------------------------------------- | | APFS Physical Store Disk: disk0s2 | | Size: 994662584320 B (994.7 GB) | | | +-> Volume disk3s1 295CC2B7-EFA6-4706-8A6F-4C8FDC455857 | | --------------------------------------------------- | | APFS Volume Disk (Role): disk3s1 (System) | | Name: Macintosh HD (Case-insensitive) | | Mount Point: Not Mounted | | Capacity Consumed: 12576616448 B (12.6 GB) | | Sealed: Yes | | FileVault: Yes (Unlocked) | | Encrypted: No | | | | | Snapshot: 9B660F16-30C2-4B5E-911A-5B6250626C0C | | Snapshot Disk: disk3s1s1 | | Snapshot Mount Point: / | | Snapshot Sealed: Yes | | | +-> Volume disk3s2 766CF320-F93A-42D0-9660-F48E5B6C3B1A | | --------------------------------------------------- | | APFS Volume Disk (Role): disk3s2 (Preboot) | | Name: Preboot (Case-insensitive) | | Mount Point: /System/Volumes/Preboot | | Capacity Consumed: 7744360448 B (7.7 GB) | | Sealed: No | | FileVault: No | | | +-> Volume disk3s3 2A8ABBAC-435B-493E-A1AE-2DCCE5966207 | | --------------------------------------------------- | | APFS Volume Disk (Role): disk3s3 (Recovery) | | Name: Recovery (Case-insensitive) | | Mount Point: Not Mounted | | Capacity Consumed: 1165090816 B (1.2 GB) | | Sealed: No | | FileVault: No | | | +-> Volume disk3s5 5339AAF8-3765-458A-AB1F-930AFD53CAA3 | | --------------------------------------------------- | | APFS Volume Disk (Role): disk3s5 (Data) | | Name: Macintosh HD - Data (Case-insensitive) | | Mount Point: /System/Volumes/Data | | Capacity Consumed: 875640164352 B (875.6 GB) | | Sealed: No | | FileVault: Yes (Unlocked) | | | +-> Volume disk3s6 99818862-6CC2-4805-9C96-5837D666543F | --------------------------------------------------- | APFS Volume Disk (Role): disk3s6 (VM) | Name: VM (Case-insensitive) | Mount Point: /System/Volumes/VM | Capacity Consumed: 2147524608 B (2.1 GB) | Sealed: No | FileVault: No | +-- Container ERROR -69808 | ====================== | APFS Container Reference: disk5 | Size (Capacity Ceiling): ERROR -69620 | Capacity In Use By Volumes: ERROR -69620 | Capacity Not Allocated: ERROR -69620 | | | +-< Physical Store disk4 (No UUID) | | ------------------------------ | | APFS Physical Store Disk: disk4 | | Size: 3200631791616 B (3.2 TB) | | | +-> No Volumes | +-- Container disk7 B400D344-9D63-4168-BA45-3883D02FF515 | ==================================================== | APFS Container Reference: disk7 | Size (Capacity Ceiling): 499793244160 B (499.8 GB) | Capacity In Use By Volumes: 40511234048 B (40.5 GB) (8.1% used) | Capacity Not Allocated: 459282010112 B (459.3 GB) (91.9% free) | | | +-< Physical Store disk6s2 9458DABF-09A9-4A8A-A5A1-EF5B0FBD82FC | | ----------------------------------------------------------- | | APFS Physical Store Disk: disk6s2 | | Size: 499793244160 B (499.8 GB) | | | +-> Volume disk7s1 2F2C63B5-69D1-4F8E-B720-1B72B743E752 | --------------------------------------------------- | APFS Volume Disk (Role): disk7s1 (No specific role) | Name: Icy (Case-insensitive) | Mount Point: /Volumes/Icy | Capacity Consumed: 40350416896 B (40.4 GB) | Sealed: No | FileVault: No | +-- Container ERROR -69808 ====================== APFS Container Reference: disk9 Size (Capacity Ceiling): ERROR -69620 Capacity In Use By Volumes: ERROR -69620 Capacity Not Allocated: ERROR -69620 | +-< Physical Store disk8 (No UUID) | ------------------------------ | APFS Physical Store Disk: disk8 | Size: 22000969973760 B (22.0 TB) | +-> No Volumes
2
0
332
Sep ’25
Issue with Adding VPN Configuration on iOS 26 Beta
I am writing to report an issue encountered while testing the iOS 26 beta. It appears that adding VPN configurations is currently not possible in this version. Specifically, attempts to add a new VPN configuration through the Settings app or via programmatic configuration profiles are unresponsive. As VPN functionality is essential for a number of development and enterprise use cases, I would appreciate it if your team could confirm whether this is a known issue, or provide guidance on any changes to VPN configuration handling in iOS 26. Please let me know if additional diagnostic information or logs would be helpful. Thank you for your support and for providing access to the iOS 26 beta. Best regards, Majid
2
2
234
Aug ’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
810
Jun ’25
Change Developer Forum Username
Hi There, Last year, I changed my company name from SugAR Labs to All Immersive. My current developer forum username is "SugAR_Labs" and I would like to change it to "All_Immersive" to match my new company name. I was advised by developer support on a phone call that there is not a way for me to do this myself. They referred me to a post like this to see if someone could help. Can someone help me make the change? Thanks!
2
0
201
Jul ’25
About region detection in the iBeacon app
We plan to use signals emitted from iBeacon to perform region detection in an app currently under development. We would like to know if region detection (didEnterRegion) can be performed when the app is in certain states. Region detection must be performed reliably. Is it possible to perform region detection in all of the following situations? • When the app is in the foreground • When the app is in the background • When the app is force-closed • When the smartphone is in sleep mode • When the smartphone is restarted Translated with DeepL.com (free version)
2
0
107
Aug ’25
macOS sequoia docking station sporadically disconnects
After recently updating my MacBook Pro (14-inch, 2021, M1 Pro) to macOS Sequoia (15.6), my docking station sporadically disconnects and reconnects about once every 1-5 minutes. This causes my external screens to switch off for about a second, and my external drive to disconnect. This has (obviously) completely broken my workflow, and I've had to resort to connecting two screens directly to the MacBook. I've had to completely disconnect the external drive for fear of corrupting due to the sudden disconnects. I've seen other people report the same or similar issues here, and other places. I've tried all kinds of fixes suggested on various forums (reinstalled drivers, cleared preference files, etc.) without any luck. To be frank, this is a completely unacceptable bug that needs to be fixed ASAP. I cannot accept that installing an os update completely breaks something as fundamental as connecting to external devices via a docker. Especially when this worked completely fine on macOS 13, and I was essentially forced to update because the (working) macOS 13 was no longer supported.
2
0
709
Oct ’25
Innovative mind with creative cutting edge vision and not enough tech experience
Hello! My name is Brittany! I’m a designer/artist. I am curious about what I should do.. I have all these ideas for developing things in the Apple Vision Pro world. But I have little to no experience with that stuff. I def need an outlet for my creative cutting edge ideas. Is this stuff easy to learn or am I better off working with someone to create my vision? How much would that even cost? Thank you kindly for any assistance💖
2
0
260
Jul ’25
Zoom Crashing
One of my clients keeps having Zoom crash when teaching classes. They do have 1 external monitor attached. Using Macbook Pro 15-inch 2017. Running Ventura 13.7.4. Bug in client of libplatform: os_unfair_lock is corrupt, or owner thread exited without unlocking Abort Cause 8192 Any idea what is happening? Do I need to submit all of the crash report? Thank you for your assistance.
2
0
85
Apr ’25