Я - новый программист, который плохо знаком с разработкой iPhone и материалом сервера. У меня есть много вопросов спросить.
Вы не должны отвечать на все вопросы; любая справка ценится!
Лучше всего, чтобы ваш iPhone выполнял веб-запросы к веб-серверу. Ваше приложение для iPhone действует как веб-браузер, отправляя HTTP-запросы на веб-сервер и анализируя ответ.
Я сейчас создаю приложение, которое запускает написанные мной PHP-скрипты, выполняющие работу с базами данных и т. Д., И возвращающие объекты JSON. Это не изящно - я мог бы создать целую веб-службу SOAP или RPC, но я этого не делал, она просто выполняет запросы GET с аргументами строки запроса.
Есть удобные библиотеки, о которых вы хотите узнать. Погуглите "iPhone JSON", чтобы найти библиотеку JSON, написанную Стигом Браутасетом, которую, похоже, использует большинство людей. Кроме того, вместо того, чтобы подвергать себя всем сложностям, которые требует встроенная в iPhone инфраструктура веб-клиентов, воспользуйтесь ASIHTTPRequest, очень мощной и НАМНОГО упрощенной библиотекой веб-клиентов.
Как правило, вы хотите выполнять на сервере как можно больше обработки. Например, в моем приложении есть место, где я ищу события, происходящие в указанном пользователем диапазоне их локальных координат («в пределах 10 миль от меня»). Я написал PHP для создания ограничивающего прямоугольника широты / долготы и запроса из базы данных на основе этого. Это НАМНОГО быстрее, чем проводить кучу событий и затем просить Core Location вычислить расстояние до них от того места, где я стою.
Вы задали довольно много вопросов, поэтому я постараюсь ответить на них изо всех сил:
Во-первых, вам нужно немного пояснить, о каком сервере вы говорите о? Почтовый сервер, веб-сервер, сервер lolcat, в зависимости от обстоятельств.
На базовом уровне iphone общается через Интернет. Интернет использует Интернет-протокол, и есть два стандартных протокола, построенных на основе IP: протокол управления передачей и протокол дейтаграмм пользователя. У каждого есть свои собственные цели и функции.
TCP / IP и UDP / IP составляют основу интернет-коммуникаций.
На основе этих двух интернет-протоколов построен более конкретный прикладной протокол с определенным форматом для данного приложения. Например, HTTP - это стандартный протокол для передачи HTML и другой веб-информации между веб-сервером и клиентом веб-браузера по TCP.
Итак, ваш iPhone будет использовать любой протокол, необходимый для связи с сервером. Для более распространенного взаимодействия с сервером iOS SDK предоставляет методы для создания сообщений (например, если вы хотите сделать HTTP-запрос к веб-серверу, вы можете использовать initWithContentsOfURL
для отправки GET-запроса).
Если вы создали собственный сервер, вам нужно будет создать требуемый протокол сообщений на iphone и отправить его на сервер, используя TCP или UDP (в зависимости от того, что ожидает ваш пользовательский сервер).