I also have the same exact issue, and the app crashes for many of my users when they add new contacts (and are running macOS13). My app is an AppKit app, so this isn't just a Catalyst issue.
I filed FB11724222 for this.
Post
Replies
Boosts
Views
Activity
I am having the same issue. Even passing in the CNContactStore's defaultContainerIdentifier doesn't help, and I get the same the app crashes.
I filed FB11724222 ... hopefully someone from Apple can look into it ASAP.
I'm having the same problem. Started with macOS13.0. I have even tried passing in the default container identifier, but it doesn't work.
[request addContact:createContact toContainerWithIdentifier: [contactStore defaultContainerIdentifier]];
If you find any resolution, please post it.
I found it by right-clicking on an item in the build results, and select "View in Timeline".
Did you ever resolve this issue? If so, how? I also see other apps that have the same exact name on iOS and Mac App Stores, even though they are separate purchases. But when I try to rename my iOS app to match the macOS version, I get the error:
Name did not save because the app name you entered is already being used for another app in your account. If you would like to use the name for this app you will need to submit an update to your other app to change the name, or remove it from App Store Connect.
Thanks.
I created a bug report: FB10035567
Even for a developer tool, I wouldn't expect it to crash an app just because it detected a duplicate column name. The framework already throws all sorts of parsing errors, for e.g. if you specify a 'date' column and it can't parse the input in the cell, it'll throw a failedToParse error. You can see CSVReadingError for more details.
Thanks! Yes, I was able to replicate the issue with a CSV file with duplicate column names, as well as with a CSV file with some extra empty columns.
I guess the next question is how to best handle this situation, since this happen when I just load the CSV file into the TabularData framework and it just crashes the app. I'm not sure how to 'prepare' the file before loading it, to check for duplicate columns or extra columns etc. Because that would, y'know, require a CSV parsing framework like TabularData! I would actually assume that theTabularData framework would be able to handle these situations, and return an error instead of crashing completely. Is there any other error handling I can do to avoid the crash?
I found a crash report for the same issue through Xcode's Organizer. Would that help? It seems to have more detailed symbols for the TabularData framework. Attaching it here.
2022-05-20_23-41-45.6298_-0400-92c46331ffce6efc87ab9eed1aa3082179e49628.crash
Hi,
Adding the full crash report. Let me know if there's anything there that helps narrow down the issue.
crashreport.txt
Soon after typing this out, I found the culprit! The Mac app was using the Dropbox v2 SDK, which requires the app to register for Apple 'events', using this:
[[NSAppleEventManager sharedAppleEventManager] setEventHandler:self
andSelector:@selector(handleAppleEvent:withReplyEvent:)
forEventClass:kInternetEventClass
andEventID:kAEGetURL];
With this handler in place, the actual NSApplication "application openURLs" method doesn't get called. Removing this 'event handler' gets it working again (or can handler the event in this 'handleAppleEvent' method, like this:
- (void)handleAppleEvent:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent {
NSURL *url = [NSURL URLWithString:[[event paramDescriptorForKeyword:keyDirectObject] stringValue]];
}
Just putting it out there in case someone is stuck on this in the future.
Would love some clarification / confirmation about this.
This is what the documentation says about Transaction.all:
This sequence returns the user’s transaction history current to the moment you access the sequence. The sequence emits a finite number of transactions. If the App Store processes new transactions for the user while you’re accessing this sequence, the new transactions appear in the transaction listener, updates. The transaction history doesn’t include finished consumable products or finished non-renewing subscriptions, repurchased non-consumable products or subscriptions, or restored purchases.
Even after reading this, I'm not 100% sure if paid apps transactions should show up in the transaction history or not.
Ok, so it seems like the the right delegate method is:
- (void)application: (NSApplication *)application openURLs:(nonnull NSArray<NSURL *> *)urls
But unfortunately this doesn't get called at all. The 'Link' from the widget will open the app, but not call this method, so I can't figure out which URL was tapped. I have configured the Info.plist to the link URL in CFBundleURLTypes as well.
I created a new Feedback with a sample project: FB9716011
So far, I've downloaded the SoupChef example and it works fine ... though it's a Catalyst app, so different than what I'm doing.
And now I tried to create an Intents Extension to try that out, and I can't get past provisioning profile issues. Even set to "automatic provisioning" (like the main app target is), it complains with this error:
Provisioning profile "Mac Team Provisioning Profile: com.test.MacSiriExtension" doesn't include the aps-environment and com.apple.developer.siri entitlements.
When I look in the Xcode target "Signing & Capabilities" tab, it doesn't really list any option for adding "Siri" like it does in the iOS app target. This is using Xcode 13.1, running on macOS Monterey RC. I've checked both the app target and the extension target.
I've also gone to the developer portal, and in the app's Identifier, manually added "SiriKit" to the target (though the popup says "Platform Support: tvOS, iOS, watchOS") and doesn't list macOS here.
Could it be that manually adding SiriKit to a Mac app isn't possible right now?