2012-01-27 13 views
9

पर आईफोन एप्लिकेशन को पोर्ट करने के लिए कैसे करें मैंने अभी अपना आईफोन ऐप समाप्त कर लिया है और मैं इसे सार्वभौमिक बनाना चाहता हूं। मैंने पहले से ही कुछ पोस्ट पढ़ी हैं लेकिन वे थोड़ी पुरानी हैं (2010 या तो)।आईपैड (स्टोरीबोर्ड)

मुझे क्या मिला:

  • सरल iPhone एप्लिकेशन, हाल ही में बनाया (आईओएस 5 - स्टोरीबोर्ड), तीन स्क्रीन के साथ।
  • मेरा ऐप तीन कार्ड वाले टेबल का प्रतिनिधित्व करता है जिसे आप उन्हें छू सकते हैं। उपयोगकर्ता कार्ड पर प्रदर्शित होने के लिए इनपुट (दूसरी स्क्रीन पर) इनपुट कर सकते हैं।
  • जब मैंने प्रोजेक्ट बनाया तो मैंने "यूनिवर्सल" की जांच की, इसलिए मेरे पास दो स्टोरीबोर्ड हैं। इसके बाद मुझे कुछ और नहीं किया गया था (मुझे अपने "संपर्क समर्थन" ईमेल विकल्प पर एक पंक्ति को छोड़कर जहां मैंने यूआईमोडाल प्रेजेंटेशन पेजशीट का उपयोग किया था)।

मैं पूरा करने के लिए क्या करना चाहते हैं:

  • iPad पर एक ही एप्लिकेशन: अपने आवेदन मैं विभाजन विचार या जानकारी के लिए किसी भी उपयोग नहीं है तो सरल है। मैं सिर्फ वही ऑब्जेक्ट्स और लेआउट चाहता हूं लेकिन बड़े और बेहतर ग्राफिक्स (टेबल, कार्ड इत्यादि) के साथ।

मुझे यह पसंद है क्योंकि यह एक महान परिचय-स्तर प्रवासन करेगा।

मुझे नहीं पता कि कहां से शुरू करना है। जब मैं आईपैड सिम्युलेटर चलाता हूं तो एक सफेद स्क्रीन आती है और यही वह है।

+0

एआरएम ... आईपैड स्टोरीबोर्ड को संपादित करना शुरू करने के लिए एक अच्छी जगह होगी। – esqew

+0

तो आपके आईपैड संस्करण के लिए आपको पूरे स्टोरीबोर्ड को फिर से करने और कोड का फिर से उपयोग करने की आवश्यकता है? फिर से बटन, लेबल और प्रत्येक यूआई तत्व जोड़ें और उन्हें अपने वर्तमान तरीकों से कनेक्ट करें? –

+0

यूप, आईफोन और आईपैड प्लेटफ़ॉर्म बहुत ही सिम्युलेटर हैं। कुछ अपवादों के अलावा, आपको यह कोई समस्या नहीं करनी चाहिए। – esqew

उत्तर

12

वैसे यह किया जाता है।

लगभग हर चीज के साथ, यह जानने के बाद कि यह क्या करना है, यह बहुत आसान है।

मैं कहना चाहता हूँ मेरा, जैसे उन मामलों के लिए है कि जहां यूआई से आकार या (एक्स, वाई) निर्देशांक प्रक्रिया कुछ इस तरह संक्षेप किया जा सकता है में और अधिक परिवर्तन नहीं करता है:

  1. हर यूआई दोहराने आईपैड स्टोरीबोर्ड पर तत्व (प्रतिलिपि और पेस्ट करेगा) और फिट
  2. फिर से तार को फिर से तार के रूप में स्थिति और आकार समायोजित करें। प्रत्येक बटन, सेग्यू (आपको फिर से सेगू नाम भी जोड़ना होगा), आदि
  3. अपने यूआई प्रभावित होने पर हर जगह अपने कोड के भीतर सत्यापित करें (जैसे x, y coordinates), यह पहचानें कि ऐप चालू है या नहीं iPhone या iPad, और विभाजित अपने कोड तदनुसार
  4. आप आवेदन पर किसी भी स्थानीयकरण है, तो आप आईपैड स्टोरीबोर्ड
  5. पर नए UI तत्व अद्यतन करने के लिए सिम्युलेटर पर परीक्षण के लिए लक्ष्य का चयन करें और इसे आज़माने
  6. होगा

यह पहचानने के लिए कि कौन सा डिवाइस ऐप चल रहा है, आप निम्न का उपयोग कर सकते हैं:

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
    //I'm running on the iPad 
} else { 
    //I'm running on the iPhone 
} 

और यही वह है। दोबारा, मेरे जैसे साधारण मामले में कोड का पुन: उपयोग पूर्ण (100%) है, आपको जो नया कोड जोड़ना होगा, वह न्यूनतम है (मूल रूप से जहां आवश्यक हो वहां बयान), और यूआई तत्व डुप्लिकेशंस कॉपी और पेस्ट जितना आसान है ।

मुझे आशा है कि यह किसी और के लिए उपयोगी होगा और यदि आपके पास इसे सुधारने के लिए सिफारिशें हैं तो वे स्वागत से अधिक हैं।

+2

निश्चित रूप से यह इस समस्या का सबसे अच्छा तरीका नहीं है? बग/मिस अपडेट करने की क्षमता यूआई तत्वों, गलत नाम चीजों आदि को पेश करने की क्षमता बहुत बड़ी लगती है। :( – jmc

+0

यह उत्तर देखें http://stackoverflow.com/questions/8465769/convert-storyboard-from-iphone-to-ipad (यह इस प्रश्न पर टिप्पणियों में से एक था लेकिन बहुत छिपी हुई तक) – jmc

3

यदि आप बस अपने आईफोन स्टोरीबोर्ड का पुन: उपयोग करना चाहते हैं, तो बस अपनी परियोजना सेटिंग्स पर जाएं। टैगेट्स टैब जानकारी में, पंक्तियां 'मुख्य स्टोरीबोर्ड फ़ाइल बेस नाम' और 'मुख्य स्टोरीबोर्ड फ़ाइल बेस नाम (आईपैड)' हैं। आईपैड एक को दूसरे के समान मूल्य रखने के लिए संपादित करें। मेरे मामले में मुझे इसे 'मेन स्टोरीबोर्ड फ़ाइल बेस नाम (आईपैड)' के रूप में संपादित करना था 'मेनस्टोरीबोर्ड_आईफोन' के साथ।

+0

डिवाइस सेट करें सार्वभौमिक और यह पूरी तरह से काम करता है (यदि आपका ऑटोलाउट सही है) – Toby

4

ओपन खोजक में स्टोरीबोर्ड फ़ाइल, अपने iPhone-स्टोरीबोर्ड कॉपी करें और उसे नाम बदलने मुख्य-iPad.storyboard

अंदर Xcode, सही स्टोरीबोर्ड पर क्लिक करें -> "के रूप में खुला" -> "स्रोत कोड"

targetRuntime = "iOS.CocoaTouch" के लिए और बनाने के लिए यह targetRuntime = "iOS.CocoaTouch.iPad"

खोजें अब सब कुछ बचाने के लिए और Xcode फिर से खोलना -> iPad-स्टोरीबोर्ड iPhone-फ़ाइल लेकिन everyting सकता है के रूप में ही होता है परेशान हो जाओ आपको इसे अपने आप से व्यवस्थित करना होगा।

अंत में प्राप्त करने के लिए आईपैड प्रारूप भी MainStoryboard_iPad.storyboard में कोड बदलने से: "मुख्य निब फ़ाइल आधार नाम के लिए खोज, फिर अपने" StroryBoardEx-Info.plist "फाइल करने के लिए जाना

को (आईपैड) "और इसे" मुख्य-आईपैड.स्टोरीबोर्ड "बनाएं

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