getsentry / sentry-cocoa

The official Sentry SDK for iOS, tvOS, macOS, watchOS.
https://sentry.io/for/cocoa/
MIT License
808 stars 323 forks source link

App required to have NSAppleMusicUsageDescription key in Info.plist #2065

Closed Shiaulis closed 2 years ago

Shiaulis commented 2 years ago

Platform

iOS

Installed

CocoaPods

Version

7.23.0

Steps to Reproduce

With latest Sentry version our app cannot pass check during upload in Appstore Connect since we do not have NSAppleMusicUsageDescription in Info.plist file so we needed to revert to previous Sentry version:

ITMS-90683: Missing Purpose String in Info.plist - Your app‘s code references one or more APIs that access sensitive user data. The app‘s Info.plist file should contain a NSAppleMusicUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. If you're using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required.

Is it suppose to work like that? Do you expect your customers to add this key?

Expected Result

App doesn't required to have NSAppleMusicUsageDescription

Actual Result

Application failed to upload to Appstore

philipphofmann commented 2 years ago

@brustolin, if removing the media permission check doesn't work, I think we can also discuss removing the whole permissions feature in general, as apps getting flagged by Apple is way worse than the value this tiny feature adds. I think adding an extra package is not worth the effort.

EdgarDegas commented 2 years ago

Can you please use the "Contact the App Review Team” form: https://developer.apple.com/appstore/contact/?topic=clarification. That way hopefully we can get to the bottom of why the SDK is generating these errors, which should not be happening according to Apple themselves.

Sorry to bother you guys after this issue is closed.

I reached out to apple. I included this thread and pointed out all its worth-noticing details in my email. It seems that apple just ignored it.

They replied to my email with a bunch of cliche stating that any third-party lib that accessed any protected data would cause the app in need of purpose strings. We already know that.

I'll reply to apple tough. Beep it.

simondelphia commented 2 years ago

Still getting this in 7.24.0.

Actually did not experience the issue in 7.23.0. Upgraded to 7.23.0 on July 29 and had no issues uploading our daily builds until after updating to 7.24.0.

EDIT oh I see there's a 7.24.1, will try that.

EDIT2: 7.24.1 works, thank you

philipphofmann commented 2 years ago

@EdgarDegas, and @simondelphia, please try with 7.24.1 and let us know if you still experience the issue. If you do, we are going to remove the whole permissions feature.

Shiaulis commented 2 years ago

7.24.1 works well for us

balavor commented 1 year ago

We have the same issue with NSLocationAlwaysAndWhenInUseUsageDescription, which we're not using.

cc: @philipphofmann

philipphofmann commented 1 year ago

Which version of the SDK are you using, @RomanTysiachnik?

johnldeguzman commented 1 year ago

It looks like we're also getting this same issue: NSLocationAlwaysAndWhenInUseUsageDescription despite not using locations. Using both 7.31.0 and 7.24.1

philipphofmann commented 1 year ago

Thanks for the info, @johnldeguzman. I created an issue for that https://github.com/getsentry/sentry-cocoa/issues/2528. Please upvote there.

balavor commented 1 year ago

Hey @philipphofmann,

Sorry for taking so long. We have version 7.31.3.

kevinrenskers commented 1 year ago

@RomanTysiachnik, @johnldeguzman out of curiosity: did you receive a warning, or actual rejections?

johnldeguzman commented 1 year ago

actual rejections

maksudkhan7706 commented 1 month ago

Add This Line Your Info.plist file <key>NSAppleMusicUsageDescription</key> <string>This app does not require access to your music library.</string>