If MFMessageComposeViewController
calls the Messages App (as stated in the documentation, then I would expect Messages App
would need to be specified under the Required device capabilities
key in the info.plist file?
On iPhone, specifying Messages App
as a required capability isn't an issue. However on iPad, specifying Messages App
as a required capability causes conflict resulting in the following error:
Unable to install “MessageTest”
Domain: com.apple.platform.iphoneos
Code: -1
Recovery Suggestion: “MessageTest” requires the “sms” capability which is not supported by Jon's iPad
... even though this should be fine on an iPad as it can send iMessages via the Messages App. NOTE: SMS
used to be a separate value under the Required device capabilities
key, but is no longer there.
I have removed Messages App
from the Required device capabilities
key in the info.plist and the app installs on iPad, the MFMessageComposeViewController.canSendText()
method returns true, and an iMessage can be sent. However, messaging is a critical capability of the app, so I don't want folks installing it and being disappointed (if for some reason messaging is not available on their device).
The following stack overflow posts don't answer the question.
MFMessageComposeViewController doesn't send out the message
Should I require sms capabilities in the info-plist?
The app is rather useless without messaging capability (if any user installs it and can't send a message then they will complain) but I don't see why I should exclude iPad users.
Should the Required device capabilities
key in the info.plist specify Messages App
or not?