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

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
777
Jun ’25
Cannot login on macOS 15.5 beta 2
just updated macos to 15.5 beta 2, cannot login anymore! i reach the login screen, i enter the correct password, the loading bar stops at around 10%, after about 1 minute the system restarts, it return to the login screens, and so on… any suggestion about debugging this type of situation?
2
0
133
Apr ’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
76
Apr ’25
Urgent: Locked Account Holder – Need Help
Hello Apple Developer Community, I need some assistance with my account. I created a new developer account for a new project I am working on, and paid the apple developer fee. Everything was working fine for a few weeks, I was able to get my app on TestFlight and invite testers to it, as well as push updates and get feedback. The testers were family/business partners. As of a few days ago, I was locked out of my account. I first tried resetting my password, and was then met with an email claiming my account was locked with no additional information. I am trying to understand how I can either unlock my account, or transfer my existing app to a new account, so that I do not have to bother my users with downloading a new app. Additionally, I would like some help in understanding how I can safeguard myself from this issue in the future, especially given this would not be fun if my app were published. Could anyone please assist me, provide me with any advice, or point me to a place where I could get support? I spent 25 minutes on the phone with apple support, and was treated excellently as I've come to expect of Apple, but unfortunately was not given any help as the support did not have additional information. I'm hoping I'm asking in the right place, and can get some help! Thanks in advance, Fritz
2
2
317
Oct ’25
iOS 18 System Bug Causes URL Scheme Failure
iOS 18 System Bug Causes URL Scheme Failure A bug in iOS 18 causes URL Schemes to become invalid through the following steps, resulting in failure to open apps via URL Scheme. Reproduction Steps: Long-press the app icon Select "Require Face ID" Choose "Hide and Require Face ID" to hide the app Go to the App Library and locate the hidden app in the "Hidden" folder Uninstall the hidden app reinstalling the hidden app After reinstalling the app, all configured URL Schemes will become invalid, causing failure when attempting to open the app via URL Scheme. The issue appears to be that after uninstalling a hidden app and reinstalling it, the system fails to restore the app's URL Scheme functionality.
2
0
156
Apr ’25
Beta update 18.3 on IOS
Beta Update Feedback: iOS 18.3 The iOS 18.3 beta update has been a deeply frustrating experience due to numerous critical issues that severely impact the device's functionality. Below is a detailed report of the problems encountered: All major social applications, including WhatsApp, Instagram, and Photos, consistently crash. When launching these apps, the screen often turns dark before reverting to the home screen. This issue persists across other third-party and native apps, making the device unusable for basic tasks. The system frequently hangs, failing to process basic operations effectively. Restarting the device is often the only temporary solution; however, even after multiple restarts, the issues remain unresolved. Significant charging drops are observed, and the device intermittently fails to recognize the charger. Charging efficiency has drastically decreased, creating inconvenience for daily usage. The Photos app is riddled with bugs, making it nearly impossible to use. Basic functions such as viewing, editing, or sharing photos do not work properly. Every aspect of the update feels unstable, with issues cropping up in every corner of the system. The phone’s functionality has deteriorated, so it no longer performs as expected. Device Affected: iPhone 13 Impact Level: Severe This update has caused immense frustration and has made the iPhone 13 difficult.
2
1
2.3k
Jan ’25
Apple Developer Program
Hi everyone, It’s been almost three weeks, and I’m still waiting for a reply about my subscription to the Apple Developer Program, but I haven’t received anything. I replied to the email three days ago and got no response. I tried again by requesting the subscription two days ago, but all I received was an automated message saying they would reply within two business days. What I did: I went to my Apple Developer account, clicked on Subscriptions, and entered my card details. They sent me an email saying they are preparing my order, but nothing else. Has anyone else had the same issue with Apple Developer support? Regards,
2
0
116
Jun ’25
BLE Scan Response
The iPhone XS Max and Garmin watch pairing cannot use BLE to send Scan Response; it can only send BLE advertisements. May I ask if this is a limitation of the Apple system? So far, we have tested several iPhone models, and only the iPhone XS Max has this issue. We are not sure if other untested models have the same problem.
2
0
95
Jun ’25
App stops responding to touch; works normally otherwise
Some users of my app complain that it stops responding to touch after a while. The screen is still updating, and the app seems to be working normally otherwise. It just doesn't respond to any touches anymore. It is not a problem with the touchscreen itself, because the user is able to swipe up to get to the home screen, and then interact with other apps as normal. When re-opening my app, it is still unresponsive to touch. The only way to solve it, is to restart the app. Does anybody have a similar experience, and knows what could cause it? The app is based on UIKit, and still written in Objective-C, if it matters. The iOS version involved does not seem to matter, it happened with a couple of them.
2
0
65
Apr ’25
FamilyActivityPicker will have a problem closing the parent element fullScreenCover in the 18.4 official version
.fullScreenCover(isPresented: $isShow) { Button(action : { isPresented.toggle() }){ Text("Choose") } .familyActivityPicker( isPresented: $isPresented, selection: $selection) .onChange(of: selection){ value in } } In the official version of iOS 18, when I click the Done button of familyActivityPicker, the fullScreenCover pop-up box will disappear.
2
2
178
Apr ’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
306
Feb ’25
iOS 18 libquic.dylib crash
when i send a http request with NSURLSession, app is crashed. _quic_frame_write _quic_frame_write __quic_packet_builder_assemble _quic_conn_assemble_and_encrypt _quic_conn_send_frames_for_key_state _quic_conn_send_internal _quic_recovery_pto _quic_recovery_timer_fired _quic_timer_run ___nw_protocol_instance_schedule_wakeup_block_invoke ___nw_context_reset_timer_block_with_time_block_invoke __dispatch_client_callout __dispatch_continuation_pop __dispatch_source_latch_and_call __dispatch_source_invoke __dispatch_workloop_invoke __dispatch_root_queue_drain_deferred_wlh __dispatch_workloop_worker_thread __pthread_wqthread
2
0
294
Jan ’25
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
180
Mar ’25
Constant refresh rate/frame rate
Hi, I just bought iPhone few days ago, switched from Android after long time, the first thing I noticed is that refresh rate/frame rate is not constant for some reason. Android phones are having those 120 hz all the time but for some reason iPhone drops it In some situations which makes no sense at all, I want consistency in smoothness , I want phone to be same smooth all the tome, not that it changes it self depended on situation. I think you should just give us a option where we can choose to have variable refresh rate(because of saving power) or constant refresh rate (smoothest experience). Also what I noticed when I am in video call everything is perfectly smooth as it should be, once I end the video call the difference is noticeable immediately. Thanks in advance. Please consider this, Im 100% sure that Im not the only one who seeks for this option.
2
0
289
Jan ’25
Sequoia 15.3 Beta 24D5034f
Hi folks, First - I'm not a developer. Some time ago I came across Sequoia Beta and installed it thinking it was just a usage data collection thing. I recently wanted to delete it because I suspected it was causing other issues, but was only offered to have updates stopped. My MacBook Pro M2 still says I'm running Sequoia 15.3 (Beta 24D5034f). I have another, maybe unrelated issue and posted a question about it on Apple Community but the question was deleted and I was pointed here because I mentioned the Beta! This was my question: I can FaceTime from the iPhone but when I try to FaceTime from the Mac, I get a notification on the Mac saying: "iPhone calls not available. Your iPhone is not configured to allow calls using this Mac". My iPhone is a 14Plus on iOS 18.2.1 (22C161). I've tried the iPhone and Mac fixes suggested by Apple but no luck there - that was all about turning iMessages and FaceTime off or signing out for both devices, then power cycling both devices. I don't understand how this is supposed to work. Could my issue be related to the Beta? If so, and in any case, how do I remove the Beta? TIA
2
0
584
Jan ’25