on iOS16.4, if try to add EKAttendee on EKEvent, it will cause app crash; this can not reproduce on iOS14.5/iOS15.7 etc low version.
Add Main example Attendee code:
Class className = NSClassFromString(@"EKAttendee");
NSMutableArray *attendeessystem = [NSMutableArray new];
for(int i=0; I<1;i++){
id attendee = [className new];
[attendee setValue:@"test" forKey:@"firstName"];
[attendee setValue:@"hihi" forKey:@"lastName"];
[attendee setValue:@"test@outlook.com" forKey:@"emailAddress"];
[attendeessystem addObject:attendee];
}
if([attendeessystem count]>0)
{
[calendarEvent setValue:attendeessystem forKey:@"attendees"];
}
crash log:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSDictionaryM setObject:forKeyedSubscript:]: key cannot be nil'
*** First throw call stack:
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
when I submit my product recently, I meet the below issue from Apple, but such product before already submit successfully and my xxx-Info.plist and InfoPlist.strings are matched, but why happen The “NSContactsUsageDescription” value for the NSContactsUsageDescription key isn’t allowed in “xxx.app”? any rule changed recently? thanks for your help!
App Store Connect
Dear Developer,
We identified one or more issues with a recent delivery for your app, 1.0.25 (84). Your delivery was successful, but you may wish to correct the following issues in your next delivery:
ITMS-90738: Invalid purpose string value - The “NSContactsUsageDescription” value for the NSContactsUsageDescription key isn’t allowed in “xxx.app”. Your app’s code references one or more APIs that access sensitive user data, or the app has one or more entitlements that permit such access. The Info.plist file for the “xxx.app” bundle should contain a NSContactsUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. For details, visit: https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.
ITMS-90738: Invalid purpose string value - The “NSCameraUsageDescription” value for the NSCameraUsageDescription key isn’t allowed in “xxx.app”. Your app’s code references one or more APIs that access sensitive user data, or the app has one or more entitlements that permit such access. The Info.plist file for the “xxx.app” bundle should contain a NSCameraUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. For details, visit: https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.
ITMS-90738: Invalid purpose string value - The “NSSpeechRecognitionUsageDescription” value for the NSSpeechRecognitionUsageDescription key isn’t allowed in “xxx.app”. Your app’s code references one or more APIs that access sensitive user data, or the app has one or more entitlements that permit such access. The Info.plist file for the “xxx.app” bundle should contain a NSSpeechRecognitionUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. For details, visit: https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.
After you’ve corrected the issues, you can upload a new binary to App Store Connect.