2016-09-19 9 views
5

वहाँ क्या एप्पल प्रतिक्रिया है ऐप स्टोर पर गैर-सार्वजनिक एपीआई की अनुमति नहीं है क्योंकि इससे इन एपीआई में बदलाव होने पर खराब उपयोगकर्ता अनुभव हो सकता है।मेरा ऐप क्योंकि गैर सरकारी एपीआई के लिए मना कर दिया गया था

मुझे सबसे ज्यादा भ्रमित करने वाला क्या है कि "init:", मेरा मतलब है वास्तव में, "init:" के साथ क्या गलत है? हम "init:" का उपयोग नहीं कर सकते हैं? और क्या है, जब हम गैर-सार्वजनिक एपीआई का उपयोग करते हैं तो कोई वार्मिंग होती है एक्सकोड में? मैं इन गैर-सार्वजनिक एपीआई कैसे ढूंढ सकता हूं?

+1

मैं ऐप्पल से अपील करता हूं, या शायद पुनः प्रयास करता हूं। आईओएस 10 – Paulw11

उत्तर

3

आपको वास्तव में init: नाम से कुछ भी उपयोग नहीं करना चाहिए। यह एक पैरामीटर के साथ init विधि होगी, लेकिन उस पैरामीटर के बारे में कोई स्पष्टीकरण नहीं है। उदाहरण के लिए:

- (instancetype) init:(NSString *)string; 

यह हमेशा गलत नाम होगा। सही नाम होगा:

- (instancetype) initWithName:(NSString *)string; 

(या initWithTitle: या initWithSomeOtherThingButSomething:)

तो मैं पहले init: के लिए खोज करेंगे, और है कि आसानी से सुधारी जा सकने वाली होनी चाहिए। यदि आपके पास वास्तव में उस नाम के साथ कोई तरीका नहीं है, तो यह संभवतः ऐप्पल के टूल में एक बग है और आपको ऐप्पल के साथ इसकी चर्चा करने की आवश्यकता होगी।

+1

के रिलीज के साथ गैर-सार्वजनिक एपीआई के साथ बहुत सी समस्याएं प्रतीत होती हैं। मुझे लगता है कि कोलन एक उपहार है। मुझे समस्याएं थीं जहां मैंने गलती से एक निजी विधि लागू की; वैश्विक नामस्थान की वजह से गलती से करना आसान है। लेकिन किसी भी मामले में 'init:' नामक कोई विधि नहीं होनी चाहिए। आप 'init' को बिना पैरामीटर, या' initWithThing: 'और पैरामीटर के साथ कॉल कर सकते हैं, लेकिन 'init:' नहीं। – matt

+0

मैं अपनी पूरी परियोजना में "init:" खोजता हूं, फिर दो परिणाम दिखाते हैं: - 'id writer = [[_SBJsonWriterClass alloc] init: [[NSArray alloc] initWithObjects: @" बेसिक फ़ंक्शन ", @" उन्नत फ़ंक्शन ", @ "सहायक स्थिति", @ "", शून्य]]; ' -' आईडी पार्सर = [[_SBJSONParserClass alloc] init: [[NSArray alloc] initWithObjects: @ "बेसिक फ़ंक्शंस", @ "उन्नत फ़ंक्शंस", @ "एक्सेसरी पोजिशनिंग ", @" ", शून्य]]; वे दोनों AFNetworking की AFJSONUtilities.m फ़ाइल में हैं। मैं AFNetworking को हटाए बिना इस समस्या को कैसे हल कर सकता हूं? बस नाम बदलें? –

+3

AFNetworking को अपग्रेड करें। यह एक प्राचीन संस्करण की तरह लगता है (शायद पूर्व 1.0?)। विक्रेताओं पुस्तकालय नियमित रूप से अद्यतन रखना महत्वपूर्ण है। –

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

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