问题标签 [ios-messages-extension]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
autolayout - iOS 10 Messages Extension - Wrong Layout when using Storyboard Segue
When using Segues in Messages Extension Application the layout gets messed up.
Is there any way to solve this issue while still using storrybord segues?
Screenshots:
(Note: The first and second View / ViewController are identical. The segue-type doesn't matter)
Expanded Presentation Style:
Compact Presentation Style:
Update 1:
The top and bottom layout guides reset after a segue
- compact:
- top: should be: 0 but is: 20
- bottom: should be: 44 but is: 0
- expanded:
- top: should be: 86 but is: 20
- bottom: should be: 44 but is: 0
P.S. Can someone create a new "messages-extension" tag?
ios - 如何在 iOS 10 消息扩展中使用 CKSubscription?
iOS 10 引入了消息扩展,这是第一个(据我所知)不需要主机应用程序的扩展。我正在尝试在没有主机应用程序的消息扩展中使用 CloudKit。
据我所知,CKSubscription
依赖于推送通知。但是,我无法UIApplication
在应用程序扩展中以通常的方式(通过)注册推送通知:
CKSubscription
这意味着在消息应用程序中接收通知似乎是不可能的。我确实在 new 中找到了希望UserNotifications.framework
,但它没有提供任何注册远程通知的机制。我试过了:
但是,当我更新作为 my 主题的记录时CKSubscription
,不会向用户显示任何通知,也不会通知委托人。
这是我的CKSubscription
代码:
如何CKSubscription
在消息扩展中获得通知?
我什至不需要向用户显示通知,也不需要在后台接收它们。我只想知道在我的扩展程序运行时记录何时更新。
如果除了我也愿意听到之外还有其他方法可以做到这一点CKSubscription
(只要它不会不断地轮询 CloudKit,浪费我宝贵的 40 个请求/秒)。
我在物理设备和模拟器上都试过了。
ios - 消息扩展上的 UUID 发生的奇怪事情
我正在创建这个消息扩展,它是一个游戏。
当我收到关于didBecomeActiveWithConversation
我的 UUID 和对手的 UUID 的对话时,例如:
在这一点上,如果我打印这个,我会得到类似的东西
然后我在游戏中移动并发送给对手。
在模拟器上,我从“Kate”切换到“John Appleseed”。
当该方法didBecomeActiveWithConversation
再次触发时,现在对于另一个用户,我再次获取两个 UUID。这是结果:
什么?myUUID 和以前一样,而我的对手UUID 完全不同??通过在消息上切换用户,我希望看到条目被还原。怎么可能?漏洞?
swift - 带有备用文件名的插入附件在 iOS 10 中不起作用
根据文档:
它说的地方
文件名 ---> 如果您在此处提供字符串,则消息 UI 将其用于附件。使用备用文件名来更好地描述附件或使名称更具可读性。
我的代码是:
但它没有显示在消息应用程序的任何地方。
我在这里发送视频文件。
当用户单击消息时,我想在导航栏标题上显示该描述或在MSMessage
可能的情况下显示该描述。
ios - Swift 3 iMessage 扩展不打开 URL
我正在创建一个 iOS 应用程序 iMessage 扩展。
根据Apple 的示例,我根据提供的逻辑创建了一条消息
还
和
据我了解,发送消息后,单击时应打开 Safari 浏览器。
当我单击已发送的消息时,MessageViewController
屏幕会出现在整个屏幕中,而无需打开 safari 或其他应用程序。
问题出在哪里?如何实现所需的功能?
app-store - 在应用商店发布独立消息扩展时,我需要 iOS 应用截图吗?
我在应用商店发布了一个独立的 iOS 消息扩展,这意味着没有 iOS 应用与之配套。我是否必须包含 iOS 应用程序的屏幕截图,或者我可以只添加消息扩展的屏幕截图吗?
谢谢
ios - 谁实际上是 localParticipantIdentifier?
我正在创建这个交互式消息应用程序。
每次我撰写消息并发送到另一端并使用此命令时:
我知道对方的名字。
例如,如果我在模拟器上使用Kate
并且我向 发送消息John Appleseed
,则消息与子标题一起发送,John Appleseed
反之亦然。换句话说:John Appleseed
收到一条带有他自己名字的消息,这也是如此Kate
。
不应该localParticipantIdentifier
是发送消息的人吗?
ios - iOS 10 消息扩展 - 在模拟器中实现 didRecieve() 和 selectedMessage
我正在尝试实现 didRecieve() 以触发 iOS 10 扩展内的故事板转场。使用情节提要,我可以在使用以下代码创建消息后触发转场:
这很好用。我可以在创建后使用 i message 发送消息,并且由 iPhone 模拟器接收,触发发送消息的人的 segue。
当我想在其他人线程中选择消息时,麻烦就来了。Apple 在模拟器中包含两个相互连接的消息线程,用于测试使用您的扩展在用户之间发送和接收消息。
当我在收到的线程中选择消息时,不会触发 segue。它只是加载根视图控制器的新副本。
我想要的行为是获取特定消息实例的接收信息,并使用此数据触发 segue。Apple 提供了以下实例属性来实现这一点。
在此处参考 API 文档中的 selectedMessage:https ://developer.apple.com/reference/messages/msconversation/1648186-selectedmessage
问题是这个实例属性是如何实现的?它是否在您的消息扩展的根视图控制器的 onViewDidLoad() 中实现?Apple 的文档对于如何实际实现实例属性以从消息扩展接收端的选定消息中提取接收到的消息数据非常模糊。有没有人实施过这个?
谢谢!!
ios - 在带有消息扩展的模拟器中的消息选择上不会触发 selectedMessage()
我正在尝试使用我的消息扩展在消息选择上触发消息内容特定的 segue。我正在使用以下函数覆盖:
此功能在发送后将所选消息记录在原始消息中。但是,当我在模拟器中更改为收件人线程并选择消息时,didSelect()
不会触发我的覆盖。
此外,如果我在此之后返回原始记录,didSelect()
也不会触发覆盖。
我的印象是,无论上下文如何,此覆盖都应在每个消息选择上触发。
API 文档:https ://developer.apple.com/reference/messages/msmessagesappviewcontroller/1833298-didselect
谢谢大家!!