IOS 9 में नई चेतावनी: "सभी बिटकॉइन को गिरा दिया जाएगा"


387

मेरे ऐप में Google फ्रेमवर्क के बारे में यह नई चेतावनी है:

(नल): URGENT: सभी बिटकोड को हटा दिया जाएगा क्योंकि '/ उपयोगकर्ता / myname / पुस्तकालय / मोबाइल दस्तावेज / कॉम ~ सेब ~ CloudDocs / foldername / appname / GoogleMobileAds.framework / GoogleMobileAds (GADSlot + AdEvents.o)' बिटकोड के बिना बनाया गया था। । आपको इसे बिटकॉइन इनेबल्ड (Xcode सेटिंग ENABLE_BITCODE) के साथ फिर से बनाना होगा, वेंडर से अपडेटेड लाइब्रेरी प्राप्त होगी या इस लक्ष्य के लिए बिटकोड को अक्षम करना होगा। नोट: यह भविष्य में एक त्रुटि होगी।

Xcode 7 मुझे इसी कॉन्सेप्ट के बारे में 204 चेतावनियाँ दे रहा है, और मैं इसके साथ इधर उधर नहीं हो पाया। इसके अलावा मुझे अपने ऐप से नेटवर्क एक्सेस करने में समस्या है। यह डीबगिंग क्षेत्र से त्रुटि है:

-canOpenURL: URL के लिए विफल: "किंडल: // होम" - त्रुटि: "इस ऐप को स्कीम के लिए क्वेरी करने की अनुमति नहीं है"

ये सभी समस्याएं iOS 8 में मौजूद नहीं थीं।


तो आपने अपने Xcode लक्ष्य में बिटकोड को सक्षम किया है?
Droppy

क्षमा करें, मैं इसके लिए नया हूं, क्या आप मुझे बता सकते हैं कि कृपया कैसे?
C.Farrugia

मैंने इसे कभी नहीं किया है, लेकिन यह ऐसा कुछ प्रतीत होता है जिसे आपको जानबूझकर सेट करना होगा। आप ऐसा करने के लिए दिखाई देते हैं।
Droppy

4
@Droppy AFAIK की सेटिंग डिफ़ॉल्ट रूप से चालू होती है, लेकिन आप इसे अपनी प्रोजेक्ट सेटिंग में किसी भी समय निष्क्रिय कर सकते हैं।
एचएस

मैंने उन्हें बंद कर दिया और सभी चेतावनी चली गई। मैंने थोड़ा शोध किया और Google को इस त्रुटि के लिए अपने ढांचे को अपडेट करने की आवश्यकता है, अब तक इसे बंद करने से काम चलेगा। क्या किसी को -canOpenURL के बारे में पता है: URL के लिए विफल: "kindle: // home" - त्रुटि: "इस ऐप को स्कीम किंडल के लिए क्वेरी करने की अनुमति नहीं है"? यह मुझे पता नहीं है कि Xcode किस बारे में बात कर रहा है
C.Farrugia

जवाबों:


1023

आपका पुस्तकालय बिटकोड के बिना संकलित किया गया था, लेकिन बिटकॉइन विकल्प आपकी परियोजना सेटिंग्स में सक्षम है। कहो NOकरने के लिए Enable Bitcodeअपने लक्ष्य सेटिंग और लाइब्रेरी सेटिंग बिल्ड बिल्ड में चेतावनी हटाने के लिए।

बिटकॉइन को सक्षम करने के लिए सोच रहे लोगों के लिए आवश्यक है:

IOS ऐप्स के लिए, बिटकोड डिफ़ॉल्ट है, लेकिन वैकल्पिक है। वॉचओएस और टीवीओएस ऐप के लिए, बिटकोड की आवश्यकता है। यदि आप बिटकोड प्रदान करते हैं, तो ऐप बंडल में सभी ऐप और फ़्रेमवर्क (प्रोजेक्ट में सभी लक्ष्य) को बिटकोड शामिल करना होगा।

https://help.apple.com/xcode/mac/current/#/devbbdc5ce4f


@ केंद्र की पिछली गूगल एनालिटिक्स लिब्रे में पदावनत है और xcode 7 / ios9 के साथ संकलित नहीं करता है
zonabi

1
@goelv हां आपको बिटकॉइन डिसेबल के साथ ऐप्स सबमिट करने में सक्षम होना चाहिए। यह अभी वैकल्पिक है। यह भविष्य में आवश्यक हो सकता है।
ज़ोनाबी

2
मेरे लिए संग्रह करने का काम नहीं किया। प्री XCODE 7 प्रोजेक्ट ठीक काम कर रहा था, अब सक्षम बिटकोड को NO पर सेट करने के साथ भी ARCHIVE नहीं कर सकते। यह AWS लाइब्रेरी के लिए है।
15:11 बजे ort11

1
सभी लक्ष्यों पर बिटकोड को अक्षम करने के बाद भी त्रुटि हो रही है।
datWooWoo

110

Xcode 7 के बाद, बिटकोड विकल्प डिफ़ॉल्ट रूप से सक्षम हो जाएगा। यदि आपका पुस्तकालय बिटकोड के बिना संकलित किया गया था, लेकिन बिटकोड विकल्प आपकी परियोजना सेटिंग्स में सक्षम है, तो आप कर सकते हैं:

  1. बिट कोड के साथ अपनी लाइब्रेरी को अपडेट करें,
  2. अपने लक्ष्य बिल्ड सेटिंग में बिटकॉइन को सक्षम करने के लिए NO कहें

यहां छवि विवरण दर्ज करें

और चेतावनियों को हटाने के लिए लाइब्रेरी बिल्ड सेटिंग्स।

अधिक जानकारी के लिए, डेवलपर लाइब्रेरी में बिटकोड के प्रलेखन पर जाएं

और WWDC 2015 सत्र 102: "प्लेटफ़ॉर्म स्टेट ऑफ़ द यूनियन"

यहां छवि विवरण दर्ज करें


42

उस समस्या से बचने के लिए मेरे मामले में:

  1. सुनिश्चित करें कि आप Xcode 7 के साथ काम कर रहे हैं , कम संस्करण नहीं। निचले संस्करण में यह ध्वज मौजूद नहीं है।

  2. सेटअप: प्रोजेक्ट> बिल्ड सेटिंग्स> ऑल> बिल्ड ऑप्शन> बिटकॉइन = एनओ सक्षम करें

यहां छवि विवरण दर्ज करें


2
तो, आपको अपने प्रोजेक्ट में शामिल पुस्तकालयों को XCode7 के साथ फिर से सक्षम करना होगा और EnableBitcode के साथ YES पर सेट करना होगा। यदि आप तीसरी पार्टी के साथ काम कर रहे हैं तो काफी जटिल है।
जेवियर कैलात्रावा ललवरिया

15

विधि canOpenUrliOS 9 में है (गोपनीयता के कारण) बदल गया है और किसी भी अधिक उपयोग करने के लिए स्वतंत्र नहीं है। आपका बैनर प्रदाता इंस्टॉल किए गए ऐप्स की जांच करता है ताकि वे पहले से इंस्टॉल किए गए ऐप के लिए बैनर न दिखाए।

जो सभी लॉग स्टेटमेंट की तरह देता है

-canOpenURL: URL के लिए विफल: "किंडल: // होम" - त्रुटि: "इस ऐप को स्कीम के लिए क्वेरी करने की अनुमति नहीं है"

प्रदाताओं को इसके लिए अपने तर्क को अपडेट करना चाहिए।

यदि आपको इंस्टॉल किए गए एप्लिकेशन / उपलब्ध योजनाओं के लिए क्वेरी करने की आवश्यकता है, तो आपको उन्हें अपनी info.plistफ़ाइल में जोड़ना होगा ।

एक सरणी के रूप में अपने plist में कुंजी 'LSApplicationQueriesSchemes' जोड़ें। फिर 'किंडल' की तरह उस ऐरे में तार जोड़ दें।

बेशक यह वास्तव में बैनर विज्ञापनों के लिए एक विकल्प नहीं है (क्योंकि वे गतिशील हैं), लेकिन आप अभी भी अपने खुद के ऐप या ट्विटर और फेसबुक जैसे अन्य एप्लिकेशन के लिए उस तरह से क्वेरी कर सकते हैं।

CanOpenUrl का तरीका: विधि canOpenUrl:

LSApplicationQueriesSchemes कुंजी के बारे में प्रलेखन


माना जाता है कि एक स्थैतिक पुस्तकालय एक पैरेंट ऐप deeplink की जांच करेगा, स्थैतिक पुस्तकालय में अपवाद 'LSApplicationQueriesSchemes' का उपयोग कैसे करें? आम तौर पर आपके पास इसके लिए Info.plist नहीं है।
लोरेटोपरसी

मैं वास्तव में इस बारे में निश्चित नहीं हूं, अगर किसी पुस्तकालय को अपने माता-पिता के बाहर के ऐप्स की जांच करनी है, तो माता-पिता को url के बारे में जानकारी में परिभाषित करना चाहिए। (इसलिए इसे फ्रेमवर्क के लिए दस्तावेज दें)। यदि canOpenUrl भी देता है, तो माता-पिता ऐप को संभाल नहीं सकते, जितना आप कर सकते हैं (मुझे लगता है) को भी जानकारी में शामिल करना चाहिए। कृपया
Saren Inden

13

यदि आप कोकोपोड्स का उपयोग कर रहे हैं और आप सभी पुस्तकालयों के लिए बिटकोड को अक्षम करना चाहते हैं, तो पॉडफाइल में निम्न कमांड का उपयोग करें

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['ENABLE_BITCODE'] = 'NO'
        end
    end
end

8

अस्वीकरण: यह उन लोगों के लिए है जो निरंतर एकीकरण वर्कफ़्लो का समर्थन करते हैं जिनके लिए एक स्वचालित प्रक्रिया की आवश्यकता होती है। यदि आप नहीं करते हैं, तो जेवियर के उत्तर में वर्णित Xcode का उपयोग करें ।

यह मेरे लिए ENABLE_BITCODE = NOकमांड लाइन के माध्यम से सेट करने के लिए काम किया :

find . -name *project.pbxproj | xargs sed -i -e 's/\(GCC_VERSION = "";\)/\1\ ENABLE_BITCODE = NO;/g'

ध्यान दें कि यह Xcode संस्करणों में अस्थिर होने की संभावना है। यह Xcode 7.0.1 और एक कॉर्डोवा 4.0 परियोजना के हिस्से के रूप में परीक्षण किया गया था।



-2

यह समस्या हाल ही में Google द्वारा (नवंबर 2010) तय की गई है, https://code.google.com/p/analytics-issues/issues/detail?id=671 देखें । लेकिन ध्यान रखें कि एक अच्छा फिक्स के रूप में यह अधिक कीड़े लाता है :)

आपको यहां सूचीबद्ध प्रारंभिक विधि का भी पालन करना होगा: https://developers.google.com/analytics/devguides/collection/ios/v2

नवीनतम निर्देश आपको सिरदर्द देने जा रहे हैं क्योंकि यह पॉड में शामिल नहीं होने वाली उपयोगिताओं का संदर्भ देता है। नीचे कोकोपोड के साथ विफल हो जाएगा

// Configure tracker from GoogleService-Info.plist.
NSError *configureError;
[[GGLContext sharedInstance] configureWithError:&configureError];
NSAssert(!configureError, @"Error configuring Google services: %@", configureError);
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.