2016-12-01 2 views
2

Я только что понял, что Apple теперь позволяет разработчикам создавать приложения iMessage. Кто-нибудь знает, сколько может сделать приложение iMessage (или расширение)? Например:Каковы мои ограничения в приложениях iMessage от Apple?

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

Скажем, я хочу, чтобы сделать расширение, которое читает то, что пользователь ввел (в обычном интерфейсе Messages), выглядит для любого арифметического в тексте, выполняет арифметические операции, то субмарины в ответ, и посылает сообщение , все одним щелчком мыши. Это возможно?

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

+0

На Developer Страницы Шеззад компании Apple есть ссылки на сообщения Рамочная документация, видео WWDC, форумы разработчиков и примеры приложений. Я предлагаю вам посмотреть видео и просмотреть документацию в качестве первого шага. Ссылка на документы: https://developer.apple.com/imessage/ –

ответ

3

Новая система сообщений от Apple довольно ограничена и на данный момент не позволяет никому из вещей, о которых вы говорите. Пользователь всегда должен должен нажать кнопку отправки, вы не можете отправить сообщение без окончательного действия пользователя. Вы также не можете видеть какие-либо другие сообщения в разговоре, кроме тех, которые ваше приложение отправило в определенный объект MSConversation. Кроме того, невозможно увидеть текст, введенный пользователем в поле сообщения, все, что вы можете сделать, это вставить свой собственный текст, вложение или объект MSMessage.

Единственное, что возможно, это увидеть, кто является частью разговора. Messages.framework не позволит вам увидеть какие-либо имена, но вы можете использовать remoteParticipantIdentifiers, чтобы узнать, кто еще находится в разговоре, или использовать localParticipantIdentifier, чтобы получить информацию о пользователе, который использует ваше приложение, чтобы отправить сообщение. В то время как ваше приложение не может видеть имя, вы можете использовать его в этикетке на вашем объекте MSMessage см следующего кода, взятый из this twocentstudios tutorial:

let layout = MSMessageTemplateLayout() 
layout.caption = "My name is $\(conversation.localParticipantIdentifer.uuidString)." 
conversation.insert(message, localizedChangeDescription: nil) 
+1

Спасибо! Моя идея зависит от того, что пользователь набирает сейчас, поэтому я полагаю, что мой единственный вариант - сделать мой собственный вид идентичным стандартной клавиатуре сообщений. Это должно заставить пользователя чувствовать себя как дома, позволяя мне собирать текст. Требование того, чтобы пользовательский тип отправки набрал для пользователя простоту, но я думаю, что могу что-то придумать. Еще раз спасибо! – Sanders0492

Смежные вопросы