4

My app has been rejected 2 times because its only a iPhone app, the second time i uploaded it i was pretty sure i had changed the build settings to iPhone only, but i guess not. On Targeted Device Family: I have iPhone, i guess that makes it iPhone/iPod Touch.

What if i want my app to work only on the iPhone, thats it. Apple called me on the phone, told me about the problem, and then i reuploaded it, i guess i didnt really fix the problem. can someone help me? Thanks, Jacob

ingh.am
  • 25,981
  • 43
  • 130
  • 177
Jacob
  • 1,459
  • 2
  • 19
  • 32
  • 2
    wow! you got Apple to actually CALL you? You must have done something right! Ive been rejected and got a simple "fix and try again email". – Louie Aug 15 '11 at 23:01
  • 1
    They call loads of people. If they don't phone you, you phone them if you want more information. – Benjamin Mayo Aug 15 '11 at 23:05
  • In the UK you can call 0844 209 1507 for developer support. Not worth it though... their email response is good enough usually. – ingh.am Aug 15 '11 at 23:12
  • 1
    Consider following [the App Stores proposal](http://area51.stackexchange.com/proposals/30702/app-stores) on Area 51. – Moshe Aug 15 '11 at 23:14

3 Answers3

2

Do you mean iPhone only application or iOS application which doesn't include iPad? Apple wouldn't reject an app if it was released on iPod Touch as well as iPhone (and I've seen examples where functionality doesn't even work on the iPod Touch but it was allowed through anyway).

I suspect that you have built the app for iPad at some point and then removed it, but not removed it properly? This would then create an iPad version which would do nothing when loading and that could be the rejection reason.

What exactly did Apple send you in their response email, they are usually very good with a reason for rejection.

ingh.am
  • 25,981
  • 43
  • 130
  • 177
  • In exact words: @"You app was reconsidered by the review board, but cannot be added to the app store because the function of Vibrating is only available on the iPhone and not the iPod touch and iPad, you have two chooses, either build the app only for the iPhone, or remove any references to Vibration in your app" – Jacob Aug 15 '11 at 23:01
  • The initial build never had anything on the iPad in it. the App when i created the project was for iPhone – Jacob Aug 15 '11 at 23:02
  • Why not run some code to find out if the device can vibrate or not. If you can't do this, maybe just find out if it's a iPhone or not. And then every time you call the vibration command, just make sure you check first if it has this capability. – ingh.am Aug 15 '11 at 23:08
  • But if i did that, then i would have to provide some function for the iPod Touch. – Jacob Aug 15 '11 at 23:08
  • What do you mean? The app would be the same, it just wouldn't vibrate. – ingh.am Aug 15 '11 at 23:10
  • if i ran code to check and see if there if vibration functionality, and lets say it was a iPod touch, it would come back that it doesnt. Then the app would render useless to the iPod touch still. – Jacob Aug 15 '11 at 23:11
  • Create a global variable boolean called canVibrate. Use that method to find out if the device can vibrate and set it to true or false accordingly. Then, whereever you are calling the code to tell the phone to vibrate, just wrap this around it: if(canVibrate) { /* code here */ } – ingh.am Aug 15 '11 at 23:14
  • I get i can do that, but my app revolves around vibrating (it's a very different vibrator, not the same dumb ones you see in the app store), if i do that, then it comes back a iPod (false) then my app would still in apples eyes be seen useless. – Jacob Aug 15 '11 at 23:17
  • Ah, well you didn't explain that did you! There definitely is a way to single out iPod touches, as Google+ is on iPhone only. Sorry, don't know how to do it though. (Unless it was in the plist). – ingh.am Aug 15 '11 at 23:19
  • Try setting UIRequiredDeviceCapabilities for something that only the iPhone has in info.plist. – ingh.am Aug 15 '11 at 23:20
  • 1
    Oh haha, sorry, thought you picked that up. I guess i have a idea that i can do instead, but your idea to check the device will come in handy – Jacob Aug 15 '11 at 23:21
  • No prob, let me know how it goes. – ingh.am Aug 15 '11 at 23:26
  • So i went with the UIRequiredDeviceCapabilities and used gps as the capability in the plist. The app wont run on my ipod anymore, it doesnt open, but does on my iPhone, so i hope this fixes it. Thanks for the help mate. – Jacob Aug 16 '11 at 00:45
  • Yea, that should do it. Just be wary that it may be seen as a hack. For example, if you were to have put down the camera capability two years ago, it would not have worked on a iPod - but would work on newer devices today. I think you'll be ok though. – ingh.am Aug 16 '11 at 07:53
2

Take a look at page 90 in the iOS Application Programming Guide provided by Apple on developer.apple.com

You can set a UIRequiredDeviceCapabilities key in your Info.plist file for telephony (I don't see one for vibration).

Since the iPod Touch doesn't have telephony capabilities this should restrict the app to iPhone only.

Tad Donaghe
  • 6,625
  • 1
  • 29
  • 64
0

To me, it sounds like you have have an app that relies on vibration and are supporting both the iPhone and iPod touch, which doesn't support vibration. You need to disable support for the iPod touch, and then Apple will accept your app.

Benjamin Mayo
  • 6,649
  • 2
  • 26
  • 25