Подтвердить что ты не робот

Что такое SDK для iPhone?

Я занимаюсь разработкой мобильных приложений в течение длительного времени (2001?), но системы, с которыми мы работали тогда, были выделены для мобильных сред разработки (Symbian, J2ME, BREW). iPhone SDK - это любопытный гибрид Mac OS X, а Apple - мобильный (Cocoa Touch).

Но не хватает некоторых вещей, которые есть у других мобильных систем, IMO. В частности:

  • Фоновая обработка приложений
  • Маршрутизация приложений SMS/MMS (отправьте SMS-сообщение в мое приложение в фоновом режиме)
  • API для доступа к функциям телефона/истории вызовов/перехвата вызовов

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

4b9b3361

Ответ 1

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

Первоначально push был запланирован на прошлый сентябрь, но он был удален из бета-SDK и с тех пор не упоминался.

Ответ 2

Самым большим недостатком, на мой взгляд, является поддержка отделяния лицензирования от распространения.

Что я имею в виду, так это то, что должна быть возможность загрузить пробную версию приложения, а затем приобрести лицензию для этого приложения (из вызова API внутри приложения или из магазина приложений). Это значительно облегчило бы попробовать-до-покупать и избавиться от текущих дубликатов многих приложений с версиями "lite".

Ответ 3

API Я лично ищу:

  • Apple80211 как открытый API (закрытый, текущий API отлично, если он документирован)
  • Доступ к кнопкам Volume (полудоступный через Celestial, частный, нуждается в новом API)
  • Доступ к календарю (закрытый, неизвестный статус API)
  • Доступ к профилю Bluetooth + SPP (статус неизвестен)
  • Доступ к камере (напрямую, статус API неизвестен)
  • Доступ к времени выполнения JavaScript (напрямую, а не через UIWebView, неизвестный статус API)
  • Доступ к WebKit на нижнем уровне, чем UIWebView (частный, текущий API в порядке)
  • Доступ к библиотеке музыки (частный, текущий API в порядке)

Ответ 4

Сбор мусора.

Ответ 5

Отсутствует CoreData.

Ответ 6

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

Также, как представляется, отсутствует инфраструктура синхронизации рабочего стола (по крайней мере, если она существует, я не могу ее найти).

Независимость от языка и особенно отсутствие сценариев - это еще одно удовольствие от питомца - objective-c все очень хорошо, но больше языков на выбор будет хорошо.

Неспособность динамически расширять приложения, через скрипты или иначе, является еще одним большим упущением. Это частично проблема с SDK/OS, частично лицензирование.

Ответ 7

Мой список упорядочен по приоритету:

  • Отображение абстракции (MapKit выглядит потрясающе), но для этого потребуется новый Google Maps TOS
  • Музыкальная библиотека
  • Камера (фото + видео) Доступ к более
  • UIViews, Apple разработала несколько довольно приятных пользовательских приложений для своих приложений.
  • Лучшая абстракция UIWebKit

Ответ 8

Возможности, которые я вижу пропавшими без вести, должны иметь

  • Доступ к SMS
  • Прямой доступ к Google Maps App. У вас должен быть доступ к этому, чтобы вы могли расширить свое приложение, чтобы использовать встроенные функции, предоставляемые Google Maps.
  • Доступ к функциям Bluetooth телефона.
  • Доступ к календарю. Почему бы не разрешить доступ к простому сообщению календаря для пользователя.
  • Доступ к активной синхронизации. Было бы здорово, если бы мы могли напрямую получить доступ к этому и связаться с сервером Exchange.
  • Основное изображение. Они обеспечивают Core Animation, но Core Image отсутствует. Я надеюсь, что это скоро добавится в API.

Вот некоторые из функций, к которым у моих клиентов есть доступ в прошлом, и удивляются, когда они недоступны.

Ответ 9

Мы определенно пропускаем API-интерфейс календаря и доступ к SMS. Так много приложений могут использовать такие API. IPhone позволяет пользователям иметь все в своем кармане, но это почти бесполезно, пока разработчики не могут использовать эту интеграцию в своих приложениях.

Ответ 10

Язык с соответствующими пространствами имен.

Ответ 11

Ограничение, которое меня беспокоит, - это отсутствие доступа к системным функциям, для которых требуется root или setuid. Например: открытие привилегированных IP-портов.

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

Ответ 12

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

Некоторое представление о том, в каком направлении обращен пользователь. Я не могу поверить, что чип GPS, который использует новые iPhone, не способен сообщить направление.

Ответ 13

Мне бы очень понравилось видеть

  • Доступ к CoreTelephony Framework (в настоящее время частный). Это позволяет получить доступ ко всем функциям телефона (особенно для отправки MMS/SMS).
  • Некоторая способность запускать материал в фоновом режиме. Хотя push-уведомления одобрены для большинства вещей, но немного сложно использовать CoreLocation (т.е. Приложение показывает уведомление в определенном месте). Конечно, для этого, вероятно, понадобится кнопка включения/выключения или приложение, такое как push.

Ответ 14

анимационный вид, который будет уменьшать разработчика, чтобы сделать крутое приложение, конечно, основной бизнес-сайт по-прежнему нужно учитывать больше, но уровень представления может быть более простым в использовании....