xcodeprovisioning-profileapp-idslcomposeviewcontrollerios-extensions

Share extension working on simulator but not on device


I have a share-extension bounded with my app. I have all the required app-ids and provisioning-profiles related to the extension, for both development and distribution. When I run the extension in the simulator, it works perfectly fine. On device (i.e. iPhone 6), for example, when choose my app's share extension within Safari, Safari freezes and nothing opens. I cannot even debug it, not because that I don't know how to do it but because it runs and immediately stops running afterwards on Xcode.

I think that something might be wrong with the provisioning-profiles or app-ids or it might be a bug or a 'missing functionality prior to distribution' caused by Apple.

I would very much appreciate it if someone has any solution to or explanation about it.

EDIT:

I changed the background-color of the extension's view on storyboard to see if it does not work at all. It does open, but SLComposeServiceViewController did not show up. Thus, the problem must be caused by it.


Solution

  • I finally solved my problem. It was not a provisioning-profile nor an app-id issue. I had written

    override func viewDidAppear(animated: Bool) {}

    method in the SLComposeServiceViewController class. It turns out that the only culprit was this method. I removed that and the share extension worked perfectly.