How to fix – “LSLaunchProhibited Info.plist key is unsupported on Mac”

I don’t do a lot of iOS development but I do have a sticker pack and an app in the app store. I recently got an email from Apple developer support with the following message about my sticker pack:

Compatible iOS and iPadOS apps will automatically appear on the Mac App Store when the first Apple silicon Macs become available this year. However, we noticed the following issues with one or more of your apps that are opted in to appear.

The following apps will not be made available on Mac until a new version addressing these issues is submitted.

These apps contain the LSLaunchProhibited Info.plist key, which is unsupported on Mac:

I wasn’t quite sure what that meant and the email didn’t really give any indication as to how to fix it. A quick google search only came up with one single result, a forum post on Apple developer forums by someone trying to find an answer to the same question! :)

After having a quick look around in Xcode I *think* I’ve found the answer to the issue. Basically with the new Apple silicon Macs that have been announced it will be possible to run iOS apps on Mac and by default all iOS apps will be included in the Mac App Store. It is possible to specifically opt-out of having your app in the store but by default it will be included, so in this case the message relates to the fact that my sticker pack isn’t currently set to be available on Mac, only iPhone and iPad.

To resolve this you need to go to the sticker pack extension file of your Xcode project, under the “General” tab there should be a “Deployment Info” section. In there you can set whether it will work on iPhone and iPad, and if you’re running the latest version of Xcode there should also be a “Mac” checkbox. Checking that box will make the sticker pack available for Mac. Once that is done and a new build submitted to the app store this should then resolve this issue.

How to fix “unable to boot device because it cannot be located on disk” in Xcode 9

I have recently been doing some development using the Xcode 9.2 Beta, but when it came to pushing the app to iTunes Connect I made the switch to the final release version of Xcode 9.2. In the process I ran various clean up tools to remove the beta version and related files etc.

However, after downloading and installing the release version of Xcode 9.2 and trying to test using the Simulator I encountered the error:

unable to boot device because it cannot be located on disk

This error also included a link to a location within simulator files which obviously is no longer there due to the clean up process I had used. I tried a few options but eventually found a series of commands that clean this up and fixed the problem for me. Make sure to quite Xcode and the Simulator app first and then run these commands in Terminal:

sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService
rm -rf ~/Library/Developer/CoreSimulator
rm -rf ~/Library/Developer/XCPGDevices

Hopefully after running them and starting Xcode the Simulator devices should all be functional again. Please note that if you have done any custom devices within your Simulator device list then these will have been deleted and the list reset to the default list of devices.