Нил,
Да, как вы уже указывали, IOS Simulator не является 100% точной репликации операционной среды найденной в реальной IOS устройств - некоторые классы взаимодействий, которые зависят от специализированных аппаратные средства (камеры, гироскопы, магнитометры, аппаратные технологии шифрования и т. д.), естественно, неприемлемы в моделируемой среде. Другие классы взаимодействий, которые, казалось бы быть «программное обеспечение только» виды взаимодействий также запрещены Simulator (Push-уведомления, ICloud и т.д.) - это связано с несколько вещей:
- В отличие от физических устройств , вы не предоставляете iOS Simulator. Поскольку профили Provisioning Profiles включают права на эти сервисы Apple, для Simulator нет (текущего) способа понять, как подключиться к вашему конкретному приложению этих сервисов.
- Симулятор не имеет уникального идентификатора оборудования, поэтому соединения с вашего симулятора будут неотличимы от соединений на любом другом симуляторе разработчика.
И, наконец, существует класс взаимодействий, которые не соответствуют ни одному из исключений сверху, которые могут быть отнесены только к дизайнерским решениям, принятым Apple. Например, блокировка паролей может быть активирована пользователями устройств iOS с поддержкой безопасности ... или может быть применена ИТ-отделами посредством политик настройки мобильных устройств (через ActiveSync, MDM-серверы и т. Д.). Добавление только общих, не зависящая от ИТ-версия блокировки паролей, обеспечила бы четность контроля внутри симулятора, поскольку поддерживалось бы только поведение общего кода блокировки с использованием общего кода, оставляя пользователей MDM на холоде. Чтобы этого избежать, Apple должна была бы наделить Simulator знаниями, чтобы поддерживать профили .mobileconfiguration, подключаться и периодически проверять с серверами MDM (что требует уникальных идентификаторов оборудования), и в конечном итоге включать Mail.app в Simulator для подключения Exchange к быть настроен для принудительной настройки управляемых конфигураций ActiveSync.
Как вы можете видеть, относительно простая функция быстро распространяется на множество других элементов iOS, которые также необходимо моделировать. Принимая это к самому маловероятному, крайнему краю, Simulator станет полноправным программным iPhone, в котором вы получаете звонки и тексты, проверяете электронную почту и т. Д. Непосредственно с iPhone-интерфейса на OS X ... не опыт Apple хотелось бы, чтобы пользователи имели хотя бы те, кто являются их сторонними разработчиками.
Хотя есть некоторые взаимодействия, мы можем легко вывести обоснование их упущения с симулятора, только действительно знает, почему они решили исключить другие взаимодействия с Симулятора.
Итак, вернемся к вашим вопросам:
Является ли это симулятор конкретные ограничения?
Да, в настоящее время это не поддерживается в iOS Simulator с Xcode 4.6.2.
Могу ли я его преодолеть?
Насколько мне известно, нет.
Я действительно думаю, что ваш скрытый вопрос об установке сертификата в симуляторе - это то, что вы можете что-то сделать. Фактически, я установил самозаверяющий центр сертификации в свой симулятор, чтобы провести некоторое тестирование безопасности 2 месяца назад в значительной степени основывался на некоторых работах, представленных разработчиками Charles web proxy.
Если вы загружаете свои сценарии оболочки, вы можете увидеть, как они ввели самозаверяющие сертификаты в хранилище ключей Simulator - если ваша конечная цель - установить сертификат, вы можете применить аналогичный процесс к своему собственному сертификату ,
Обязательно создайте резервную копию хранилища ключей по умолчанию; Было бы очень просто случайно разбить двоичные данные в этом файле и сделать ваш симулятор бесполезным для всех SSL-соединений.
Как это неясно понятно, это не поддерживается в iOS Simulator - настраивайте Simulator на свой страх и риск.
Удачи, и если все остальное не удается, нажмите приложение на устройство, где вы можете определенно установить сертификат.