Как открыть приложение «Контакты» Swift

Есть ли URL для открытия приложения контактов из моего приложения? Я знаю, что вы можете добиться этого с помощью приложения настроек, используя константу UIApplicationOpenSettingsURLString в Swift; однако я не был уверен, смогу ли я сделать то же самое с приложением «Контакты».


person Harish    schedule 15.10.2017    source источник


Ответы (2)


Отсутствует глубокая ссылка для открытия приложения «Контакты».

Apple очень разборчива, когда дело доходит до глубоких ссылок. Они должны предоставить его для настроек, поскольку многим приложениям требуются такие услуги, как данные, местоположение, Bluetooth, Wi-Fi и т. д. К сожалению, они не распространяются на приложение «Контакты».

Однако, если вашему приложению требуется контактная информация, для этого Apple предоставила структуру контактов для просмотра ваших контактов в самом приложении.

Подробнее об этом читайте здесь.

Чтобы добавлять/обновлять/удалять/объединять контакты непосредственно из вашего приложения без использования пользовательского интерфейса Apple Contact, используйте CNSaveRequest API. Подробнее об этом здесь.

person NSAdi    schedule 16.10.2017
comment
Да, единственная проблема заключается в том, что мы хотим, чтобы пользователи могли также редактировать контактную информацию, что, я думаю, невозможно сделать через пользовательский интерфейс по умолчанию. - person Harish; 16.10.2017
comment
О, то, как вы сформулировали вопрос, заставило меня подумать, что вы хотите получить доступ к родному интерфейсу контактов. В любом случае, если вы просто хотите отредактировать контактную информацию, вы можете использовать API-интерфейсы CNSaveRequest для прямого добавления/обновления/удаления контактов без использования собственного интерфейса. Пожалуйста, проверьте последнее редактирование ответа. - person NSAdi; 16.10.2017
comment
Я действительно хотел получить доступ к собственному контактному интерфейсу, но, поскольку нет способа получить к нему доступ, я надеялся, что в структуре ContactsUI могут быть некоторые API-интерфейсы, обеспечивающие интерфейс по умолчанию для редактирования контактов, однако структура пользовательского интерфейса контактов выглядит ограниченной только выбором контактов. поэтому мне, возможно, придется создать свой собственный интерфейс :( - person Harish; 16.10.2017
comment
Ааа, теперь я следую за тобой. Посмотрите на структуру ContactsUI. Он поддерживает... отображение, редактирование, выбор и создание контактов в вашем приложении. Проверьте CNContactViewController для собственной карточки контакта. - person NSAdi; 16.10.2017
comment
но знаете ли вы, какую часть фреймворка я бы использовал? Я проверил документы, и все, что я мог видеть, это контроллер представления для выбора контактов и контроллер представления для простого отображения одного контакта :(. Я ничего не видел для выбора и последующего редактирования контакта. - person Harish; 16.10.2017
comment
Используйте CNContactPickerViewController для выбора контакта. Как только пользователь сделает это, вы должны получить обратный вызов делегата, используйте его, чтобы получить выбранный контакт и сохранить его где-нибудь. Затем используйте этот контакт для инициализации CNContactViewController. Наконец, установите свойства (например, редактируемые) в соответствии с вашими требованиями, а затем представьте этот ViewController. - person NSAdi; 16.10.2017

Самое близкое к открытию контакта — это написать ему сообщение в IMessage. На этом экране пользователь может нажать значок контакта и открыть страницу контакта для этого конкретного контакта.

Вы можете сделать это, открыв URL-адрес sms://+44776382223, где число — это номер человека, контакты которого вы хотите просмотреть.

person Harry    schedule 26.01.2018