I'm working on an app that use the TrueDepth sensor, and I have a question about how exactly the depth values are measured. I've been looking at the AVDepthData class documentation, but I couldn't find a clear answer to my specific question.
My question is: Does the TrueDepth sensor measure the direct distance from the object to the sensor, or the perpendicular distance from the object to the plane of the sensor?
Apple Developers
RSS for tagThis 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.
Post
Replies
Boosts
Views
Activity
The iPadOS 18 upgrade has broken QR code reading!!!!
After upgrading to iPadOS version 18, it is not possible to read QR codes with the Camera App on certain iPad models. It also impacts Apps that attempt to read QR codes through APIs. [One partial workaround is to use Code Scan in Control Center, which does work. But that doesn't help Apps that include QR code reading.]
It definitely impacts 7th generation iPads, and seems to partially impact 8th generation iPads. I don't know which other model iPads are impacted.
Apple introduced exactly the same bug in iPadOS 17.4 and fixed it in iPadOS 17.4.1. Apple, PLEASE release an iPadOS 18.X fix for this ASAP. This is a SERIOUS bug.
Can someone confirm this is supposed to be happening after all these years. I have noticed that now when I delete the messages from my Apple Watch (IOS11) they are now deleting from my phone (IOS18). I was glad I noticed and was able to recover them but I almost lost some impoRyan messages. I did do a test and confirm this is true. But the question is, is this supposed to be happening and if so is there a way to disable only this sync? I like to try and keep the messages icon on the watch clean since when I read the messag on my phone it does sync read on the watch and leaves the unread number on the icon.
I bought a new iphone
while transferring from old phone
it asks for update to IOS 18 before transferring data
and it took more than 10 hours to update the new IOS and nothing happened
what should i do to open the iphone
Hello!
When trying to talk to text on CarPlay Siri would trip out, as if it were receiving a bunch of concurrent audio inputs.
When I tried to video the issue with my phone it worked perfectly. My guess is when videoing the video app was now using my phones mic so it wasn't available for CarPlay and it only received audio input from the car microphone.
It's weird because other voice commands and phone calls work just fine.
This also happens on every iPhone we connect.
My guess is there's some bug where the phone's microphone isn't being shut off properly when plugged in for CarPlay.
I reformatted the Alpine iLX-W670 radio and updated firmware.
Got new authentic Apple cable
Not sure what else to try.
I backed up my data in iCloud.com and tried to use the past contact archives but it didnt work. Also tried adding them one by one but didn’t save into my contact list. Please help
Dual SIM management on the iPhone is not very efficient. I am using an iPhone 13, and I have to frequently change the SIM line because sometimes I recharge one SIM, and other times I recharge the second SIM. I have selected the default SIM line in the settings, which means calls should always go through the default set SIM line. However, this is not happening. I have to manually go to the contact of the person and change the SIM line before making a call. Could you provide a feature where, when calling any person, the call always goes through the selected default SIM line?
Our remote access application uses ScreenCaptureKit for capturing the screen in the user context and CGDisplayStream API as a fallback when running in the context of the Login Window.
Environment:
macOS 15.0; macOS 15.1 beta; Xcode 16
The application is authorized by the user for System Screen recording.
The GUI process runs under the root user over the Login Screen.
The calling thread gets stuck on CGDisplayStreamCreateWithDispatchQueue() for exactly 30 seconds. The method returns NULL afterward.
The same code worked fine on Sonoma
iPhone 12 is updated to iOS 18 and my Mac is running macOS Sequoia. The first time I requested the Scan Document feature from my Mac to iPhone, it opened the camera and scanned successfully. However, after that, the Scan Document feature crashed.
I attempted multiple times to reopen the Scan Document feature on my iPhone, but it has stopped working entirely.
Hi! I have a problem. I recently signed up for an online exchange bybit app account using Sign in with Apple ID. However, I am not able to receive any emails from them. I have forgotten my password, and need to reset it. How can I see emails from them? They are not forwarded to my verified email address (I have checked all folders including Junk).
I'm having issues using Imessage with OS 18. Android user are not receiving text message from a new group created with OS18. I added new users to a chat that we have been using for over a year. After upgrading to OS18 I was hoping I could add additional members without creating a new group, that apparently is not able to happen. What is happening, some folks with Android phones are not getting the text messages. These are members that have been on the group for sometime. Not sure if its all or some because I do not know who has what phone but it is indeed frustrating. I have tried turning off and on RCS and rebooting when I make the changes. I was under the impression OS18 would solve some of the incompatibility issues.
I was unable to invert colors on an image using the Mac OS Preview app in 15.0 using "Tools > Adjust Color > then switching the position of the Black point and White point sliders in the Adjust Colors panel
but as soon as I upgraded to 15.1 beta, it worked again
Hi, so I have an iPhone 15 Pro Max, and I updated to the beta 18.1. Ever since, whenever I go to add pictures to any albums, I get an error that pop up saying "Unable to load items" and to try again. Everything else about the app seems to work fine. Again, I did not have this issue before i updated to the latest beta update.
Is there a way to remove the beta and go back to whichever the latest live version is? I do not have any back ups from before I installed the beta (unless they are in the cloud somewhere...)
I love the new feature of being able to see reminders in my calendar but the reminders have been duplicated and I am unable to edit or delete the duplicates. Also, in the health app settings > data access and devices: the this of devices I can link to the health app lists each device many times. For example: “apple watch” is listed more than ten times. “iphone” is listed at least 20 times. Etc.
It’s been about a month already of this going on, I have downloaded iOS 18 in hopes it would fix on its own, but it has not. We do not share any information and have completely separate phones, and when I try to change her contact info back to her details it pops up on my id card as well. Her information is showing up as mine and likewise, if I try to change something on her contact (ex: the profile picture) it will also change to my profile picture as well. Whenever I text or call her my information pops up as if I was calling myself , but does anyone know how to fix this? As I said, none of our phone numbers, Apple ids, gmails, or names are alike so I don’t see why this is happening.
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)
}
}
Just got a launch day iPhone 16 pro max. This morning I updated to the security and bug fix update that came out. All day I have noticed that randomly when I push the power button and put my phone into my pocket the screen won’t actually go to sleep.
I have AOD on so I know it won’t go fully black until it’s been in my pocket for a bit but I might pull my phone out a minute later and screen is on and has opened a random app or something. Sometimes it’s also at full brightness when I take it out.
i assume this is a iOS bug?
Hello, I encountered a problem in the latest beta version of ios 18. When I go to any browser or game, everything freezes and I can't do anything. The keyboard does not open and there is no response to touch. It started in the evening, but at first everything was fine. I hope you will fix it. I can't use the browser
Hi 👋🏼
is anyone having a problem with the camera when they’re trying to take the pictures app is crushing? The only way to take a picture is to restart an iPhone.
My DJI Air2s has been energized. After using the official USB-C braided cable to plug into the DJI Air2s body, there is no response in the iPad Pro "File" App. Change to a computer, unlock the iPad Pro and use the official USB-C braiding on the main interface. The cable is connected to the computer, and it cannot be displayed in the computer explorer. iPad is iPad Pro (M4) version, iPad OS is iPad OS18.1beta (version number: 22B5054e) version, and Windows version is activated Windows 11 Professional Edition.