استبدال #ifdef في Swift: كيفية استخدام الترجمة الشرطية والأعلام؟
الترجمة الشرطية في Swift: دليل كامل
مرحباً! أنا أنتقل من Objective-C إلى Swift وواجهت مشكلة. في Obj-C كنت أستخدم توجيهات المعالج المسبق بشكل متكرر، مثلاً:
```objectivec #ifdef DEBUG NSLog(@"سجل التصحيح"); #else NSLog(@"نسخة الإصدار"); #endif ``` أو للتحقق من المنصة: ```objectivec #if TARGET_OS_IOS // كود iOS #elif TARGET_OS_MAC // كود macOS #endif ``` في Swift لا أستطيع إيجاد مقابل مباشر لـ #ifdef. حاولت كتابة شيء مثل: ```swift #if DEBUG print("سجل التصحيح") #else print("نسخة الإصدار") #endif ``` لكن Xcode يقول إن `DEBUG` غير معرّف. أضفت `-D DEBUG` في Other Swift Flags، لكنه لا يزال لا يعمل. كيف يمكنني ضبط الترجمة الشرطية بشكل صحيح في Swift؟ هل أحتاج إلى فعل شيء مع Build Settings؟ وهل يمكنني إنشاء أعلام خاصة بي، مثلاً لأهداف مختلفة (إصدار lite/pro)؟ سأكون ممتناً لشرح مفصل مع أمثلة!