سؤال

بلدي التطبيق بالوصول إلى الإنترنت و أريد فقط أن الكشف عن ما إذا كان هناك اتصال إما عن طريق واي فاي أو عبر البيانات الناقل الشبكة أم لا

حققت أبل مثلا أن "وسائل الأتصال"

https://developer.apple.com/iphone/library/samplecode/Reachability/

أعتقد أنه فقط بالكشف عن واي فاي ولا شبكة الناقل

يمكن لأحد أن يقول لي ما أفضل أن يتم الكشف عن إذا كان هناك اتصال ( أي نوع من الاتصال )

نقدر اور مساعدة!

هل كانت مفيدة؟

المحلول

وهذا النموذج هو بالضبط ما تحتاجه.

وانظروا Reachability.m. انها سوف اقول لكم ما اذا كان لديك أي اتصال، ومن ثم أقول لكم أي نوع من الاتصال لديك.

نصائح أخرى

قد يكون المثال وسائل الأتصال مبالغة إذا كنت ترغب فقط في اكتشاف ما إذا كان أو لم يتم الاتصال، ونوع الاتصال الذي تستخدمه إذا كنت متصلا. في الواقع يحتوي على سبيل المثال أيضا كود يوضح كيفية إعداد واستخدام الاسترجاعات أن يخطر لك من التغييرات الدولة.

لمقتطف من شفرة المصدر أقول لك بالضبط إذا كنت متصلا أم لا، ونوع الاتصال الذي تستخدمه، قد ترغب في إلقاء نظرة على جوابي على سؤال مماثل، نشرت <لأ href = "HTTPS : //stackoverflow.com/questions/1448411/how-to-check-for-local-wi-fi-not-just-cellular-connection-using-iphone-sdk "> هنا .

بمجرد تقديم طلب إلى أي مورد ويب, اي فون يستخدم أي اتصال يجدها ، فإنه يستخدم واي فاي ( كما أولوية أعلى ) ، وإذا واي فاي غير متصل يستخدم شبكة الناقل.لا يوجد رمز الإعدادات ولهذا منع شبكة الناقل.

كل ما عليك القيام به:

  • التحقق من إشارة في مكان الاختبار
  • التحقق من الرابط الذي تحاول الوصول إليه على سفاري ، للتأكد من عدم التطبيق الخاص بك أن يكون لديك مشكلة.
  • الاتصال الناقل الدعم إذا كان الرابط لا يعمل على سفاري ( بالتأكيد باستخدام شبكة الناقل )

وهذه التقنيات هي مفيدة، ولكن نأخذ في الاعتبار أن مسار الجهاز على شبكة الإنترنت قد تتكون من عدة أنواع مختلفة من الاتصالات. على سبيل المثال، قد يكون اي فون أو آي بود على اتصال باستخدام واي فاي للاتصال الساخنة المتنقلة، والتي بدورها لديها الجيل الثالث 3G اتصال لاسلكي خاص بها. لذلك ليس من الأسلم أن نفترض أن وجود اتصال واي فاي يعني عرض النطاق الترددي العالي من الجيل الثالث 3G.

وسائل الأتصال (كلاهما رمز أبل عينة، ورمز الآخرين مماثل، وسوف SCNetworkReachability الكامنة اقول لكم إما أنه لا يوجد اتاحة الانترنت، أو أنك سوف الوصول إلى الإنترنت من خلال واي فاي، أو أنك سوف الوصول إلى الإنترنت عن طريق الموبايل البيانات.

إذا كان لديك على حد سواء واي فاي والبيانات المتنقلة المتاحة، وسوف اقول لكم "واي فاي". لا توجد وسيلة لمعرفة أن البيانات المتنقلة متاح عندما يكون لديك واي فاي. (يمكنك بسهولة معرفة أن البيانات المتنقلة متاح عندما لا يكون هناك واي فاي). لا يمكنك معرفة ما إذا كان يتم تشغيل وضع الطائرة (التي من شأنها أن تكون مختلفة من واي فاي وإيقاف بيانات الجوال).

وواي فاي متاح لا يضمن أن تحميل واستخدام واي فاي وليس البيانات المتنقلة. قد بدء التنزيل في المنزل، وترك بعد دقيقة واحدة، واي فاي يختفي، وسوف دائرة الرقابة الداخلية تواصل بسعادة تحميل من خلال الجيل الثالث 3G. يمكنك تعيين إشارة في الدعوة التحميل إلى عدم السماح الجيل الثالث 3G. سوف يكون رمز الخطأ -1009 = لا توجد شبكة الإنترنيت، لم يذكر أن الجيل الثالث 3G يمكن أن يكون متاحا.

وعن طريق CTTelephonyNetworkInfo يمكنك معرفة أنك على جهاز <م> يمكن ديك البيانات المتنقلة (وليس آي بود تاتش باد أو بدون البيانات المتنقلة، وهناك SIM في الجهاز).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top