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

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
Would YOU use ClamXav on an Apple Mac?
Mac users often ask whether they should install "anti-virus" software. The answer usually given on ASC is "no." The answer is right, but it may give the wrong impression that there is no threat from what are loosely called "viruses." There is a threat, and you need to educate yourself about it. This is a comment on what you should—and should not—do to protect yourself from malicious software ("malware") that circulates on the Internet and gets onto a computer as an unintended consequence of the user's actions. It does not apply to software, such as keystroke loggers, that may be installed deliberately by an intruder who has hands-on access to the computer, or who has been able to log in to it remotely. That threat is in a different category, and there's no easy way to defend against it. The comment is long because the issue is complex. The key points are in sections 5, 6, and 10. OS X now implements three layers of built-in protection specifically against malware, not counting runtime protections such as execute disable, sandboxing, system library randomization, and address space layout randomization that may also guard against other kinds of exploits. 2. All versions of OS X since 10.6.7 have been able to detect known Mac malware in downloaded files, and to block insecure web plugins. This feature is transparent to the user. Internally Apple calls it "XProtect." The malware recognition database used by XProtect is automatically updated; however, you shouldn't rely on it, because the attackers are always at least a day ahead of the defenders. The following caveats apply to XProtect: ☞ It can be bypassed by some third-party networking software, such as BitTorrent clients and Java applets. ☞ It only applies to software downloaded from the network. Software installed from a CD or other media is not checked. As new versions of OS X are released, it's not clear whether Apple will indefinitely continue to maintain the XProtect database of older versions such as 10.6. The security of obsolete system versions may eventually be degraded. Security updates to the code of obsolete systems will stop being released at some point, and that may leave them open to other kinds of attack besides malware. 3. Starting with OS X 10.7.5, there has been a second layer of built-in malware protection, designated "Gatekeeper" by Apple. By default, applications and Installer packages downloaded from the network will only run if they're digitally signed by a developer with a certificate issued by Apple. Software certified in this way hasn't necessarily been tested by Apple, but you can be reasonably sure that it hasn't been modified by anyone other than the developer. His identity is known to Apple, so he could be held legally responsible if he distributed malware. That may not mean much if the developer lives in a country with a weak legal system (see below.) Gatekeeper doesn't depend on a database of known malware. It has, however, the same limitations as XProtect, and in addition the following: ☞ It can easily be disabled or overridden by the user. ☞ A malware attacker could get control of a code-signing certificate under false pretenses, or could simply ignore the consequences of distributing codesigned malware. ☞ An App Store developer could find a way to bypass Apple's oversight, or the oversight could fail due to human error. Apple has so far failed to revoke the codesigning certificates of some known abusers, thereby diluting the value of Gatekeeper and the Developer ID program. These failures don't involve App Store products, however. For the reasons given, App Store products, and—to a lesser extent—other applications recognized by Gatekeeper as signed, are safer than others, but they can't be considered absolutely safe. "Sandboxed" applications may prompt for access to private data, such as your contacts, or for access to the network. Think before granting that access. Sandbox security is based on user input. Never click through any request for authorization without thinking. 4. Starting with OS X 10.8.3, a third layer of protection has been added: a "Malware Removal Tool" (MRT). MRT runs automatically in the background when you update the OS. It checks for, and removes, malware that may have evaded the other protections via a Java exploit (see below.) MRT also runs when you install or update the Apple-supplied Java runtime (but not the Oracle runtime.) Like XProtect, MRT is effective against known threats, but not against unknown ones. It notifies you if it finds malware, but otherwise there's no user interface to MRT. 5. The built-in security features of OS X reduce the risk of malware attack, but they are not, and never will be, complete protection. Malware is a problem of human behavior, and a technological fix is not going to solve it. Trusting software to protect you will only make you more vulnerable. The best defense is always going to be your own intelligence. With the possible exception of Java exploits, all known malware circulating on the Internet that affects a fully-updated installation of OS X 10.6 or later takes the form of so-called "****** horses," which can only have an effect if the victim is duped into running them. The threat therefore amounts to a battle of wits between you and the scam artists. If you're smarter than they think you are, you'll win. That means, in practice, that you always stay within a safe harbor of computing practices. Malware defence By Linc Davis - https://discussions.apple.com/thread/6460085
7
1
3.9k
Feb ’25
MacPro 2019 Boot Screen Selection?
hi. I have a MacPro 2019, and I'm running Monterey at the moment. I have three screens. Two 4k screens, and a XDR in the center of them. My MacPro 2019 boots with the left screen showing the startup and login screen. I've previously had it boot to my XDR before the others. I'm not entirely sure why it moved to the left, but I need it back on the center screen. We used to just drag a happy mac icon from screens in the displays system preference. I don't see any method to change this startup and login screen. How do I choose the permanent bootup and startup screen (as my XDR!). Thanks. Dave
3
0
529
Jan ’25
Sudden Termination of Apple Developer Account - Seeking Community Advice
Hello, everyone, I hope you're all doing well. I'm facing an unfortunate issue with my Apple Developer Program membership that was suddenly terminated. I received a generic email from Apple, stating that my membership was revoked, but no specific reason was provided for this action. I appealed the decision, offering all possible explanations and commitments to adhere to guidelines, only to be met with a reply stating that the decision is "final" and no subsequent appeals will be processed. Has anyone here faced a similar situation? Are there any steps that can be taken to understand the reason for termination when Apple doesn't disclose it? Is there a way to open a dialogue with Apple, even when they've stated that their decision is final? Would publicizing this issue through social media or blogs be advisable? This is a particularly trying time for us, as we are recovering from a recent earthquake and our app is our sole source of income. Any insights, advice, or shared experiences would be greatly appreciated. Thank you for taking the time to read my post. We don't violate any apple's policies... any information would be welcome. Best regards,
7
3
2.1k
Apr ’25
Apple Classical in CarPlay?
[posted January 30, 2024] Earlier this month, Apple Classical appeared as an app in CarPlay. Hallelujah!!! Three days later it disappeared after another update, apparently because all it did when activated via CarPlay was crash. OK, it was an oopsie (I get it. I spent 30 years in IT, and, well, it happens. They’re called “undocumented features”). Thing is: Apple hasn’t breathed a word about this event at all. Nothing. Nada. Zip. Zippo. Zilch. There’s a huge pent-up audience for this app in CarPlay. Is it coming? Please? Oh please oh please oh please?
1
0
1.1k
Nov ’24
Email is returned only once
We are implementing Sign Up with Apple ID and facing the following issue: Email is returned only on the first response. All subsequent responses for this user do not return email. But our system is email-driven. So, if user first signs up on our TST environment then we will not be able to Sign up this user on UAT and Prod without an email in response. Could anyone please advise how to approach this problem.
1
0
871
Nov ’24
Welcome to Apple Developer Community Spaces!
Hello from your Developer Forums Product Team - The Apple Developer Forums have been redesigned and up-leveled for WWDC24, offering a revamped way to connect with Apple experts, engineers, and other developers to find answers, get advice, and continue the conversations WWDC inspires. We believe the very best of what we do is in enabling developers’ success and in fostering an active, open, collaborative, helpful support and community network. We've created this community space to give developers a place and space to connect beyond code level questions - and view the developer forums as a way for developers around the world to connect with Apple and each other. Stay tuned! Wish there was a feature or improvement on Developer Forums? We welcome feedback and feature requests.
5
12
1.4k
Mar ’25
Terrible treatment by Apple Dev support team
I paid for my developer account on the 13th of June 2024 (1 week ago). My ID was approved. However, I still don't have access to the account. When I go to check the status of it, it is asking me to pay again. I then tried to email the team, however only received useless, timewasting responses, such as "Please go to developer.apple.com/enroll to enroll for an apple dev account", which I already told them prompts me to pay again and verify my ID again. I then tried to call them, and they said they had to re-verify my ID and would call me back in 10 mins, but I never received a call back. I also couldn't call them again because it wouldn't let me request another call from them. I then emailed them, but still haven't received a response. The next day I tried to request another call from them, during their opening hours at Thursday 4pm AEST, (they are open Mon-Fri 9am-5pm AEST see https://developer.apple.com/support/worldwide-telephone-hours/) however it still says that "Phone support is currently unavailable". I tried to email them but now I am getting no responses at all. I tried to contact the apple support through the iMessage chat, however I was only put on call with a lady who was helpful, but couldn't even do anything as she was only generic support. She couldn't even schedule me a call or transfer me to the developer team, even though it was within their working and calling/support hours. I have tried to refund my developer account, but apparently that purchase is "illegible for a refund". This is the treatment I get from apple for paying $100 USD. An entire week of being left on blank. I don't know what to do. I paid 100 bucks for an account which I can't even use, and the support hasn't helped me for an entire week. My emails being left on blank, and I can't even call them. If anyone from apple or anyone that could help me sees this, please contact me ASAP at makrypodisc@ hotmail.com or reply to this thread. Thank you.
3
1
941
May ’25
Make Developer Forums Better!
Too many irrelevant posts come up when I attempt to search for something. There should be an easy button or something to earmark posts as something irrelevant- something that shouldn't come up in a search. I'm looking for something in Xcode 15 and frequently the top posts in the search are 10 years old and don't have any relevance whatsoever to the solution to my problem.
2
0
467
Feb ’25
There was an error processing your request. Please try again later
Hello everyone, on August 31st, all the apps in my personal developer account were suddenly expired and deleted, I have not received any response from Apple. My apps are in compliance with Apple's policies. I then uploaded a new version and sent it to the review team, but I received the following error "There was an error processing your request. Please try again later." I have contacted Apple via Email and Phone but no one cares about my problem. Has anyone had the same situation as me, I am really worried.
6
2
964
Sep ’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
745
Jun ’25
Password App not working
The password app on my iPad has stopped working. It goes through the Face ID then just shows a blank screen. It still seems to be applying ID / passwords when logging onto to sites that need them but I cannot manage the passwords at all. This seems to have happened after upgrading to iOS 18.1 beta but it is working fine on my iPhone which is also on 18.1 beta. Unfortunately I am forced to use Microsoft Authenticator for some apps but this has not been an issue to date and again is also installed on my iPhone. Please, does anyone have an explanation or fix for this as I rely on Apple’s password manager across a range of systems and I’m concerned I will end up losing my passwords. Thank you
14
5
8k
Nov ’24
Localizing CFBundleDisplayName based on specific region
Hi everybody, My team and I are currently working on an app that requires us to use localizations for the CFBundleDisplayName property in info.plist. However we are running into some issues ourselves, we need to localise the CFBundleDisplayName property for two specific countries: Netherlands Belgium We've tried to use the String catalog and we've added the corresponding languages/regions there: nl-BE (CFBundleDisplayName = x) nl-NL (CFBundleDisplayName = y) However the nl-BE localization does not seem to be used when changing the device language to Dutch (Belgium). It uses the nl-NL (y) value for the CFBundleDisplayName. Is it possible to use CFBundleDisplayName localizations for specific regions that use the same language? such as Belgium and the Netherlands. If not I fear that we need to build two apps...
1
0
942
Dec ’24
Requesting a refund
Dear Apple Pay Support, I am writing to request a refund of $1296.59 for a transaction made on September 23, 2024, with Express Oil Change & Tires Engineering. I paid for auto repair services which were not performed. I explained to the merchant the specific repairs my car needed, and they accepted payment with the understanding that these services would be completed. However, after paying, the agreed-upon repairs were not done. This transaction depleted my savings. I am currently in my final semester of college, and having a working vehicle is essential for attending classes and completing my studies. The lack of promised repairs is creating a significant hardship and is impacting my ability to succeed academically. I have no family support system to fall back on financially; they are facing their own difficulties and I am unable to ask them for assistance. After discovering the repairs were not completed, I contacted Express Oil Change & Tires Engineering on 9/23/2024 to request they rectify the situation and complete the repairs as originally promised. I explained the significant financial strain this placed on me, especially given the large sum of the purchase. They informed me they would not be able to complete the repairs without further charges. I understand that Apple Pay acts as an intermediary for payments, and I would appreciate your assistance in contacting the merchant on my behalf to resolve this issue and secure a refund. If direct contact with the merchant is not possible, I request that you consider my difficult circumstances and grant a refund due to the fraudulent nature of this transaction. Thank you for your time and consideration. Sincerely, Jason Joseph 5044102960
1
0
411
Dec ’24
Apply Carplay Issues 18.1 - Phone Calls Not Working Properly
I have a 2020 Toyota Camry XSE. Ever since the iOS 18 and 18.1 updates while connected to my car via the USB cable to CarPlay when receiving or making calls the calls are lagging. A little bit of background is I have the new iPhone 16 Pro, the phone is completely up to date and my car has all the latest updates available as well so everything is up to date. I also bought a new USB cord to make sure it was not a cord issue. When I connect to my car through the cable and go to car play, everything works except for when I make or receive a call. When making or receiving a call upon answering or starting the call the moment the person picks up the system delays both voices on the call. What happens is the "time on phone display" that shows during the call, the time does not move like the call is frozen on the screen. Because of that the call is lagged when I speak or they speak and you are unable to have a normal conversation because of this. If I put the phone on speaker while still connected all of a sudden the call time unfreezes on the screen and starts counting again but the moment it take it off speaker the time freezes again and the call starts lagging again. I have NEVER had an issue until the iOS 18 updates. Please provide any feedback or suggestions, or if this is a known issue and it is currently being worked on. Like I said everything else works except for making/receiving calls that is when the issues start and the CarPlay screen freezes and starts the issues.
16
10
3.1k
Mar ’25