2013-11-09 13 views
7

हटा दिया गया है जब मैं आईओएस 7 "आईएसए" में अपना ऐप चलाता हूं तो मुझे चेतावनी मिलती है ", मुझे इस चेतावनी संदेश को ठीक करने का कोई विचार नहीं है। कृपया इस पर कोई मदद करें।आईओएस 7: 'आईएसए' को

array->isa  = _JKArrayClass; 
+1

मैं आपकी परियोजना से JSONKit से छुटकारा पाने की अनुशंसा करता हूं। यह एक के लिए, 64-बिट आर्किटेक्चर के साथ संगत नहीं है, क्योंकि भाषा हैक्स का उपयोग किया जाता है। – macbirdie

उत्तर

17

<objc/runtime.h> शामिल करें।

class = object_getClass(array)

+0

और, भी, कृपया गिटहब पर अपना कांटा साझा करें? – Ali

+0

मुझे एक बिल्ड में यह त्रुटि दो बार थी। आपका फिक्स उनमें से एक के लिए काम करता है, लेकिन दूसरा लाइब्रेरी में प्रतीत होता है, मैं इसे संपादित या सहेज नहीं सकता। मैं इसे कैसे ठीक करूँगा? यकीन नहीं है कि lib कहाँ से आया था। – CthulhuJon

15

साथ object_setClass(array, _JKArrayClass)

और class = array.isa की तरह सब कुछ के साथ array->isa = _JKArrayClass; की तरह सब कुछ बदलें मैं लगा मैं अपने समाधान का हिस्सा हैं आप उन वहाँ Cocoapods के लिए। (अगर आपको बेहतर समाधान मिल गया है तो कृपया मुझे टिप्पणियों में बताएं)

मैं कोकोपोड्स का उपयोग कर रहा हूं और इसी कारण से मैं उन पुस्तकालयों के स्रोत कोड को संशोधित नहीं करना चाहता हूं जिनमें मैं खींच रहा हूं। समस्या इस कारण है कोकोपोड्स "आईएसए" का मूल्य "हां (" त्रुटि के रूप में व्यवहार करें) "को सेट करता है, इस प्रकार सभी स्वचालित बिल्ड विफल हो जाते हैं।

मैं अपने Podfile को यह जोड़कर समस्या तय कर दी है:

post_install do |installer_representation| 
    installer_representation.project.targets.each do |target| 
     target.build_configurations.each do |config| 
      config.build_settings['CLANG_WARN_DIRECT_OBJC_ISA_USAGE'] = 'YES' 
     end 
    end 
end 

इस तरह 'इसा' के प्रत्यक्ष उपयोग चेतावनी के रूप में दिखाई देंगे लेकिन स्वचालित कारण नहीं विफल बनाता है।

लेकिन arm64 आईओएस डिवाइस बिल्ड (एक्सकोड 5.1.0 के साथ) में अजीब रूप से CLANG_WARN_DIRECT_OBJC_ISA_USAGE = 'YES' विकल्प ठीक से लागू नहीं होगा (त्रुटि के रूप में व्यवहार करें)। यदि आपको निर्माण करने की आवश्यकता है, तो arm64 सहित CLANG_WARN_DIRECT_OBJC_ISA_USAGE = 'NO' विकल्प का उपयोग किया जा सकता है।

+1

धन्यवाद, यह काम करता है। xcode संस्करण 5.0.2 (5A3005) और मैवरिक्स में परीक्षण किया गया 19.9.1 – keithics

+0

दुर्भाग्यवश, मेरा पॉड अपडेट इस पैच को लागू करने में विफल रहता है। त्रुटि के बारे में कोई विवरण नहीं है: 'लोडरर - लोड करने के लिए ऐसी कोई फ़ाइल नहीं ...' मैं एक्सकोड 5.1 और i0S 7.1 के साथ काम कर रहा हूं। क्या आपको इसके बारे में कोई जानकारी है? धन्यवाद – Lisarien

+0

वह त्रुटि मुझे बहुत कुछ नहीं बताती है। अगर मुझे सही याद है, तो त्रुटि JSONKit के कारण हुई थी। यदि यह त्रुटि एक फली के कारण होती है, तो यह ठीक (मैंने इसका परीक्षण नहीं किया है) काम करना चाहिए। अन्यथा, आप इसे अपने कोड में ठीक करने में सक्षम होना चाहिए। क्या आप इसे ठीक करने में सक्षम हैं? – bsarrazin