Насколько я понимаю, нет доступных общедоступных API или каких-либо «законных» / «официальных» способов доступа к ним ...
Мне просто интересно, почему некоторые настольные приложения (MissingSync, iPhoneDrive) имеют доступ к ним тогда ...
ОБНОВЛЕНИЕ: я обнаружил, что приложение для ПК по-прежнему показывает самую последнюю информацию с устройства iPhone без необходимости синхронизации / резервного копирования устройства на рабочий стол. Это заставляет меня заключить, что приложение для ПК должно получать информацию непосредственно с устройства, а НЕ из резервной копии, находящейся на рабочем столе (ПК с Windows: C:\Documents and Settings\USERNAME\Application Data\Apple Computer\MobileSync\Backup). Пожалуйста. поправьте меня, если что-то здесь не хватает ..)





Я думаю, это потому, что на рабочем столе Apple не имеет возможности ограничить случайное приложение, просматривающее определенную папку, в которой находится резервная копия iPhone (ПК с Windows: C: \ Documents and Settings \ USERNAME \ Application Data \ Apple Computer \ MobileSync \ Backup) и чтение информации из него.
iPhone хранит их в базах данных SQLite. Если приложение имеет доступ к этим файлам, оно может получить доступ к данным.
Как приложение может получить доступ к пути на взломанном телефоне.
Что ж, я думаю, это зависит от приложения и от того, насколько важно иметь самую свежую информацию - я видел и то, и другое.
Но я думаю, что получение данных напрямую с телефона также возможно, так как я нашел этот проект от Google - http://code.google.com/p/iphonebrowser/
Другой способ, которым некоторые приложения делают это, - это запрос на то, чтобы ваш компьютер и ваш iPhone были в одной сети, а затем они также получали прямой доступ к файловой системе iPhone (это делает приложение Things, а также собственное приложение Apple Remote для iTunes).
Итак, если получение данных непосредственно с телефона возможно с помощью настольного приложения, почему собственное приложение iPhone не может иметь доступ к системе iPhone (для журнала SMS, журнала вызовов, календаря и т. д.)? Если Apple не опубликовала (для iPhone) API-интерфейсы для этого, то какой набор API-интерфейсов используют эти настольные приложения?
Я думаю, это для безопасности ... Поскольку существует так много приложений, всегда есть вероятность, что кто-то использует мою информацию для чего-то подозрительного ... например. сбор телефонных номеров и электронных писем для рассылки спама или другой личной информации, которая у меня есть обо мне и моих контактах.
Кроме того, могут возникать конфликты, когда в любой момент времени десятки приложений используют и изменяют одну и ту же информацию.
спасибо texmex5 для обсуждения :-) Меня беспокоит: «Технически», если настольные приложения могут получать доступ к файловой системе iPhone, что мешает родным приложениям iPhone получать доступ к той же информации? не может быть недостатка API, иначе как получилось, что настольные приложения могут иметь к нему доступ ...
Это песочница, в которой живет каждое приложение iOS, которая не позволяет ему получить доступ ко всей файловой системе. Что касается настольных приложений: возможно (просто теория) разработчики перепроектировали протокол, который iTunes использует для связи с подключенным устройством. Думаю, у iTunes есть необходимые привилегии для доступа ко всему на устройстве. Упомянутый iphonebrowser работает только на взломанных устройствах.
Не уверен, почему это было изменено. Именно так они и работают - путем чтения резервной копии, находящейся на ПК / Mac.