Avatar ·

كيفية تحديد طراز iPhone الحالي أو جهاز iOS في Swift؟

مرحبًا بالجميع! أنا مطور iOS مبتدئ وواجهت مشكلة: أحتاج إلى تحديد الجهاز الذي يعمل عليه التطبيق برمجيًا. على سبيل المثال، أريد عرض عناصر واجهة مختلفة لـ iPhone SE و iPhone 12 Pro Max و iPad، أو تسجيل طراز الهاتف للتحليلات. حاولت استخدام `UIDevice.current.model`، لكنه يعيد فقط سلاسل عامة مثل "iPhone" أو "iPad" أو "iPod touch". أحتاج إلى معرفة الطراز المحدد: "iPhone 12"، "iPhone 14 Pro Max"، "iPad Pro 12.9-inch (5th generation)" وهكذا. كما حاولت استخدام `utsname`، لكن الكود الذي أحصل عليه (مثل "iPhone13,2") لا يمكن تحويله إلى اسم مقروء بدون قاموس ضخم. وجدت الكثير من الحلول على Objective-C على الإنترنت، لكني أحتاج إلى Swift، ويفضل أن يكون محدثًا لـ iOS 16+. إليك ما جربته، لكنه لا يعطي التفاصيل المطلوبة: ```swift import UIKit let device = UIDevice.current print("Model: \(device.model)") // "iPhone" print("Localized Model: \(device.localizedModel)") // "iPhone" ```