كيفية تحديد طراز 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"
```