على سبيل المثال ، إذا كان تطبيقك يشاهد ملفات SCNetworkReachability
ل kSCNetwork قابلية إعادة التأهيل
لمراقبة وقت توفر شبكة Wi-Fi ، فقد لا تتصرف بشكل صحيح في ظل البيانات الاحتياطية الخلوية.
إذا استخدم أحد التطبيقات هذه الطريقة ثم حاول الاتصال ، معتقدًا أنه سيحصل على اتصال عبر شبكة Wi-Fi ، فقد ينتهي الأمر بالتطبيق عن غير قصد باتصال عبر الشبكة الخلوية. عدم وجود kSCNetwork قابلية إعادة التأهيل
ليس ضمانًا بأن اتصالك لن يتجاوز شبكة الجوّال. إذا احتاج الرمز الخاص بك إلى فرض عدم مرور الاتصال عبر شبكة خلوية ، فيجب تحديد ذلك عند إجراء طلب شبكة.
بدلا من ذلك ، ل شبكة CFNetwork
كود باستخدام CFSocketStream
CFHTTPStream
، أو واجهات برمجة التطبيقات المشابهة ، قم بتعيين ملف kCFStreamPropertyNoCellular
الخاصية إلى true على كائن CF قبل الاتصال.
ل الطلبات
، مكالمة [طلب setAllowsCellularAccess: false]
.
بالإضافة إلى التأكد من أن الكود الخاص بك لن يتم توصيله أبدًا عبر الهاتف الخلوي بسبب النسخ الاحتياطي الخلوي ، تضمن هذه المكالمة أن الرمز الخاص بك لن يتم أبدًا متصل عبر شبكة خلوية بسبب VPN أو مشاكل توجيه معقدة (الاتصال بـ IPv6 عبر شبكة خلوية لأن IPv4 متاح فقط عبر شبكة Wi-Fi ، إلخ.).
للتحقق من أن تطبيقك يعمل بشكل صحيح ، يجب أن تختبر شبكة Wi-Fi معطلة. أسهل طريقة لإعداد شبكة Wi-Fi معطلة هي إعداد Apple AirPort Base Station أو غيرها نقطة وصول Wi-Fi لتسليم عنوان DHCP وترك نقطة الوصول مفصولة عن إنترنت. طريقة أخرى بسيطة للاختبار هي فصل الكابل أو خط DSL من الكبل أو مودم DLS.