Как синхронизировать данные приложения между iPhone и другим компьютером? - PullRequest
13 голосов
/ 09 октября 2008

Я работаю над приложением для iPhone, которое позволит просматривать и редактировать данные, которые я хочу синхронизировать с настольным приложением. В SDK я не вижу ничего, что напрямую связано с синхронизацией данных, и не могу найти ничего, что позволило бы мне «подключиться» к процессу синхронизации iTunes.

Я мог бы сделать что-то глупое, например, скрыть данные в записи фотографии или адресной книги, но это просто плохая идея. Я мог бы использовать WebDAV или HTTP, чтобы получить / поместить данные на сервер, но это усложняет приложение.

Полагаю, я ожидал, что это будет общий вариант использования приложений для iPhone (синхронизация произвольных данных приложения между рабочим столом и iPhone) и что в SDK будет набор API, который будет охватывать это. Может быть, и я просто не могу его найти.

Ответы [ 7 ]

5 голосов
/ 10 октября 2008

Посмотрите на:

http://sourceforge.net/projects/syncdocs/

5 голосов
/ 10 октября 2008

Два популярных метода:

Синхронизация с настольным приложением напрямую через Wi-Fi (с помощью Bonjour и т. Д. Для обнаружения конечных точек приложения iPhone / настольного компьютера, как предлагали другие).

Другим вариантом является синхронизация с общим местоположением файла - либо FTP, MobileMe, WebDAV, веб-службы на другом сервере и т. Д. Таким образом, приложение для iPhone и настольного компьютера будет выполнять чтение / запись в общее местоположение, чтобы другой мог видеть обновления.

Как уже говорили другие, на данный момент не существует метода, предоставленного Apple (с использованием iTunes или иным способом), и нет никаких признаков того, что что-либо подобное будет происходить в ближайшем будущем, если оно не будет связано с будущей поддержкой iPhone сторонних производителей нажмите обновления. (Я действительно сомневаюсь, что это будет так, но вы никогда не знаете.)

4 голосов
/ 09 октября 2008

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

3 голосов
/ 09 октября 2008

Это общая проблема, но, к сожалению, SDK не решает ее.

Поскольку iPhone поддерживает публикацию и обнаружение службы Bonjour, вы можете легко опубликовать службу на телефоне и прослушивать ее на рабочем столе, подключаясь, когда они находят друг друга. (Или вы можете опубликовать службу на рабочем столе и подключиться с телефона, в любом случае это не имеет значения.) Вся документация по Bonjour для MacO OS X относится к iPhone OS.

Обратите внимание, что Bonjour просто рекламирует услугу; как только вы найдете его, вам все равно придется использовать сокеты для подключения и передачи данных.

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

2 голосов
/ 30 августа 2011

Просто чтобы обновить этот ответ - со времени, когда вопрос был задан, Apple добавила поддержку синхронизации файлов с iTunes (и позволяет пользователю получать к ним доступ через вкладку «Приложения» iTunes).

Для этого вам нужно установить для ключа UIFileSharingEnabled значение YES в файле Info.plist вашего приложения. Затем вы можете использовать стандартные файловые API ввода-вывода для сохранения файлов в каталоге документов вашего приложения.

Здесь больше информации: http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/StandardBehaviors/StandardBehaviors.html#//apple_ref/doc/uid/TP40007072-CH4-SW6

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

2 голосов
/ 16 августа 2009

Пример для Bonjour Sync: http://cocoa -nut.de /? Р = 27

1 голос
/ 09 октября 2008

Я также работаю над приложением, которое должно обмениваться данными, единственный разумный / не взломанный способ, с помощью которого я нашел информацию для входа и выхода из iPhone, - через NSURLConnection.

(личное мнение) Я не предполагаю, что Apple предоставит хуки для процесса синхронизации. (/ Личное мнение)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...