Последняя версия Reachability.m (пример кода версии 2.2) совместима с iOS 3.0? - PullRequest
6 голосов
/ 31 марта 2011

Кто-нибудь знает, будет ли на iOS 3.0 работать версия 2.2 (последняя) примера кода Apple «Reachability» для iOS? Я хочу поддерживать iOS 3.0, а Reachability.h и .m - это первый некаркасный код, который я использую в своем приложении. В своем собственном коде я обычно читаю документы по всем используемым мной методам и использую responsedsToSelector: для реализации методов, которые не будут работать в 3.0. Когда люди используют сторонний код, как они подтверждают, какую iOS он поддерживает, не сверяя каждый метод отдельно с документами?

В качестве альтернативы, кто-нибудь знает, как мне достать старую версию примера кода? (Доступность версии 2.1 может помочь.)

1 Ответ

1 голос
/ 18 апреля 2011

Я не хочу давать ответ от @Matt и @Martin, но я чувствую, что этот вопрос заслуживает ответа для потомков.Если они вернутся и отправят свои комментарии в качестве ответов, пожалуйста, примите их.

В любом случае, мой собственный ответ заключается в том, что я бы весьма рекомендовал бы не использовать примеры проектов Apple непосредственно в производственном приложении., особенно достижимость.Многие из их примеров плохо написаны и, как вы заметили, устарели.Я подал много ошибок против них без особых результатов.

Тем не менее, еще один момент заключается в том, что вы должны дважды подумать о том, чтобы полагаться на Reachability для логики управления.Если вы просто хотите уведомить пользователя об изменении его соединения или что-то в этом роде, хорошо.Но не полагайтесь на то, что говорит Reachability, чтобы решить, стоит ли пытаться связаться с сетью или нет.Это часто неправильно по поводу состояния вашей сети.Просто откройте соединение, и если оно получится удачным, в противном случае вы получите сообщение об ошибке, сообщающее, что соединения нет.

РЕДАКТИРОВАТЬ - Относительно вашего другого вопроса о том, как определить, что IOS поддерживает стороннее приложение,Ответ таков: если они не задокументировали это, вы не сможете этого сделать.Наилучшим индикатором обычно являются настройки «Базового SDK» и «iOS Deployment Target» целевого объекта сборки.Base SDK будет последней версией iOS, на основе которой они построены, а Deployment Target будет самой ранней версией iOS, которую они поддерживают.

Cheers

...