Lỗi phát hành iOS 10 GM khi gửi ứng dụng “ứng dụng cố gắng truy cập dữ liệu nhạy cảm về quyền riêng tư mà không có mô tả sử dụng” do GoogleSignIn, AdMob


79

Tôi vừa mới bắt đầu gặp phải vấn đề này với bản phát hành iOS 10 GM. Tôi nhận được một email nói rằng:

Để xử lý giao hàng của bạn, các vấn đề sau phải được khắc phục:

Ứng dụng này cố gắng truy cập dữ liệu nhạy cảm về quyền riêng tư mà không có mô tả sử dụng. Info.plist của ứng dụng phải chứa khóa NSCameraUsageDescription với giá trị chuỗi giải thích cho người dùng cách ứng dụng sử dụng dữ liệu này.

Khi các chỉnh sửa bắt buộc đã được thực hiện, bạn có thể gửi lại tệp nhị phân đã sửa.

Trân trọng,

Nhóm App Store

Tôi đang sử dụng google GoogleSignIn. Tôi không sử dụng Firebase, nhưng khi cài đặt GoogleSignIn bằng vỏ ca cao, tôi thấy trong nhật ký nó đã tự động cài đặt Firebase.

Có điều gì chúng ta có thể làm ngoài việc phải xác định các phím này vì ứng dụng của tôi không liên quan gì đến máy ảnh / ảnh, v.v. và do đó tôi không muốn người dùng nghĩ rằng chúng tôi đang sử dụng chúng.

Tôi nhận thấy một người khác cũng gặp phải vấn đề này: https://forums.developer.apple.com/thread/62229


Có vẻ như Google đang nghiên cứu một giải pháp: groups.google.com/forum/#!category-topic/google-admob-ads-sdk/…
Stefan

1

Câu trả lời:


94

Đây là liên kết đến một giải pháp hoàn chỉnh từ Google: https://groups.google.com/d/msg/google-admob-ads-sdk/UmeVUDrcDaw/HIXR0kjUAgAJ

Thông tin thêm tại liên kết đó, nhưng phiên bản TL; DR là bạn phải thêm ba mục vào danh sách của mình:

<key>NSCalendarsUsageDescription</key>
<string>Advertisement would like to create a calendar event.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Advertisement would like to store a photo.</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>Advertisement would like to use bluetooth.</string>

2
điều này dường như được thiếu "NSCameraUsageDescription" mặc dù đó tôi đã phàn nàn về
Pranoy C

Với Phiên bản 7.11.0 của SDK của họ, điều này không còn bắt buộc, chỉ cần cập nhật và nó hoạt động.

Làm thế nào để bạn làm điều này? Info.plist dường như là một tệp nhị phân. Tôi có thể đọc các tên khóa, nhưng chúng bị bao quanh bởi một loạt các ký tự vô nghĩa.
Brian Knoblauch

tôi đã thêm điều này vào tệp plist nhưng vẫn gặp phải vấn đề tương tự. . . vẫn nhận được cùng một thư sau quá trình xây dựng. .
Naman Vaishnav

28

trong iOS 10, bạn cần thêm khóa được đề cập trong hình ảnh bên dưới nếu bạn đang sử dụng máy ảnh hoặc thư viện ảnh trong ứng dụng của mìnhnhập mô tả hình ảnh ở đây


13

Trong iOS 10, Apple đã đưa ra yêu cầu xác định mô tả sử dụng trong Info.plist cho bất kỳ tính năng nào yêu cầu cửa sổ bật lên. Xem http://useyourloaf.com/blog/privacy-settings-in-ios-10/

Trong chương trình beta, các ứng dụng sẽ gặp sự cố vào thời điểm chúng hiển thị lời nhắc nếu mô tả sử dụng không được đặt.

Có vẻ như các công cụ xác thực iTunes Connect đã được thay đổi để tìm kiếm các tham chiếu trong ứng dụng đến các lớp được liên kết với các đối tượng liên quan đến quyền. Nếu không có mục nhập Info.plist, họ sẽ từ chối tệp nhị phân.

Tôi thấy điều này trong một trong các ứng dụng của riêng mình, nơi tôi có một phương pháp trợ giúp cũ trong thư viện để phát hiện xem máy ảnh có tồn tại hay không. Mặc dù ứng dụng chưa bao giờ gọi phương thức đó, nhưng nó đang được liên kết vào tệp nhị phân của tôi vì tôi đã sử dụng một phương thức khác trong cùng một tệp. Ứng dụng đó không sử dụng máy ảnh và do đó không xác định mục nhập Info.plist. Và nó đã bị từ chối. Tôi chỉ đơn giản là xóa phương thức trợ giúp của mình và chuyển séc sang các ứng dụng khác đã sử dụng nó.

Tuy nhiên, AdMob dường như có tham chiếu đến Lịch nên không thể gửi ứng dụng mà tôi có sử dụng quảng cáo và không sử dụng Lịch. Cảm ơn Google!


1
Bạn nói đúng. Các khung của Google cho AdMob và GoogleSignIn tự động cài đặt firebase sử dụng các quyền đó ngay cả khi ứng dụng không bao giờ sử dụng máy ảnh. Sau khi tôi xác định NSCameraUsageDescription, nó cho phép tôi gửi mà không gặp vấn đề gì với hy vọng rằng ứng dụng sẽ không nhắc người dùng nên họ cũng sẽ không nhìn thấy văn bản. Nhưng google thực sự nên khắc phục điều này, điều này nghe có vẻ giống như một điều gì đó siêu mờ ám về việc gián điệp qua máy ảnh hay gì đó.
Pranoy C

9

Bạn phải cho phép Camera trong Info.Plist. goto Info.plist và thêm mã bên dưới.

Key       :  Privacy - Camera Usage Description   
Value     :  $(PRODUCT_NAME) camera use

Xem giới thiệu này: nhập mô tả hình ảnh ở đây


5

Đây là tất cả các Khóa quyền riêng tư, Chúng tôi cần thêm chúng vào danh sách Info.plist với mô tả ngắn.

•       Bluetooth Sharing – NSBluetoothPeripheralUsageDescription
•       Calendar – NSCalendarsUsageDescription
•       CallKit – NSVoIPUsageDescription
•       Camera – NSCameraUsageDescription
•       Contacts – NSContactsUsageDescription
•       Health – NSHealthShareUsageDescription & NSHealthUpdateUsageDescription
•       HomeKit – NSHomeKitUsageDescription
•       Location – NSLocationUsageDescription, NSLocationAlwaysUsageDescription, NSLocationWhenInUseUsageDescription
•       Media Library – NSAppleMusicUsageDescription
•       Microphone – NSMicrophoneUsageDescription
•       Motion – NSMotionUsageDescription
•       Photos – NSPhotoLibraryUsageDescription
•       Reminders – NSRemindersUsageDescription
•       Speech Recognition – NSSpeechRecognitionUsageDescription
•       SiriKit – NSSiriUsageDescription
•       TV Provider – NSVideoSubscriberAccountUsageDescription

CallKit không cần uỷ quyền hoặc mô tả sử dụng
user102008

3

CHỈNH SỬA: Vui lòng tham khảo câu trả lời ở trên https://stackoverflow.com/a/39476283/1634905 liệt kê giải pháp chính thức của google. LƯU Ý rằng giải pháp thay thế thiếu một khóa bổ sung cũng sẽ được yêu cầu:NSCameraUsageDescription

Giải pháp Cách giải quyết mà tôi đã sử dụng: Các khung của Google cho AdMob và GoogleSignIn tự động cài đặt firebase sử dụng các quyền đó mặc dù ứng dụng không bao giờ làm như vậy. Sau khi tôi xác định NSCameraUsageDescriptiontrong info.plist, nó cho phép tôi gửi mà không có vấn đề gì với hy vọng rằng ứng dụng sẽ không nhắc người dùng nên họ cũng sẽ không nhìn thấy văn bản.


2

Có thể Google Framework sử dụng một số khung hệ thống bổ sung yêu cầu quyền của người dùng (tức là vị trí người dùng) và bạn quên thêm mô tả liên quan trong tệp .plist! Kiểm tra kỹ điều đó.

Một số mô tả quyền sử dụng trở thành bắt buộc trong iOS 10.


3
Bạn nói đúng. Các khung của Google cho AdMob và GoogleSignIn tự động cài đặt firebase sử dụng các quyền như vậy mặc dù ứng dụng không bao giờ làm như vậy. Sau khi tôi xác định NSCameraUsageDescription, nó cho phép tôi gửi mà không gặp vấn đề gì với hy vọng rằng ứng dụng sẽ không nhắc người dùng nên họ cũng sẽ không nhìn thấy văn bản. Nhưng google thực sự nên khắc phục điều này, điều này nghe có vẻ giống như một điều gì đó siêu mờ ám về việc gián điệp qua máy ảnh hay gì đó.
Pranoy C


0

Đảm bảo rằng bạn đang thêm khóa này nếu bạn là ArcGIS.framework của ESRI.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.