問題タブ [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.

0 投票する
3 に答える
1648 参照

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:

1Exp 2Exp


Compact Presentation Style:

1Comp 2Comp

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?

0 投票する
0 に答える
522 参照

ios - iOS 10 メッセージ拡張機能で CKSubscription を使用するにはどうすればよいですか?

iOS 10 で導入されたメッセージ拡張機能は、(私の知る限り) ホスト アプリケーションを必要としない最初の拡張機能です。ホスト アプリを持たないメッセージ拡張機能で CloudKit を使用しようとしています。

私が知る限りCKSubscription、プッシュ通知に依存しています。UIApplicationただし、アプリの拡張機能で通常の方法 (経由) でプッシュ通知に登録することはできません。

CKSubscriptionつまり、メッセージ アプリで通知を受け取ることは一見不可能です。新しい に望みはありましたUserNotifications.frameworkが、リモート通知を登録するためのメカニズムは提供されていません。私は試した:

しかし、私の対象であるレコードを更新すると、CKSubscription通知はユーザーに表示されず、代理人にも通知されません。

これが私のCKSubscriptionコードです:

CKSubscriptionメッセージ拡張機能で通知 を受け取るにはどうすればよいですか?


ユーザーに通知を表示する必要さえありませんし、バックグラウンドで通知を受け取る必要もありません。拡張機能の実行中にレコードがいつ更新されるかを知りたいだけです。

これを行う別の方法がある場合は、CKSubscriptionぜひ聞きたいです (CloudKit を絶えずポーリングしない限り、貴重な 40 リクエスト/秒を無駄にします)。

物理デバイスとシミュレーターの両方で試しました。

0 投票する
1 に答える
2183 参照

swift - iOS 10のiMessageアプリで画像とキャプション付きのオーディオファイルを送信するには?

iMessage アプリを作成して、オーディオまたはビデオ ファイルを他のユーザーに送信しようとしています。

ビデオ ファイルは正常に動作しますが、オーディオ ファイルでは期待どおりに動作しません。

私の現在のコードは次のとおりです。

layout.mediaFileURL = destinationURLメッセージにファイルを追加していないようです。

上記のコードでファイルを送信しようとすると、次のようになります。

ここに画像の説明を入力

問題ないように見えますが、再生するオーディオはありませんが、この方法を試してみると:

上記のコードの結果は次のとおりです。

ここに画像の説明を入力

そこにあるので、そのメッセージの音声を再生できます。しかし、そのメッセージの問題は、画像やキャプションを添付できないことです。

画像と音声ファイルを同じメッセージに添付するにはどうすればよいですか。

可能であれば、画像の代わりに GIF を追加できますか?

どんな助けでも大歓迎です、ありがとう。

0 投票する
1 に答える
983 参照

ios - メッセージ拡張機能の UUID で奇妙なことが起こっている

ゲームであるこのメッセージ拡張機能を作成しています。

会話を受信するdidBecomeActiveWithConversationと、自分の UUID と対戦相手の UUID を取得します。次に例を示します。

この時点でこれを印刷すると、次のようなものが得られます

次に、ゲーム内で動き、相手に送信します。

シミュレーターで「Kate」から「John Appleseed」に切り替えます。

メソッドdidBecomeActiveWithConversationが再びトリガーされると、今度は他のユーザーのために、両方の UUID を再度取得します。結果は次のとおりです。

何?myUUIDは以前と同じで相手のUUIDが全然違う?? メッセージでユーザーを切り替えることで、エントリが元に戻ることを期待していました。それはどうしてですか?バグ?

0 投票する
2 に答える
523 参照

swift - InsertAttachment withAlternateFilename が iOS 10 で機能しない

ドキュメントに従って:

それが言うところ

filename ---> ここに文字列を指定すると、メッセージ UI はそれを添付ファイルとして使用します。別のファイル名を使用して、添付ファイルをより適切に説明したり、名前を読みやすくしたりします。

そして私のコードは次のとおりです。

しかし、メッセージアプリのどこにも表示されません。

ここにビデオファイルを送信しています。

ユーザーがメッセージまたは可能であればその下をクリックしたときに、ナビゲーションバーのタイトルにその説明を表示したいと思いますMSMessage

0 投票する
6 に答える
4012 参照

ios - Swift 3 iMessage 拡張機能で URL が開かない

iOS アプリケーション iMessage 拡張機能を作成しています。

Example by Appleに従って、提供されたロジックに従ってメッセージを作成します

また

私が理解している限りでは、メッセージが送信された後、クリックすると Safari ブラウザを開く必要があります。

送信されたメッセージをクリックすると、MessageViewControllerサファリや別のアプリを開かずに、画面全体に画面が表示されます。

問題はどこだ?必要な機能を実現するにはどうすればよいですか?

0 投票する
1 に答える
195 参照

app-store - アプリ ストアでスタンドアロン メッセージ拡張機能をリリースする場合、iOS アプリのスクリーンショットは必要ですか?

アプリ ストアでスタンドアロンの iOS メッセージ拡張機能をリリースしています。これは、それに付随する iOS アプリがないことを意味します。iOS アプリのスクリーンショットを含める必要がありますか?それとも、メッセージ拡張機能のスクリーンショットを追加するだけでよいですか?

ありがとう

0 投票する
1 に答える
152 参照

ios - 実際、localParticipantIdentifier は誰ですか?

このインタラクティブ メッセージ アプリを作成しています。

メッセージを作成して反対側に送信し、次のコマンドを使用するたびに:

相手の名前はわかります。

たとえば、 を使用してシミュレーターを使用していて、 にKateメッセージを送信するJohn Appleseedと、メッセージはサブキャプション付きで送信され、John Appleseedその逆も同様です。つまりJohn Appleseed、自分の名前でメッセージを受信し、これも同様ですKate

localParticipantIdentifierメッセージの送信者ではないでしょうか。

0 投票する
1 に答える
349 参照

ios - iOS 10 メッセージ拡張機能 - シミュレーターでの didRecieve() および selectedMessage の実​​装

iOS 10 拡張機能内でストーリーボード セグエをトリガーする didRecieve() を実装しようとしています。ストーリーボードを使用すると、次のコードを使用してメッセージを作成した後にセグエをトリガーできます。

これはうまくいきます。作成後に i メッセージを使用してメッセージを送信できます。メッセージを送信した人のセグエをトリガーする IPhone シミュレーターによって受信されます。

他の人のスレッドでメッセージを選択したいときに問題が発生します。Apple は、拡張機能を使用したユーザー間のメッセージの送受信をテストするために、シミュレーターに 2 つの相互接続されたメッセージ スレッドを含めています。

受信したスレッドでメッセージを選択すると、セグエがトリガーされません。ルートView Controllerの新しいコピーをロードするだけです。

私が望む動作は、特定のメッセージ インスタンスの受信情報を取得し、このデータを使用してセグエをトリガーすることです。Apple は、これを実現するために次のインスタンス プロパティを提供しています。

API ドキュメントの selectedMessage を参照してください: https://developer.apple.com/reference/messages/msconversation/1648186-selectedmessage

問題は、このインスタンス プロパティがどのように実装されているかです。メッセージ拡張機能のルート ビュー コントローラーの onViewDidLoad() に実装されていますか? Apple のドキュメントは、インスタンス プロパティを実際に実装して、メッセージ拡張機能の受信側で選択したメッセージから受信メッセージ データをスクープする方法についてかなりあいまいです。誰かがこれを実装しましたか?

ありがとう!!

0 投票する
0 に答える
174 参照

ios - selectedMessage() は、メッセージ拡張機能を使用したシミュレーターのメッセージ選択でトリガーされません

メッセージ拡張機能を使用して、メッセージの選択時にメッセージ コンテンツ固有のセグエをトリガーしようとしています。次の関数オーバーライドを使用しています。

この関数は、送信後に選択されたメッセージを元のメッセージに記録します。ただし、シミュレーターで受信者スレッドに変更してメッセージを選択すると、didSelect()オーバーライドがトリガーされません。

さらに、この後に元のトランスクリプトに戻った場合、didSelect()オーバーライドもトリガーされません。

このオーバーライドは、コンテキストに関係なく、メッセージを選択するたびにトリガーする必要があるという印象を受けました。

API ドキュメント: https://developer.apple.com/reference/messages/msmessagesappviewcontroller/1833298-didselect

皆さんありがとう!!