Hi,
I'm testing out Xcode 16 beta and I have a couple of questions:
Is Swift Assist only available on Sequoia? I see that predictive code completion is per https://www.apple.com/newsroom/2024/06/apple-empowers-developers-and-fuels-innovation-with-new-tools-and-resources/, but I tried the beta on Sonoma and I'm not seeing it
Regarding Swift Assist - I understand that code is only used to process requests and never stored on servers, and Apple will not use it to train machine learning models. However, my company's security team may still decide that using Swift Assist is too much of a risk. How can we disable it across multiple developer machines?
Thank you!
Overview
Post
Replies
Boosts
Views
Activity
So I finally got enrolled after a really long time of trying, everything was working fine I created a new profile, was creating a new app etc then after a few hrs I logged back in and it asked me to enroll again. I received no email from apple with n explanation as to what happened
I was hoping for an update of SwiftData which adopted the use of shared and public CloudKit containers, in the same way it does for the private CloudKit container.
So firstly, a big request to any Apple devs reading, for this to be a thing!
Secondly, what would be a sensible way of adding a shared container in CloudKit to an existing app that is already using SwiftData?
Would it be possible to use the new DataStore method to manage CloudKit syncing with a public or shared container?
I am getting the error "Initializing hosting entity without a context" in the console when I build and run my game in XCode 16.0 beta, targeting Vision Pro OS 2.0 (22N5252n).
Not sure where the error is originating.
When you try to present medium height popover from the bottom of iPhone view then popover is clipped in iOS18 but works in old devices
Sample code
Button("Show Popover") {
showPopover.toggle()
}
.popover(
isPresented: $showPopover,
arrowDirection: arrowDirection
) {
conent
}
Result
My app lets users create things with text, and I've included Apple fonts so users can format their text with them. These were fonts I found in the Font Book app that comes with macOS. My assumption is that these, like the San Francisco font, can be distributed with apps.
Do I need to attribute these fonts to their creators and publish a license in my "About" page? If so, where do I find the license(s) and what is the proper way of publishing them? Is there anything else I should know?
Please let me know if this should've been posted under a different topic and tag
Hello, I have a fully functional webauthn relying party that uses passkeys and I am trying to implement an iOS sdk for it. On the server, the AASA file is valid and well served at /.well-known/assetlinks.json. I verified its validity with branch.io and that it is indeed cached by Apple's CDN (https://app-site-association.cdn-apple.com/a/v1/service.domain.com), but even will all these I still get the following error when installing the app on a device and starting the passkey ceremony:
Passkey authorization failed. Error: The operation couldn’t be completed. Application with identifier TEAM.com.APP is not associated with domain service.domain.com
So I then checked the system log when installing the app on my iPhone, and under the swcd process (which is apparently responsible of fetching the AASA file) I found the following error:
swcd: Domain is invalid. Will not attempt a download.
The issue that I have is that my domain is actually an IDN, it has a special character in it. But everywhere I have used it, I converted it to ASCII (punycode). With this conversion, Apple's CDN is able to fetch the AASA file, and the passkey ceremony works fine on a browser.
So I don't understand how the device (both iPhone or Mac) finds this domain to be invalid? In the app's entitlements, I added the capability for an associated domain, with webcredentials:service.domain.com with the domain name converted to ASCII (punycode) and developer mode doesn't address this issue as it appears when the app is installed (and is not related to Apple's CDN).
The last thing I tried was to add the domain with special characters in the app's entitlements (for webcredentials:) but then Xcode was unable to install the app on the device, and gave the following error:
Failed to verify code signature (A valid provisioning profile for this executable was not found.)
which happened only with a special character in the domain in the app's entitlements.
All this leaves me kind of in a dead end, I understand Xcode or iOS/macOS has a hard time with IDNs and special characters (so do I), but I have no idea on how to solve this (without changing the domain name), so I would really appreciate any help. Thanks in advance.
PS: I tested all this previously with another domain without special characters and it was working. It also had dashes ('-') in it and the new domain converted to ASCII is basically a regular domain with '-' in it so I suppose there is some kind of conversion made from ASCII back to special characters and that then, the domain is considered as invalid, but this doesn't really help me a lot...
PS2: My devices are running on iOS 17.4.1 and macOS 14.4.1 with Xcode 15.2
Hello!
I am looking to use SF Pro as the main font of my website. This website is used as a place of purchase for some of my products, none of which will actually be using this font.
The websites logo will also not be using this font, however I am worried that may be legally unviable.
Please let me know if this is an option. I'm not looking to get direct financial gain by using your fonts, just would like to use it for the website.
Thank you for your help.
I created a new Custom Product Page with a Deep Link, according to the WWDC '24 session "What's new in App Store Connect", and everything has been approved, but the Deep Link does not appear to be working. Is this feature fully operational yet?
When the app is installed via this product page, the user should be directed to a specific page in the app, however this does not happen. It does work properly when installing directly via the Deep Link
This is the link to the product page: https://apps.apple.com/app/bills-to-budget/id1636872963?ppid=ff079a93-be32-43fe-a88e-ad97a68ff725
Hello everyone,
I'm working on a SwiftUI app that requires location services, and I've implemented a LocationManager class to handle location updates and permissions. However, I'm facing an issue where the location permission popup does not appear when the app is launched.
Here is my current implementation:
LocationManager.swift:
import CoreLocation
import SwiftUI
class LocationManager: NSObject, ObservableObject, CLLocationManagerDelegate {
private let locationManager = CLLocationManager()
@Published var userLocation: CLLocation?
@Published var isAuthorized = false
@Published var authorizationStatus: CLAuthorizationStatus = .notDetermined
override init() {
super.init()
locationManager.delegate = self
checkAuthorizationStatus()
}
func startLocationUpdates() {
locationManager.startUpdatingLocation()
}
func stopLocationUpdates() {
locationManager.stopUpdatingLocation()
}
func requestLocationAuthorization() {
print("Requesting location authorization")
DispatchQueue.main.async {
self.locationManager.requestWhenInUseAuthorization()
}
}
private func checkAuthorizationStatus() {
print("Checking authorization status")
authorizationStatus = locationManager.authorizationStatus
print("Initial authorization status: \(authorizationStatus.rawValue)")
handleAuthorizationStatus(authorizationStatus)
}
func locationManagerDidChangeAuthorization(_ manager: CLLocationManager) {
print("Authorization status changed")
authorizationStatus = manager.authorizationStatus
print("New authorization status: \(authorizationStatus.rawValue)")
handleAuthorizationStatus(authorizationStatus)
}
private func handleAuthorizationStatus(_ status: CLAuthorizationStatus) {
switch status {
case .authorizedAlways, .authorizedWhenInUse:
DispatchQueue.main.async {
self.isAuthorized = true
self.startLocationUpdates()
}
case .notDetermined:
requestLocationAuthorization()
case .denied, .restricted:
DispatchQueue.main.async {
self.isAuthorized = false
self.stopLocationUpdates()
print("Location access denied or restricted")
}
@unknown default:
DispatchQueue.main.async {
self.isAuthorized = false
self.stopLocationUpdates()
}
}
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
DispatchQueue.main.async {
self.userLocation = locations.last
}
}
func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
print("Location manager error: \(error.localizedDescription)")
}
}
MapzinApp.swift:
@main
struct MapzinApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
@StateObject private var locationManager = LocationManager()
var body: some Scene {
WindowGroup {
Group {
if locationManager.authorizationStatus == .notDetermined {
Text("Determining location authorization status...")
} else if locationManager.isAuthorized {
CoordinatorView()
.environmentObject(locationManager)
} else {
Text("Location access is required to use this app. Please enable it in Settings.")
}
}
}
}
}
Log input:
Checking authorization status
Initial authorization status: 0
Requesting location authorization
Authorization status changed
New authorization status: 0
Requesting location authorization
Despite calling requestWhenInUseAuthorization() when the authorization status is .notDetermined, the permission popup never appears. Here are the specific steps I have taken:
Checked the Info.plist to ensure the necessary keys for location usage are present:
NSLocationWhenInUseUsageDescription
NSLocationAlwaysUsageDescription
NSLocationAlwaysAndWhenInUseUsageDescription
Verified that the app's target settings include location services capabilities.
Tested on a real device to ensure it's not a simulator issue.
I'm not sure what I might be missing. Any advice or suggestions to resolve this issue would be greatly appreciated. Thank you!
I was my understanding that you're supposed to be able to open a .ips crash log in Xcode and see pretty much what you would see if the app had been running in the debugger when it crashed. But the addresses in my app don't get symbolicated. I opened the .ips in the same project and same version of Xcode that was used to create the app. The .dSym file is around, and I can use it to symbolicate using the atos tool. What am I missing?
Hello forum,
Hope all is great!
I have a shortcut automation which uses the transaction trigger. Since updating to ios 18 the transaction trigger does not work anymore.
Whenever a transaction is done, the “Running your automation” notification does not show up and the automation does not work.
To share with you the steps I’ve done so far:
1.Remove the automation and do it again
2.Remove the card from apple pay
3. Delete and install again the shortcut app
4. Turned on and off the phone
I can confirm the automation works on my other iPhone with the latest version of IOS 17.
Would really appreciate if anyone has any insights about that, or if this happened to you as well.
Cheers!
Dorin
The title is self-exploratory. I wasn't able to find the CAMetalDisplayLink on the most recent metal-cpp release (metal-cpp_macOS15_iOS18-beta). Are there any plans to include it in the next release?
I've been contacting Apple Developer support for over 3 weeks now regarding new agreement that is not visible anywhere in account and no option to accept it either. Submitted ticket twice but no response at all. All they have to say is "Thank you for contacting us. We’ve received your support request and will get back to you as soon as possible. Your case ID is 102320028158. If you have any additional information you’d like to provide or would like a status update on your case, please reply back to this email."
I've already done my test on development signed app locally, all in-app purchase runs well with sandbox tester Apple ID.
Errors happens when make a purchase in distribution app from TestFlight.
Detail Info:
in Apple Store connect , make app available to China
Electron project, packaging by electron builder using distribution sign
upload to TestFlight, invite myself to test
using my Apple ID(not the sandbox tester) to login and purchase
dialog appears and said "Account not in this store"
VPN is off
Apple Store shows Chinese language and Chinese apps, not llikely to be u.s. store
I'm suspecting that:
Maybe shouldn't use my developer Apple ID to run TestFlight test?
TestFlight locked app to be in u.s. store ?
Sales and Trends section in App Store Connect is down and showing error for the last 2 hours. Are you experiencing the same issue now?
I am trying to set up a message filter extension that will use shared web credentials for basic auth when calling to its ILMessageFilterExtensionNetworkURL.
I have associated domains set up for both "messagefilter:" and "webcredentials:" and the message filter IS correctly calling the ILMessageFilterExtensionNetworkURL with each message - so that part is working.
As detailed here, I have set up Shared Web Credentials and my view controller is using SecAddSharedWebCredential() to save the creds to the correct domain. Using Authorization services, the creds are auto-filled into my app's login screen. When I go under Settings > Passwords, I see the creds are saved and they are the correct creds to the corrent website that matches ILMessageFilterExtensionNetworkURL.
Regardless of all of this, the deferQueryRequestToNetwork() refuses to use the creds and implement Basic Auth in its URL call. It makes the call to the correct URL, it just won't use the Shared Web Creds for basic auth.
Any help would be greatly appreciated.
Hello,
My app often crashes when I use simulators. I would like some help with reading the crash report that is generated. Especially with the part below Thread 0 Crashed. Based on other posts I understand that the 0x8BADF00D in the crash report is a WatchDog crash that basically says that WatchDog terminated the app because the main thread was blocked for a significant time. Many processes can block the main thread so it's hard to find out what it is in our specific case. Can someone help me reading through the crash report?
Short_crash_report.txt
Background information
The application is Xamarin Native and I use Rider as an IDE. When I use Visual Studio, the simulators run just fine. No crash occurs while using my app on a device.
The crash happens on multiple simulators with different OS versions. I already deleted XCode cache, erased content and settings of several simulators and deleted iOS DeviceSupport files.
Does anyone know why the following call fails?
CGPDFOperatorTableSetCallback(operatorTable, "ID", &callback);
The PDF specification seems to indicate that ID is an operator?
BTW what is the proper topic/subtopic for questions about Quartz? Wasn't sure what topic on the new forums to post this under.
We encountered a weird situation recently. Our daily build process upload an app with a daily incremental 4-digit build number, e.g. 4000, 4001, 4002, etc. Our release build number has a specific requirement to use the date, such as 20240719.
In the past I have learned that in order to upload a new build for the same version number, the new build number needs to be greater than the old one. Thus, if I have uploaded 200.1.0 (20240719), I cannot upload 200.1.0 (4001) anymore, because the daily build's build number is smaller than the release build. I have to expire the 20240719 build in order for the daily build to continue, which is fine.
The problem is, yesterday I submitted 200.1.0 (20240719) for App Store review then got approved. While today's daily build is 200.2.0 (4001) and when it is uploaded, it got rejected for the following error message:
This bundle is invalid. The value for key CFBundleVersion [4001] in the Info.plist file must contain a higher version than that of the previously uploaded version [20240719]. Please find more information about CFBundleVersion at https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleversion With error code STATE_ERROR.VALIDATION_ERROR.90061 for id [redacted] Asset validation failed (-19208)
This befuddles me, because the 20240719 build submitted for review is in an older release version, while the daily build 4001 is using the newer release version number. It seems that TestFlight decided to compare build numbers while ignoring the version numbers?!
Furthermore, after I canceled my approved submission for 200.1.0 (20240719), surprisingly the 200.2.0 (4001) can be uploaded without an error! 😲
It seems that the only factor is whether the build is submitted or not. If an older version number higher build (200.1.0 (20240719)) is not submitted, then TestFlight happily allows newer version number lower build (200.2.0 (4001)) to be uploaded. In contrast, if submitted, then 4001 is not allowed to be uploaded!
Is it an expected behavior? Thank you for the patience.