Avatar ·

كيفية تحديد برمجيًا ما إذا كان التطبيق يعمل في محاكي iPhone؟

مرحبًا بالجميع! أنا مطور iOS مبتدئ، وواجهت مشكلة: أحتاج إلى تنفيذ كود معين في المحاكي (simulator) وكود آخر على الجهاز الحقيقي. على سبيل المثال، أريد استخدام الكاميرا فقط على iPhone حقيقي، وفي المحاكي أعرض عنصرًا وهميًا (placeholder). لكن كيف أتحقق من ذلك برمجيًا؟ حاولت البحث على الإنترنت، لكني وجدت ماكروات (macros) وأعلام ترجمة (compilation flags) مختلفة. في Objective-C يبدو الأمر هكذا: ```objectivec #if TARGET_IPHONE_SIMULATOR // كود للمحاكي #else // كود للجهاز الحقيقي #endif ``` لكني أكتب بلغة Swift، ولا أستطيع نقل هذه البنية مباشرة. جربت استخدام `#if targetEnvironment(simulator)`، لكن Xcode يشتكي من أنها توجيه غير صالح. هل أحتاج إلى استيراد شيء أو إضافته؟ أم هناك طريقة أخرى؟ كما سمعت أنه يمكن التحقق من بنية المعالج (x86_64 للمحاكي و arm64 للجهاز الحقيقي)، لكن هذا يبدو غير موثوق — ماذا لو أصدرت Apple محاكيًا على ARM؟