Associate iOS app with iMessage extension

I am trying to deploy an app that has an iOS App component and an iMessage Extension component. Ideally a user purchasing/downloading either would get them both.

This iMessage Extension is not a Sticker Pack - it is an app that exposes the behavior of the iOS app, but from within Messages.

There is scant information about how to accomplish this. The only thing I've found is this thread: https://developer.apple.com/forums/thread/61482

I've tried varying combinations of bundle IDs to let Xcode know that the iOS app is the "parent" app and the iMessages extension is the "child". For example, this doesn't seem to work:

  • iOS App bundle id: com.mycompany.appname
  • iMessages App extension bundle id: com.mycompany.appname.messages

Both targets are in the same Xcode project.

Any advice? Thanks in advance!

-Tim

Answered by projectbox in 748712022

In case anyone comes looking for an answer, turns out the solution was a combination of the bundle naming AND adding the iMessage Extension to the "Frameworks, Libraries, and Embedded Content". So, you need to do this:

  • iOS App bundle id: com.mycompany.appname
  • iMessages App extension bundle id: com.mycompany.appname.messages

And this:

In the Project Navigator, click on the project (the root group with the same name as your app). Select the General Tab and scroll down to the Frameworks, Libraries, and Embedded Content section. Click the + sign and then select the MessagesExtension.appex to add it to the main project. Once added, choose "Embed without signing" option.

Cheers!

-Tim

Accepted Answer

In case anyone comes looking for an answer, turns out the solution was a combination of the bundle naming AND adding the iMessage Extension to the "Frameworks, Libraries, and Embedded Content". So, you need to do this:

  • iOS App bundle id: com.mycompany.appname
  • iMessages App extension bundle id: com.mycompany.appname.messages

And this:

In the Project Navigator, click on the project (the root group with the same name as your app). Select the General Tab and scroll down to the Frameworks, Libraries, and Embedded Content section. Click the + sign and then select the MessagesExtension.appex to add it to the main project. Once added, choose "Embed without signing" option.

Cheers!

-Tim

Associate iOS app with iMessage extension
 
 
Q