2012-04-17 8 views
10

आईफोन 4 हार्डवेयर पर चल रही समस्याओं के कारण मेरे पास आईट्यून्स ऐप स्टोर सबमिशन वापस आ गया है।ऐप स्टोर सबमिशन के लिए कुछ आईओएस लक्ष्य उपकरणों पर प्रतिबंध

असल में, ऐप पृष्ठभूमि नेटवर्क पर सभी नेटवर्किंग गतिविधि को खेत के लिए लिखा जाता है ताकि यूआई धीमा (सेलुलर) डेटा कनेक्शन पर प्रतिक्रिया देने के लिए सर्वर की प्रतीक्षा कर रहा हो। यह आईपैड 2 + आईफोन 4 एस जैसे दोहरे कोर उपकरणों पर ठीक काम करता है, लेकिन आईपैड/आईफोन 4 जैसे पुराने, एकल-कोर हार्डवेयर पर धीमी प्रतिक्रिया के समय और त्रुटियों का कारण बनता है।

मैंने उस प्रभाव में नोट्स को शामिल किया सबमिशन, लेकिन मुझे आश्चर्य हुआ कि आईट्यून्स कनेक्ट में लक्षित डिवाइस को प्रतिबंधित करने का औपचारिक तरीका क्या था?

चीयर्स!

+0

नहीं, आप डिवाइस को प्रतिबंधित नहीं कर सकते हैं, लेकिन आप आईओएस के संस्करणों को प्रतिबंधित कर सकते हैं, एप्लिकेशन उपयोग करने योग्य है। उदाहरण के लिए आईओएस 5.1+ – Manuel

+0

ऐसा लगता है कि आपको मेरे कोड में कोई समस्या है। मानक नेटवर्क गतिविधि आपके द्वारा वर्णित समस्याओं का कारण नहीं बनना चाहिए। –

+0

पृष्ठभूमि धागे पर कोड चलाने के लिए आपको एकाधिक कोर की आवश्यकता नहीं है। मैंने कभी भी सुनाई गई किसी भी प्रोसेसर पर * एक-थ्रेड-प्रति-कोर * नीति नहीं है। – Nate

उत्तर

6

दुर्भाग्य से नहीं पल में, वहाँ उपलब्ध विकल्पों में से एक सूची आप को सीमित करने के लिए एप्लिकेशन लेकिन कुछ भी खरीदने से उपयोगकर्ता को प्रतिबंधित करने के लिए है की वजह से कोर

सूची के लिए: http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html

+0

मुझे डर था कि यह मामला हो सकता है। मुझे आश्चर्य है कि क्या कोई एपीआई है जिसका उपयोग मैं कर सकता था जो पुराने उपकरणों पर चल रहे एप्लिकेशन को रोक देगा? –

+0

वे मौजूद हो सकते हैं लेकिन वे इसे पहले स्थान पर डाउनलोड करने वाले उपयोगकर्ता को प्रतिबंधित नहीं करेंगे, वास्तव में अनुशंसित नहीं है जो शर्म की बात है क्योंकि डिवाइस को चलाने के लिए पुराने पुराने डिवाइस एक बड़ी समस्या है –

+1

यह निश्चित रूप से एक समस्या है। कुछ अनुप्रयोगों के लिए, खासकर डीएसपी का उपयोग करने वाले लोगों के लिए, यह केवल 'प्रोग्रामिंग बेहतर' का मामला नहीं है, 3 जी/3 जीएस और यहां तक ​​कि आईफोन 4 भी इतना सिग्नल डेटा प्रोसेस करने के लिए तैयार नहीं है। –

15

वास्तव में, एक तरीका हो सकता है:

"ब्लूटूथ-ली" की आवश्यकता के साथ आपकी जानकारी में UIRequiredDeviceCapabilities में कोई आइटम जोड़ना आपके ऐप को आईफोन 4 एस/5 और आईपैड 3, 4 और मिनी तक सीमित कर देना चाहिए। आप ऐप को केवल iPhones तक सीमित करने के लिए "कैमरा-फ्लैश" आवश्यकता में फेंक सकते हैं, क्या आपको इसकी आवश्यकता होनी चाहिए।

DeviceCompatibilityMatrix

+0

ब्लूटूथ-ले नहीं माना गया था। इसके लिए +1। आपको केवल आईफोन बनाने के लिए फ्लैश का उपयोग करने के चरम पर जाना नहीं चाहिए ... आप बस एक सार्वभौमिक ऐप नहीं बना सकते हैं और इसे प्राप्त कर सकते हैं। –

+0

लिंक मर चुका है। – ChrisF

+7

इस विधि का उपयोग करने का प्रयास करने से हमारे ऐप को खारिज कर दिया गया, इसलिए यह मान्य दृष्टिकोण नहीं है। – snibbe

1

मैं बस जब इस पर ध्यान देने निम्नलिखित पाया देखें - यह आप सबमिट करें और एप्पल द्वारा अनुमोदित के रूप में यह एप्पल से दिशा-निर्देश है मदद करनी चाहिए।

डिवाइस संगतता

जानकारी संपत्ति सूची (Info.plist) फ़ाइल को अपने ऐप्लिकेशन के विन्यास के बारे में महत्वपूर्ण जानकारी शामिल है और अपने अनुप्रयोग बंडल में शामिल किया जाना चाहिए। आपके द्वारा एक्सकोड में बनाए गए प्रत्येक नए प्रोजेक्ट में आपकी प्रोजेक्ट के बारे में कुछ मूलभूत जानकारी के साथ एक डिफ़ॉल्ट Info.plist फ़ाइल कॉन्फ़िगर की गई है। आप अपने ऐप के लिए अतिरिक्त कॉन्फ़िगरेशन विवरण निर्दिष्ट करने के लिए इस फ़ाइल को संशोधित कर सकते हैं।

UIRequiredDeviceCapabilities कुंजी आपको हार्डवेयर या विशिष्ट क्षमताओं को घोषित करने देता है जो आपके ऐप को चलाने के लिए आवश्यक हैं। सभी ऐप्स को यह जानकारी उनकी Info.plist फ़ाइल में रखना आवश्यक है। ऐप स्टोर उपयोगकर्ताओं को आपके ऐप को उस डिवाइस पर डाउनलोड करने से रोकने के लिए इस कुंजी की सामग्री का उपयोग करता है जो संभवतः इसे चला नहीं सकता है। इस अध्याय में तालिकाएं सभी आईओएस डिवाइस और उनकी क्षमताओं को दिखाती हैं।

आशा है कि इससे मदद मिलेगी।

1

आप केवल App Store में प्रकाशन में भी सीमित iPhone या iPad परियोजना सेटिंग्स में के लिए अपने अनुप्रयोग सीमित कर सकते हैं,।

देखें कि आप कहां सेट कर सकते हैं।

enter image description here

कुछ मॉडल iPhone 4/4s की तरह आप इस प्रोग्राम के रूप में आकार हो रही है और बताए आपके ऐप्स का कोई इस मॉडल में समर्थित है कि कुछ ViewController के लिए पुनः निर्देशित करना चाहिए प्रतिबंधित करने के लिए।

यहां देखें कि स्क्रीन का आकार कैसे प्राप्त करें।

CGSize result = [[UIScreen mainScreen] bounds].size; 

switch ((int) result.height) { 
    case 480: 
     NSLog(@"iPhone 4/4s"); 
     break; 

    case 568: 
     NSLog(@"iPhone 5/5c/5s"); 
     break; 

    case 667: 
     NSLog(@"iPhone 6/6s"); 
     break; 

    case 736: 
     NSLog(@"iPhone 6+/6s+"); 
     break; 

    default: 
     NSLog(@"Other screen size, could be an iPad or new device model.");   
     break; 
} 

याद करने के लिए है कि एप्पल अपने एप्लिकेशन के लिए अधिकतम संभव समर्थन चाहता है और एक विशिष्ट मॉडल अपने अनुप्रयोग अस्वीकार कर सकते हैं के लिए समर्थन नहीं महत्वपूर्ण है। लेकिन अगर आप केवल iPhone 4/4s का समर्थन नहीं करते हैं तो आप शायद सामान्य रूप से प्रकाशित होंगे। सबसे पहले ऑटो-लेआउट का उपयोग करने के लिए अपने कोड को अनुकूलित करने का प्रयास करें, केवल तभी संभव है जब आप कुछ डिवाइस मॉडल से प्रतिबंधित न हों।

मेरे पास एक प्रकाशित ऐप है और iPhone 4s के लिए प्रतिबंधित है। इसे उपयोग के रूप में अनुमोदित किया गया है।

+0

क्या आईपॉड को बाहर करने का कोई तरीका है? मेरा मतलब है, उपयोगकर्ता को iPhones और iPads में ऐप इंस्टॉल करने की अनुमति दें, लेकिन आईपॉड में नहीं ... – allo86

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