Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RxCocoa: UIImagePickerController extension causing iTunes Connect to require NSPhotoLibraryUsageDescription #874

Closed
1 of 3 tasks
nighthawk opened this issue Sep 9, 2016 · 5 comments

Comments

@nighthawk
Copy link
Contributor

Short description of the issue:

The UIImagePickerController in RxCocoa causes iTunes Connect to complain about missing NSPhotoLibraryUsageDescription key in the Info.plist file.

Self contained code example that reproduces the issue:

import RxCocoa

Xcode version:

Xcode 8 GM

Expected outcome:

Can upload binary to iTunes Connect without issues.

What actually happens:

iTunes Store complains about an invalid binary:

We have discovered one or more issues with your recent delivery for \(appName). To process your delivery, the following issues must be corrected:
This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.
Once these issues have been corrected, you can then redeliver the corrected binary.

I have confirmed that RxCocoa is the issue by deleting the extension and uploading again—this time it went through without issue.

The proposal is to remove the UIImagePickerController extensions from RxCocoa and, ideally, to move them to a repo in the RxSwift Community.

Related links:

Installation method:

  • CocoaPods
  • Carthage
  • Git submodules
@kzaher
Copy link
Member

kzaher commented Sep 10, 2016

Hi @nighthawk ,

Ok, I guess we can remove this from RxCocoa.

I think we also need to move CLLocation manager extensions. Has anyone had issues because of CLLocationManager extensions?

@nighthawk
Copy link
Contributor Author

I've just uploaded a build for an app that does not use CLLocationManager but includes RxCocoa. iTC only complained about NSPhotoLibraryUsageDescription missing. So seems like the CLLocationManager extensions are safe to keep—at least for now.

kzaher added a commit that referenced this issue Sep 11, 2016
@mohsenr
Copy link
Contributor

mohsenr commented Sep 15, 2016

I can confirm that I had the same issue, and removing RxImagePickerDelegateProxy.swift from the target fixed it. So @kzaher’s commit above should work.

kzaher added a commit that referenced this issue Sep 18, 2016
@kzaher
Copy link
Member

kzaher commented Sep 18, 2016

This should be fixed now, please reopen the issue if not.

@stonehouse
Copy link

stonehouse commented Feb 23, 2017

I just integrated RxCocoa and RxSwift 2.6.1 into a project (to add better behaviour on search input). The changes were relatively minor, but upon submitting a built to TestFlight it was rejected because "NSPhotoLibraryUsageDescription" was missing from the Info.plist.

I tried submitting a build where I excluded UIImagePickerController+rx.swift and RxImagePickerDelegateProxy.swift from the target and this was accepted by TestFlight.

I'm still using 2.6.1 because the project is still on Swift 2.3. It seems like this is still an issue, at least in 2.6. I'm guessing this is fixed in RxCocoa 3?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants