How do you build an iPad only game?

I need to build my iOS game for iPad only.

I tried putting the following key in the Info.plist file: UIDeviceFamily ; with a Number value of 2; but the app is still marked as a Universal app after being packaged.

I also tried changing Build Settings in Xcode, but with no luck:

The UI for the game is not designed for iPhone or iPod touch; and having to redesign the UI is out of the question at this point. Does anyone know how to explicitly mark a build to be run on the iPad ONLY?

Thanks in advance for any help you can offer.

That sounds like a bug. I’ll see if I can figure out what the problem is.

-Pete

Thank you! Any help is much appreciated.

We don’t do anything to set the UIDeviceFamily key in our Info.plist, but when we generate the xcodeproj file we do always set it to universal. During the final merge of the game Info.plist and the generated one from the Xcode build, we don’t update that key at all, so this is definitely a bug on our side. I will be fixing this for the next release. Unfortunately, the only workaround I have at this point is to build your game first, then in the Game/Build/IOS/Payload directory open up the game app and in there edit the Info.plist to include just the device you want. Then run the rest of the packaging steps (cook, stage, and package and yes, this is a horrible workaround, sorry).

-Pete

Thank you for the response, and the workaround. My studio decided to put in the extra work to build our UI to work on iPhone and iPod touch; in any case it’ll widen our audience.

I do have a question though, is the MinimumOSVersion key also not updated? I changed that value to 7.0, and the built IPA ran on an iPhone running iOS 6.0.1.

I also successfully edited the Info.plist file after the entire build process was complete by unzipping the built IPA, modifying Info.plist, then resigning the file through the Terminal and rezipping it up through Terminal. That worked pretty well, provided you don’t mind messing around in the Terminal.

But yeah, it’d be super nice to be able to set these things in the Editor, instead of having to do workarounds.

Meant to reply to this sooner; although I could edit the Info.plist after the build process and resign the app through the Terminal, there were issues. This process worked for creating an app signed with an AdHoc Distro Certificate and that signed app ran on device without issues. However, when I did the same process with an App Store Distro Certificate, when I tried to upload the app through Application Loader for App Store Submission, there was an issue with the app’s entitlements missing.

I ended up building the app as a Universal app, and we published it that way (after building a UI scaling solution, but that’s a whole other post…).

[;139803]
Meant to reply to this sooner; although I could edit the Info.plist after the build process and resign the app through the Terminal, there were issues. This process worked for creating an app signed with an AdHoc Distro Certificate and that signed app ran on device without issues. However, when I did the same process with an App Store Distro Certificate, when I tried to upload the app through Application Loader for App Store Submission, there was an issue with the app’s entitlements missing.

I ended up building the app as a Universal app, and we published it that way (after building a UI scaling solution, but that’s a whole other post…).
[/QUOTE]

Curious to why the AdHoc and App Store were at odds… Possibly something set up in the App at the itunesconnect level?

A quick Google search turned up that the issue may have been related to the App Store Distribution profile not having the correct entitlements indicated. Either that, or something happened during the resigning process. The app was failing the static analysis Apple does when uploading an app through Application Loader. I’ll have to look over my process for resigning through Terminal; I may have missed a step…

In any case, the game ended up being able to run on a wider range of iOS devices; a bigger possible audience isn’t a bad thing.