Container App for iMessages App

If I undertood correctly, iMessage apps can have a container App that users can access through the springboard like any normal app. But I'm not able to get this to work on Xcode.


If I create a project using the iMessage Application template, what should I do the add the container app? Adding another target with the Single View Application template creates a new app.. btw.. I'm a Xcode/iOS dev newbie so please bear with me.

Accepted Reply

Good question, for new folks not familiar with Xcode and projects this can easily trip you up.


If you create a new project and select iMessage App or Sticker Pack Application, then you are creating a project that will generate an iMessage App that is standalone and does not have a parent app shown on the home screen.


To do what you want, you would create new iOS app choosing one of the other new project templates (e.g. Single View Application), and then once you have that parent app project, you would do File > New > Target... and then choose to add an iMessage App or Sticker Pack. That would add a new "target" to the parent application that would build the iMessage app. This is similar to how you would add various types of extensions to an app, like a share extension, today widget, or photo editing extension.


Hope that helps.

Replies

Good question, for new folks not familiar with Xcode and projects this can easily trip you up.


If you create a new project and select iMessage App or Sticker Pack Application, then you are creating a project that will generate an iMessage App that is standalone and does not have a parent app shown on the home screen.


To do what you want, you would create new iOS app choosing one of the other new project templates (e.g. Single View Application), and then once you have that parent app project, you would do File > New > Target... and then choose to add an iMessage App or Sticker Pack. That would add a new "target" to the parent application that would build the iMessage app. This is similar to how you would add various types of extensions to an app, like a share extension, today widget, or photo editing extension.


Hope that helps.

One more question on this topic—how do we submit the container app with the iMessage extension inside it to Testflight? I tried archiving the app target and uploading to Testflight, but can't find the extension available in iMessage.

+1 I have the same problem.


I added new target to existing app. It works in the simulator. But I have no idea how to submit existing app with iMessage extension.


Now I have 3 targets: old app target, empty "Messsage" and "MessageExtension".


When I archive old target, it doesn't include my MessageExtension. When I try to archive "Message" target it doesn't work at all.


Please help. I spent lot of time searching for solution.


Thanks

(english is not my native language, so sorry for mistakes)

Kiniu,


did you figure this out? I am having the same issues. whenever you had an extension to an existing project it has a different bundle id so I don't understand how it will associate the two as together?


I've posted a question regarding this here https://forums.developer.apple.com/message/191814#191814

The key I was missing was pointed out by @d_theory in this link https://forums.developer.apple.com/message/156617#156617

You must add the messages extension as an embedded binary to your main app - this can be done in the target(main app) -> general settings