سؤال

أعلم أنه تم طرح أجزاء من هذا السؤال في العديد من التباين ، لكنني أريد أن أتأكد من أنني حصلت عليه بشكل صحيح.

فيما يلي افتراضاتي وفهم ما أريد أن أعرفه إذا كانت صحيحة قبل تقديمها.

يفترض طلبي الميزات التي تدعمها جميع نظام التشغيل ، وبالتالي ينبغي علي:

  1. اضبط SDK النشط ليكون الأحدث (حاليًا SDK 3.0).
  2. قم بتعيين هدف النشر ليكون أقل ما أريد أن أدعوه - iPhone 2.0 وأعلى؟
  3. ما هو بالضبط قاعدة SDK ل؟ هل يجب أن أتجاهل ذلك إذا اخترت SDK النشط لتكون مختلفة وأين أرى SDK النشط في إعدادات المشاريع؟

سؤال أخير - هل تسمح Apple باختيار iPhone OS 2.0 كهدف للنشر؟

شكرا لك مقدما،

راجع للشغل - أحد الأسباب الرئيسية لهذا السؤال هو أنه عند التجميع مع SDKs Apple في وقت سابق يبدو أن مشكلة تطلق ذاكرة مجموعة الرسوم المتحركة UiimageView عندما تم حفظ هذه الرسوم المتحركة لاستخدام عدة وقت. هذه مشكلة معروفة تم إصلاحها باستخدام SDK 3.0 (ببساطة عن طريق تعيين مجموعة الرسوم المتحركة UiimageView إلى NIL)

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

المحلول

الفرق بين القاعدة و SDK النشط هو أن الأول هو SDK الافتراضي للمشروع والأخير هو SDK الذي تبنيه حاليًا. لذلك من الممكن أن يكون SDK النشط هو SDK الأساسي ، وفي هذه النقطة ، سيستخدم Xcode SDK الذي حددته للمشروع.

من أجل إنشاء تطبيقك لأوسع مجموعة من الأجهزة الممكنة ، أنت محق:

  • اضبط قاعدة SDK على آخر SDK ممكن (3.0 ، 3.0.1)
  • حدد هدف النشر إلى أقدم SDK ممكن (2.0)

تتيح لك Apple تحديد iPhone 2.0 كهدف للنشر ، ولكن ضع في اعتبارك أي واجهة برمجة تطبيقات أو إطار عمل تم إصداره بعد iPhone 2.0 ، فلن تتوفر لك للاستخدام افتراضيًا. هناك تقنيات لاستخدام الميزات من SDKs اللاحقة, ، ومع ذلك فهي غير تافهة.

نصائح أخرى

يجب عليك تعيين إعداد بناء SDK الأساسي على أحدث SDK الذي يحتوي على جميع الميزات التي تنوي استخدامها (عادةً ، أحدث SDK المتاحة) ، وتعيين إعداد "Dephone Deployment" إلى الإصدار الأول من OS ON الذي تريد تشغيله.

تحتاج بعد ذلك إلى التأكد من فحصك ، في وقت التشغيل ، لأي ميزات قد لا تكون موجودة على الأنظمة السابقة.

"Base SDK" هو الحد الأقصى الذي يمكن أن تدعمه تطبيق SDK. هناك حد صعب هنا - لا يمكنك اختيار مستقبل SDK غير منشور.

"هدف النشر" هو الحد الأدنى لدعم SDK. إلى أي مدى في الوقت المناسب أنت على استعداد للذهاب.

يبدو أن Xcode يخلق تبعية زائفة على "هدف النشر". على سبيل المثال ، لا يمكنني التطوير على iOS 5.1.1 iPod مع Xcode 4.5.2 (يتم إقران Xcode 4.5.2 مع iOS 6.0) ، على الرغم من تثبيت واجهات برمجة التطبيقات والمحاكاة 4.3 و 5.0 و 5.1 على هذا التثبيت. أحتاج إلى استخدام جهاز محاكاة أو مقبس في iOS 6.0 iPhone.

يبدو أن الألعاب التي تلعبها Apple تسبب مشاكل مع التطبيقات أيضًا. لن تتم مزامنة نسختي التي تم شراؤها من العناصر عبر iTunes إلى iPod لأن العناصر تحتاج إلى إصدار أحدث من iOS لتشغيله (يتم مزامنتها وتشغيلها بشكل جيد على iOS 6.0 iPhone).

لقد حصلت على اثنين من أجهزة iPad وواحد هو 4.3. أرتجف لأفكر ما هي الفوضى التي ستسببها.

على العموم؛

اضبط SDK على أحدث SDK الذي ترغب في دعمه واختباره.

قم بتعيين هدف النشر على أدنى إصدار من iOS التي ترغب في دعمها واختبارها.

إذا كنت تستخدم ميزات SDK الأساسية غير متوفرة على SDK Deployment Target ، فسيتعطل التطبيق في وقت التشغيل على الأجهزة القديمة ، لذلك يكون الاختبار أمرًا حيويًا.

تتمثل عملية بديلة / تكميلية في استخدام Deploymate http://www.deploymateapp.com/ وهو تحليل الكود الثابت لتحديد المشكلات.

إذا كنت من عالم Android ، فإن القياس ؛

TargetSDK -> قاعدة SDK

Minsdk -> هدف النشر

Lint -> Deploymate

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