2012-01-12 12 views
19

क्या गीलेर पर कोई मौजूदा जानकारी है या ऐप स्टोर पर विधि स्विजलिंग कानूनी/अवैध नहीं है?ऐप स्टोर - विधि स्विजलिंग लीगलिटी

केवल डेटा बिंदु मैं पा सकते हैं Three20 framework shakeup है एक समय पहले, जो इस नोटिस के साथ शुरू किया:

आपका आवेदन, xxx, वर्तमान में App स्टोर पर पोस्ट किए गए method_exchangeImplementations उपयोग कर रहा है के कार्यान्वयन का आदान प्रदान करने ऐप्पल आपके स्वयं के कार्यान्वयन के साथ एपीआई प्रदान करता है। आने वाले परिवर्तनों के कारण, आपके एप्लिकेशन में यह व्यवहार किसी क्रैश का कारण बन सकता है या आईफोन ओएस 4.0 पर उपयोगकर्ता डेटा हानि का कारण बन सकता है।

xxx पद्धति का उपयोग करता है कार्यान्वयन आपके विधि ttdealloc के साथ dealloc के कार्यान्वयन का आदान-प्रदान करने के लिए। यह विधि के कार्यान्वयन का भी आदान-प्रदान करता है popViewControllerAnimated: आपके विधि popViewControllerAnimated2:।

कृपया इस समस्या को तुरंत हल करें और iTunes कनेक्ट पर अपनी नई बाइनरी अपलोड करें। अगर हम मानते हैं कि ऐसा करना बुद्धिमान या आवश्यक है तो हम आपके आवेदन को हटा सकते हैं।


जब मैं चारों ओर खोज रहा हूँ, हर हाल के वार्तालाप मैं swizzling और app की दुकान के बारे में पा सकते हैं संदर्भित करने के लिए एक ही three20 घटना लगती है। नोटिस बहुत विशिष्ट प्रतीत होता है, और मैं सोच रहा हूं कि क्या समस्या तीन बदलावों के साथ विशिष्ट परिवर्तन समस्याएं थीं या यदि method_exchangeIplementation सार्वभौमिक रूप से प्रतिबंधित है।

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

धन्यवाद!

+1

आप वास्तव में क्या करना चाहते हैं? ज्यादातर मामलों में विधि स्विजलिंग एक हैक है जिसे बेहतर डिजाइन से बचा जा सकता है। – JeremyP

+4

मैं इस सवाल को ऑफ-विषय के रूप में बंद करने के लिए मतदान कर रहा हूं क्योंकि यह ऐप्पल की अस्वीकृति नीतियों के बारे में है। यह भी देखें: [हम आपकी पसंदीदा कंपनी के लिए ग्राहक सहायता क्यों नहीं कर रहे हैं] (https://meta.stackoverflow.com/questions/255745/why-were-not-customer-support-for-your-favorite-company)। – FelixSFD

उत्तर

7

नेटवर्क-अनुरोधों के लिए उपयोग किए जाने वाले एक व्यापक रूप से (आईएमओ) एएफनेटवर्किंग, कक्षा-विधियों में अतिरिक्त स्वीकार्य स्थिति-कोड और सामग्री-प्रकारों का समर्थन करने के लिए कम से कम संस्करण 1.3.4 तक स्विजलिंग का उपयोग किया जाता है।

तो ऐसा करने के लिए यह कानूनी लगता है।

नोट: उन्होंने class_replaceMethod का उपयोग किया और method_exchangeIplementations नहीं।

+0

मैंने AFNetworking में 'method_exchangeImplementations' के लिए वर्कस्पेस खोज की है, इसका कोई संदर्भ नहीं मिला।AFNetworking केवल कुछ दृश्य श्रेणियों के लिए रनटाइम लाइब्रेरी का उपयोग करता है और यह कुंजी मान बाध्यकारी के लिए objc_setAssociatedObject विधि का उपयोग करता है। मैं यह तरीका swizzling नहीं है। –

+0

एएफनेटवर्किंग में एक बड़ा रिहाल था, शायद संस्करण 2.0 बिना तेजस्वी काम करता है। हालांकि, संस्करण 1.3.4 तक और इसमें शामिल है, यह AFHTTPRequestOperation में पहले class_replaceMethod का उपयोग करता था। –

+0

कृपया अपना उत्तर अपडेट करें। –

0

आम तौर पर स्विजलिंग एक विशिष्ट विधि कहलाते समय देखने के लिए डिबगिंग के लिए होगी, या स्थिति में आप कुछ उपclass नहीं कर सकते हैं या इसके लिए एक श्रेणी का उपयोग नहीं कर सकते हैं। यदि आपके ऐप स्टोर पर अपना एप्लिकेशन डालने पर कोई कड़े शेड्यूल नहीं है, तो मुझे लगता है कि आप विधि को स्विजलिंग का उपयोग करके अपना एप्लिकेशन भेजने का प्रयास कर सकते हैं और देख सकते हैं कि यह स्वीकार किया गया है या नहीं। सभी आवेदनों की समीक्षा उसी तरह नहीं की जाती है, कभी-कभी यह वास्तव में समीक्षक तक ही होती है।

+0

किसी ने यह कोशिश की है? या मैं पता लगाने वाला पहला व्यक्ति बनूंगा? –

+1

@ShayanRC यह कानूनी है, आप swizzling का उपयोग कर सकते हैं। – Peres

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