ใน iOS10 ก่อนที่คุณจะเข้าถึงข้อมูลที่มีความสำคัญต่อความเป็นส่วนตัวเช่นกล้องผู้ติดต่อและอื่น ๆ คุณต้องขอการอนุญาตมิฉะนั้นแอปของคุณจะหยุดทำงานเมื่อคุณเข้าถึงจากนั้น Xcode จะเข้าสู่ระบบดังนี้
แอปนี้ขัดข้องเนื่องจากพยายามเข้าถึงข้อมูลที่มีความเป็นส่วนตัวโดยไม่มีคำอธิบายการใช้งาน Info.plist ของแอปต้องมีไฟล์NSContactsUsageDescription
คีย์ที่มีค่าสตริงที่อธิบายให้ผู้ใช้ทราบว่าแอปใช้ข้อมูลนี้อย่างไร
จะจัดการกับเรื่องนี้อย่างไร?
เปิดไฟล์ในโปรเจ็กต์ของคุณที่ชื่อinfo.plist
คลิกขวาเปิดเป็นSource Code
วางโค้ดด้านล่างลงไป หรือคุณสามารถเปิด info.plist
เป็นProperty List
ค่าเริ่มต้นคลิกปุ่มเพิ่ม Xcode จะให้คำแนะนำที่สมบูรณ์ขณะพิมพ์Privacy -
ด้วยความช่วยเหลือของแป้นพิมพ์⬆️และ⬇️
อย่าลืมเขียนคำอธิบายของคุณว่าเหตุใดคุณจึงขอการอนุญาตนี้ระหว่าง <string>
และ</string>
หรือแอปของคุณจะถูกปฏิเสธโดย apple:
<!-- 🖼 Photo Library -->
<key>NSPhotoLibraryUsageDescription</key>
<string>$(PRODUCT_NAME) photo use</string>
<!-- 📷 Camera -->
<key>NSCameraUsageDescription</key>
<string>$(PRODUCT_NAME) camera use</string>
<!-- 🖼 Write To Image Gallery>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>$(PRODUCT_NAME) save phots in gallry</string>
<!-- 🎤 Microphone -->
<key>NSMicrophoneUsageDescription</key>
<string>$(PRODUCT_NAME) microphone use</string>
<!-- 📍 Location -->
<key>NSLocationUsageDescription</key>
<string>$(PRODUCT_NAME) location use</string>
<!-- 📍 Location When In Use -->
<key>NSLocationWhenInUseUsageDescription</key>
<string>$(PRODUCT_NAME) location use</string>
<!-- 📍 Location Always -->
<key>NSLocationAlwaysUsageDescription</key>
<string>$(PRODUCT_NAME) always uses location </string>
<!-- 📆 Calendars -->
<key>NSCalendarsUsageDescription</key>
<string>$(PRODUCT_NAME) calendar events</string>
<!-- ⏰ Reminders -->
<key>NSRemindersUsageDescription</key>
<string>$(PRODUCT_NAME) reminder use</string>
<!-- 📒 Contacts -->
<key>NSContactsUsageDescription</key>
<string>$(PRODUCT_NAME) contact use</string>
<!-- 🏊 Motion -->
<key>NSMotionUsageDescription</key>
<string>$(PRODUCT_NAME) motion use</string>
<!-- 💊 Health Update -->
<key>NSHealthUpdateUsageDescription</key>
<string>$(PRODUCT_NAME) heath update use</string>
<!-- 💊 Health Share -->
<key>NSHealthShareUsageDescription</key>
<string>$(PRODUCT_NAME) heath share use</string>
<!-- ᛒ🔵 Bluetooth Peripheral -->
<key>NSBluetoothPeripheralUsageDescription</key>
<string>$(PRODUCT_NAME) Bluetooth Peripheral use</string>
<!-- 🎵 Media Library -->
<key>NSAppleMusicUsageDescription</key>
<string>$(PRODUCT_NAME) media library use</string>
<!-- 📱 Siri -->
<key>NSSiriUsageDescription</key>
<string>$(PRODUCT_NAME) siri use</string>
<!-- 🏡 HomeKit -->
<key>NSHomeKitUsageDescription</key>
<string>$(PRODUCT_NAME) home kit use</string>
<!-- 📻 SpeechRecognition -->
<key>NSSpeechRecognitionUsageDescription</key>
<string>$(PRODUCT_NAME) speech use</string>
<!-- 📺 VideoSubscriber -->
<key>NSVideoSubscriberAccountUsageDescription</key>
<string>$(PRODUCT_NAME) tvProvider use</string>
หากไม่ได้ผลให้ลองขอการอนุญาตพื้นหลัง:
<key>UIBackgroundModes</key>
<array>
<!-- something you should use in background -->
<string>location</string>
</array>
หรือไปที่target -> Capabilities -> Background Modes -> open the background Modes
:
จากนั้นทำความสะอาดโครงการของคุณเรียกใช้
ไปที่นี่สำหรับข้อมูลเพิ่มเติม: iOS10AdaptationTips