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:
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 ***-Info.plist and InfoPlist.strings are matched, but why happen The “NSContactsUsageDescription” value for the NSContactsUsageDescription key isn’t allowed in “***.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 “***.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 “***.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 “***.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 “***.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 “***.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 “***.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.