نقل مشروع من Swift 4.2 إلى Swift 5.0

مرحبا يا هبر! أقدم إليكم ترجمة المقال "Swift 5.0: How to migrate project and frameses" للمخرج أنطوان فان دير لي.

تم إصدار Swift 5.0 في مارس 2019 وهو أول إصدار مستقر لـ ABI Swift. على الرغم من أن العديد من الموارد تغطي الميزات الجديدة في Swift 5.0 ، إلا أنها لا تخبرك غالبًا بما تحتاج إلى القيام به لترقية مشروعك إلى Swift 5.0.

في هذا المنشور ، سأغطي الخطوات التي يمكنك اتخاذها لترقية مشروع موجود إلى Swift 5.0.

تحقق من أن مشروعك قد تم نقله بالفعل إلى Swift 4.2.
لن أتفاجأ إذا ساعدت هذه المقالة في إقناع مدير منتجك بالتخطيط لوقت الانتقال.

الترحيل التلقائي باستخدام مساعد المهاجر


يقترح Xcode استخدام "مساعد الترحيل" لتحديث الرمز تلقائيًا إلى بناء جملة Swift الحالي. سيستخدم هذا التحويل أحدث إصدار من Swift ، المتوفر مع الإصدار المثبت من Xcode.

Xcode 10.2 هو الإصدار الأول الذي يتضمن Swift 5.0 ، لذلك تحتاج إلى استخدام هذا الإصدار من البرنامج.

هذه الميزة في كثير من الأحيان العمل الشاق بالنسبة لك. لذلك ، أوصي ببدء تشغيل منفذ الشفرة عن طريق الانتقال إلى تحرير -> تحويل -> إلى صيغة سويفت الحالية ....

نصيحة: تأكد من القيام بذلك فقط لمشروعك وإطارك. يمكنك تخطي التحويل لأي تبعيات خارجية.



تحديث التبعية


على الأرجح ، لديك بعض تبعيات Swift التي تحتاج إلى تحديث. العديد من المشاريع الكبيرة مفتوحة المصدر ، مثل Alamofire و Moya ، بدأت بالفعل العمل مع الإصدار Swift 5.0.

ومع ذلك ، فمن المحتمل أنه لم يتم تحديث جميع التبعيات الخاصة بك بالفعل. على الرغم من أنني أرغب في حثك على تنفيذ عملية النقل ، ثم تقديم طلب السحب بنفسك ، فمن المحتمل أن تضطر إلى الانتظار قليلاً حتى يقوم أصحاب المشروع بذلك.

إذا كنت تخطط لإجراء اختبار مكثف كامل لطلبك بعد هذا النقل ، فقد يكون من المفيد أيضًا تحديث تبعياتك مباشرةً. سيغطي الاختبار هذه التحديثات مباشرة ، والتي قد تكون "فوزًا مزدوجًا".

CI تحديث البيئة


إذا كنت تستخدم Travis أو Jenkins أو أي نظام CI آخر ، فأنت بحاجة أيضًا إلى تحديث Xcode.



باستخدام النتيجة في سويفت


يقوم برنامج Xcode Converter بإجراء تغييرات الرمز الأساسية فقط. لا يمثل نوع النتيجة الجديد ، والذي يتم تضمينه الآن في مكتبة Swift القياسية. تضمنت العديد من الأطر نوع "النتيجة" في الكود الخاص بهم. قد يعني هذا أن لديك الكثير من البيانات بنوع التعداد الذي لم تعد هناك حاجة إليه. ومع ذلك ، لا تتعجل في استبدالها ببيانات من التبعيات الخاصة بك: فأنت تعتمد على تغييرات التعليمات البرمجية في الهيكل الخارجي.

نوع شائع من الخطأ



من المحتمل أن نوع "النتيجة" الحالي حدد نوع الحالة المناسبة فقط.

النتيجة في Swift 5.0 تتطلب أيضًا تحديد نوع الخطأ المتوقع. كمواطن محترم ، يجب أن تحاول أن تجعل هذا النوع من الأخطاء محددًا بناءً على ما تتوقعه. ومع ذلك ، إذا كنت ترغب في تسريع عملية الترحيل ، يمكنك أيضًا ضبط النوع على Swift.Error .

نصيحة: إذا كنت تريد معرفة المزيد عن نوع النتيجة الجديد في Swift 5.0 ، أوصي بقراءة هذا المقال .

نحن نأخذ في الاعتبار استقرار ABI


في الواقع ، استقرار ABI هو قضية منفصلة. يمكنك قراءة المزيد حول هذا على مدونة سويفت الرسمية.

ضع في اعتبارك أن حجم التطبيق الذي تقوم بتنزيله سينخفض ، نظرًا لأن التطبيقات لم تعد بحاجة إلى تضمين مكتبة Swift القياسية!

هذا ينبغي أن يقنع المنتج الخاص بك للعثور على الوقت لنقل.
إذا كنت تريد الغوص في Swift 5.0 ، فيمكنك التخطي إلى منشور مدونة Apple Migrating to Swift 5.0.

Source: https://habr.com/ru/post/ar447098/


All Articles