1. التبعيات (Podfile)
1.1 لماذا لا تزال بحاجة إلى Podfile
يُربط AKSKit.xcframework/AppsKit.xcframework مباشرةً كإطارَي عمل ثنائيين (§2)، وليس كحزم pods — لكن وحدة Swift المترجمة في AppsKit.xcframework تشير إلى رموز من عدة حزم SDK تابعة لجهات خارجية (Firebase، Google Mobile Ads، IronSource، Adjust، AppsFlyer، AppLovin). يجب أن تكون هذه الحزم موجودة في مخطط التبعيات لديك عبر CocoaPods، وإلا فستفشل مرحلة الربط أثناء البناء، حتى لو لم تستدعِ معظمها مباشرةً.
1.2 حزم pods المطلوبة (ضرورية دائمًا)
source 'https://cdn.cocoapods.org'
platform :ios, '15.0'
target 'YourApp' do
use_frameworks!
# Remote Config drives almost all AKS behavior; Analytics/Crashlytics back AKS events and crash reporting
pod 'Firebase/Analytics', '~> 12.15.0'
pod 'Firebase/Crashlytics', '~> 12.15.0'
pod 'Firebase/RemoteConfig', '~> 12.15.0'
pod 'Google-Mobile-Ads-SDK'
# Required by AppsKit.xcframework's compiled swiftinterface — these are transitive
# dependencies of the AKS facade itself, not direct calls you make.
pod 'IronSourceSDK', '~> 9.1.0.0'
pod 'Adjust', '~> 5.4.6'
pod 'AppsFlyerFramework'
pod 'AppsFlyer-AdRevenue'
pod 'AppLovinSDK'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0'
config.build_settings['DEBUG_INFORMATION_FORMAT'] = 'dwarf-with-dsym'
end
end
endالإصدارات أعلاه هي التي تُعتمد حاليًا عند حلّ التبعيات في تكامل مرجعي ثبت أنه يعمل (Podfile.lock): Firebase/* 12.15.0، مع ترك Google-Mobile-Ads-SDK دون تقييد بإصدار محدد لمواكبة أحدث إصدار (وهو يجلب GoogleUserMessagingPlatform كتبعية غير مباشرة)، وIronSourceSDK 9.1.0.0، وAdjust 5.4.6، وAppsFlyerFramework/AppsFlyer-AdRevenue 6.14.3، وAppLovinSDK 13.5.0. تعامل معها كنقطة انطلاق ثبت أنها تعمل، لا كتقييد صارم للإصدارات — حدّثها وفق احتياجات تطبيقك، لكن أبقِ IPHONEOS_DEPLOYMENT_TARGET عند 15.0 أو أعلى ليتوافق مع الإصدار الذي بُني على أساسه AppsKit.xcframework/AKSKit.xcframework.
السطر
DEBUG_INFORMATION_FORMAT = 'dwarf-with-dsym'ضمنpost_installليس مجرد تحسين شكلي اختياري — فمن دونه، لا تُنتج بعض هذه الحزم (وخاصةً AppLovinSDK) ملفات dSYM، مما يعطّل تحويل عناوين الذاكرة في تقارير الأعطال إلى أسماء رموز، وقد يؤدي إلى فشل التحقق من ملفات dSYM في App Store Connect عند الرفع.
1.3 حزم SDK لشركاء قياس أداء التسويق (MMP)
Solar Engine ليست حزمة pod تحتاج إلى إضافتها — فهي مضمّنة مسبقًا في AKSKit.xcframework نفسه عند ترجمته، لذا لن تجدها في Podfile لديك (ولا تحتاج إلى إضافتها). أما AppsFlyer وAdjust، فهما، على النقيض، حزمتا pods تُضافان من جانب التطبيق المستهلك (§1.2 أعلاه)، لأن شيفرة Swift في AppsKit.xcframework تستدعي أساليب SDK الفعلية الخاصة بهما مباشرةً (initializeAppsFlyer/initializeAdjust في IOSBridgeImp.swift).
1.4 حزم SDK لشبكات الإعلانات / الوساطة الإعلانية
لا يضيف Podfile المرجعي سوى Google-Mobile-Ads-SDK وIronSourceSDK وAppLovinSDK — ولا يتضمن حزم pods منفصلة من نوع «محوّل وساطة AdMob». إذا كانت إعدادات بوابة AKS لديك تفعّل الوساطة عبر AdMob باستخدام عروض الأسعار أو العرض الإعلاني بالتتابع (waterfall) لشبكات غير المدرجة، فتحقّق مما إذا كانت تلك الشبكة تحتاج إلى محوّل CocoaPods خاص بها (مثل حزمة pod من نوع GoogleMobileAdsMediation*) — فهذا الدليل لا يوثّق إلا ما تأكّد عمله في التطبيق المرجعي.