لن يتم تشغيل تطبيق iPhone SDK 3/4 على جهاز iPhone 2.x حتى مع تعيين هدف النشر إلى 2.0

StackOverflow https://stackoverflow.com/questions/3009498

سؤال

أعرف الفرق بين SDKs القاعدة/النشط وهدف النشر. لقد تم تعيين قاعدتي SDK في 4.0 ومدى هدف النشر على 2.0. أنا لا أستخدم أي APIs Post 2.x ، مشروطًا أو غير ذلك. نظرًا لأنني لا أستطيع تصحيحها على جهاز 2.x ، بعد بنائه ، أستخدم أداة تكوين iPhone لتثبيت التطبيق على الجهاز ، وهو ما يعمل بشكل جيد. المشكلة هي ، أنها لا تعمل! أنا فقط أحصل على شاشة فارغة. النافذة الرئيسية لا تأتي أبدا!

الآن قبل أن تسأل ...

  1. واجهت نفس المشكلة مع iPhone SDK 3.x. لقد قمت بالترقية إلى 4.x على أمل حلها. لم يكن.

  2. نعم تم تثبيت ملف تعريف التوفير. (لا يمكن تثبيت التطبيق إذا لم يكن كذلك.)

  3. هذا التطبيق المترجم نفسه يعمل بشكل جيد على أجهزة 3.x. نفس الشيء مع الأجهزة 4.x. ليس فقط 2.x أجهزة.

  4. مرة أخرى ، لا أنا لا أستخدم أي SDKs post-2.x. لإثبات ذلك ، قمت بإنشاء تطبيق جديد قائم على النوافذ من مربع الحوار "New Project" والتغييرات الوحيدة التي أجريتها هي لون الخلفية للنافذة (لإثبات تحميل XIB) وقمت بتعيين هدف النشر على 2.0 ( لا يزال يتم تجميعه مقابل 4.x SDK رغم ذلك.) مرة أخرى ، يتم تشغيله بشكل جيد على أجهزة 3.x أو 4.x ، ولكن مجرد شاشة سوداء فارغة على أجهزة 2.x.

لقد جربت هذا على ثلاثة أجهزة منفصلة 2.x تضمنت واحدة تم ترميمها حديثًا. لقد استخدمت ثلاث آلات Dev Dev (MacBook Pro مع 3.x SDK و MacBook Pro مع 4.x SDK و Mac Pro مع 3.x SDK.) نفس النتيجة في كل مرة.

أنا متعثر.

حقيقة أنه حتى المشروع غير المعدل لا يعمل حقًا جعلني أشعر بالارتباك. هل يمكن أن يكون ملف XIB؟ هل قاموا بتغيير التنسيق من 2.x إلى شيء أحدث في 3.x SDK؟ إذا كان الأمر كذلك ، كيف أعيدها إلى 2.x. (مرة أخرى ، هذا مجرد تخمين كامل.) لكنني متعثر حقًا!

هل كانت مفيدة؟

المحلول 3

تبين أن Apple قامت بتغيير كسر (أو بشكل أكثر دقة ، تغيير "إصلاح") لم يعلقوا عليه. على وجه التحديد ، لم يكن تطبيقنا وضع النافذة الرئيسية بشكل صريح إما عبر الكود أو عبر خيار "العرض في الإطلاق" في IB. ولكن ... في إصدار واحد من SDK ، وقت التشغيل ، لا يرى أي شيء سوى الحاجة إلى عرض شيء ما ، أظهر ضمنيًا النافذة في ملف XIB الرئيسي. ومع ذلك ، فإن SDKs الأحدث (والأكبر) (RunTimes فعليًا) لم يكن لديها هذا السلوك الضمني ، لذلك عندما لم يظهر رمزنا النافذة بشكل صريح ، حصلنا على شاشة فارغة.

لذلك قمنا ببساطة بفحص خيار "العرض في الإطلاق" في IB وقد نجح. خلص و أنتهى!

نصائح أخرى

هل قمت بفحص ApplicationDidFinishLaunching: الخيارات: اتصل على مندوب التطبيق الخاص بك؟

الخيارات: تمت إضافة المعلمة في 3.0 ولا توجد في أي من رمز ما قبل 3.0 ، على الرغم من أن النموذج السابق لا يزال يعمل.

القاموس على الخيارات: يستخدم لتمرير المعلومات إلى تطبيقك ، مثل "هل بدأت بعنوان URL من Safari" إلخ.

إذا كنت تتوقع تشغيل على 2.0 ، فيجب عليك على الأرجح تغيير هذا إلى "ApplicationDidFinishLaunching الأصلي:".

2.x تم إهمالها تمامًا للنشر إلى متجر التطبيقات. يجب أن تكون قادرًا على تثبيته على جهاز باستخدام إصدار سابق من XCode ، ولكن هذا يتعلق به. مزيد من المعلومات في ويكي مجتمعي هنا:

تثبيت Xcode 3.2.3 W/ iPhone SDK 4 ، الحصول على "قاعدة SDK مفقودة" ، لا يمكن رؤية SDKs أخرى

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top