2017-01-13 13 views
10

मैं कॉर्डोवा अनुप्रयोगों के विकास के लिए दृश्य स्टूडियो का उपयोग कर रहा हूं।विजुअल स्टूडियो कॉर्डोवा गुम जानकारी .plist कुंजी

यदि मैं एक्सकोड 8 के साथ स्टोर में अपना ऐप अपलोड करता हूं, तो मुझे निम्न त्रुटि मेल मिलता है।

Missing Info.plist key - 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.

एक अन्य stackoverflow-प्रश्न के आधार पर मैं प्लगइन https://github.com/leecrossley/cordova-plugin-transport-security जोड़ा गया है और plugin.xml संशोधित:

<plugin name="cordova-plugin-transport-security" version="0.1.2" src="C:\Users\xxx\cordova-plugin-transport-security-master\cordova-plugin-transport-security-master" />:

<platform name="ios"> <config-file target="*-Info.plist" parent="NSAppTransportSecurity"> <dict> <key>NSAllowsArbitraryLoads</key> <true/> <key>NSPhotoLibraryUsageDescription</key> <string>This app requires access to the photo library.</string> <key>NSMicrophoneUsageDescription</key> <string>This app does not require access to the microphone.</string> <key>NSCameraUsageDescription</key> <string>This app requires access to the camera.</string> </dict> </config-file> </platform>

मेरी config.xml में

इसके बाद मैं आईओ के लिए ऐप का निर्माण करता हूं एस और इसे एक्सकोड के माध्यम से अपलोड किया।

लेकिन त्रुटि अभी भी वहां है।

+0

लिंक में पोस्ट किए गए उत्तर को देखें - http://stackoverflow.com/questions/41525725/phonegap-missing-plist-key एक समान समस्या की तरह दिखता है – Gandhi

उत्तर

5

उस परिवर्तन के साथ आप NSPhotoLibraryUsageDescription और NSAppTransportSecurity के अंदर अन्य उपयोग डिस्क्रिप्शन लिख रहे हैं, यह रूट पर होना चाहिए।

आप कॉर्डोबा-प्लगइन-मीडिया पर कब्जा के नवीनतम संस्करण का उपयोग करते हैं, यह पहले से ही needed values

 <preference name="CAMERA_USAGE_DESCRIPTION" default=" " /> 
     <config-file target="*-Info.plist" parent="NSCameraUsageDescription"> 
      <string>$CAMERA_USAGE_DESCRIPTION</string> 
     </config-file> 

     <preference name="MICROPHONE_USAGE_DESCRIPTION" default=" " /> 
     <config-file target="*-Info.plist" parent="NSMicrophoneUsageDescription"> 
      <string>$MICROPHONE_USAGE_DESCRIPTION</string> 
     </config-file> 

     <preference name="PHOTOLIBRARY_USAGE_DESCRIPTION" default=" " /> 
     <config-file target="*-Info.plist" parent="NSPhotoLibraryUsageDescription"> 
      <string>$PHOTOLIBRARY_USAGE_DESCRIPTION</string> 
     </config-file> 

मूल्य $CAMERA_USAGE_DESCRIPTION है, क्योंकि यह एक चर मट्ठा से उठाया है आप CLI से प्लगइन स्थापित किया है। जैसा कि आप विजुअल स्टूडियो का उपयोग करते हैं, मुझे लगता है कि आप config.xml में एक चर टैग का उपयोग कर मान सेट कर सकते हैं। चर टैग प्लगइन के अंदर होना चाहिए कि उनका उपयोग नहीं करेगा:

<plugin name="cordova-plugin-media-capture" spec="~1.4.1"> 
     <variable name="CAMERA_USAGE_DESCRIPTION" value="your camera usage message" /> 
     <variable name="MICROPHONE_USAGE_DESCRIPTION" value="your microphone usage message" /> 
     <variable name="PHOTOLIBRARY_USAGE_DESCRIPTION" value="your photolibrary usage message" /> 
    </plugin> 

यदि वह काम नहीं करता है, आप अपनी बदली प्लगइन उपयोग जारी रख सकते हैं, लेकिन पिछले कोड में के रूप में एक अलग config-file टैग के रूप में प्रत्येक UsageDescription जोड़ने ।

+0

धन्यवाद। सबसे पहले, मैंने इसे '' टैग के अंदर कॉन्फ़िगरेशन टैग को config.xml में जोड़ने की कोशिश की। यह काम नहीं करता है। क्या मैं एक और पदानुक्रम में चर टैग को रखना चाहिए? उसके बाद, मैंने एक स्ट्रिंग के साथ 'plugin.xml' में चर बदल दिया। अब यह काम कर रहा है। :) –

+0

@ एलेक्सेंडर-फायर मैंने जवाब संपादित किया, परिवर्तनीय टैग प्लगइन के अंदर जाता है जो इसका उपयोग करता है। अगर मेरे उत्तर ने आपकी मदद की, तो आप जवाब स्वीकार कर सकते हैं – jcesarmobile

संबंधित मुद्दे