App rejected App store

Hello all.

I submitted my app for a bugfix and it came back to me after review with

Guideline 2.1 - Performance - App Completeness

After some search I found some post but without any answers and updates from owner.

My app is an ionic 3 app. Issue occures when double clicking on an input with ipad Air 2. I am not able to reproduce the issue on my iphone 6s.

Does anyone faced this issue?

Last Exception Backtrace:
0   CoreFoundation                  0x184437164 __exceptionPreprocess + 124
1   libobjc.A.dylib                 0x183680528 objc_exception_throw + 55
2   CoreFoundation                  0x184444628 -[NSObject+ 1377832 (NSObject) doesNotRecognizeSelector:] + 139
3   UIKit                           0x18ddb2188 -[UIResponder doesNotRecognizeSelector:] + 295
4   CoreFoundation                  0x18443c81c ___forwarding___ + 623
5   CoreFoundation                  0x184321ccc _CF_forwarding_prep_0 + 91
6   UIKit                           0x18de577c8 -[UIKeyboardImpl handleKeyCommand:repeatOkay:beforePublicKeyCommands:] + 3911
7   UIKit                           0x18db8fbe8 -[UIKeyboardImpl handleKeyEvent:executionContext:] + 1255
8   UIKit                           0x18e6b5fac -[UIKeyboardTaskEntry execute:] + 191
9   UIKit                           0x18da1b5f0 -[UIKeyboardTaskQueue continueExecutionOnMainThread] + 383
10  UIKit                           0x18db8f6c4 -[UIKeyboardImpl handleKeyEvent:] + 207
11  CoreFoundation                  0x18443ead0 __invoking___ + 143
12  CoreFoundation                  0x18431d36c -[NSInvocation invoke] + 291
13  UIKit                           0x18e328ef0 -[UIRepeatedAction invoke] + 311
14  UIKit                           0x18e328f38 -[UIRepeatedAction _preInvocationTimerFire] + 27
15  UIKit                           0x18db8ed0c -[UIApplication _handleKeyUIEvent:] + 2119
16  UIKit                           0x18ddb3790 -[UIResponder _handleKeyUIEvent:] + 79
17  UIKit                           0x18ddb3790 -[UIResponder _handleKeyUIEvent:] + 79
18  UIKit                           0x18ddb3790 -[UIResponder _handleKeyUIEvent:] + 79
19  UIKit                           0x18ddb3790 -[UIResponder _handleKeyUIEvent:] + 79
20  UIKit                           0x18ddb3790 -[UIResponder _handleKeyUIEvent:] + 79
21  UIKit                           0x18ddb3790 -[UIResponder _handleKeyUIEvent:] + 79
22  UIKit                           0x18db8e4a8 -[UIApplication handleKeyUIEvent:] + 107
23  UIKit                           0x18dc6b700 -[UIApplication handleKeyHIDEvent:] + 703
24  UIKit                           0x18e346e20 __dispatchPreprocessedEventFromEventQueue + 1103
25  UIKit                           0x18e349898 __handleEventQueueInternal + 4759
26  UIKit                           0x18e3427b0 __handleHIDEventFetcherDrain + 151
27  CoreFoundation                  0x1843df77c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 23
28  CoreFoundation                  0x1843df6fc __CFRunLoopDoSource0 + 87
29  CoreFoundation                  0x1843def84 __CFRunLoopDoSources0 + 203
30  CoreFoundation                  0x1843dcb5c __CFRunLoopRun + 1047
31  CoreFoundation                  0x1842fcc58 CFRunLoopRunSpecific + 435
32  GraphicsServices                0x1861a8f84 GSEventRunModal + 99
33  UIKit                           0x18da555c4 UIApplicationMain + 235
34  <myapp>                         0x10127734c main + 29516 (main.m:32)
35  libdyld.dylib                   0x183e1c56c start + 3

After looking at the exception it seems to come from a native library and not from my code/or cordova code.

Does anyone has an idea?

Submissions to App Review, including apps you make available for pre-order, should be final versions with all necessary metadata and fully functional URLs included; placeholder text, empty websites, and other temporary content should be scrubbed before submission. Make sure your app has been tested on-device for bugs and stability before you submit it, and include demo account info (and turn on your back-end service!) if your app includes a login. If you offer in-app purchases in your app, make sure they are complete, up-to-date, and visible to the reviewer, or that you explain why not in your review notes. Please don’t treat App Review as a software testing service. We will reject incomplete app bundles and binaries that crash or exhibit obvious technical problems.


This does not help me at all. I read this.

My app was complete. And passed the tests.
I tested it on iphone 6s and first version has been tested on iphone X, iphone 6s

The reject is coming, as I am explaining, after a patch of my version which just includes text changes.

The bug is not obvious (Double click on an input text) and does not occures on all the devices I mentionned so why it should fail on IpadAir.

In addition if we look at the stack it just occures on native libraries not on my code or cordova or even ionic code.

I am searching for explanation not just general guidelines.

My backend is turned on and secured, I have no inapp purchase.

What’s the all msg apple sent you respectively what’s more than just the title Guideline 2.1 - Performance - App Completeness, what’s the content of the msg?

Following post, for example, was about the same subject but a problem related to in app purchase

The message is almost what I said.

They found a crash app when they tried to double click on input “email”.

This was on an ipdad air 2 runnning on IOS 11.2.6 connected to wifi. They attached the crash reports. I extracted the stack and saw this.

They also attached screenshots. Nothing more.

Advice was to test on real device but I cannot buy any device Apple provide. I do not reproduce on Iphone X and Iphone 6s and 6S+ running on same OS version.

In addition my app is not supposed to work with Ipdad but only with iphone however apparently we cannot distinguish both

Is not supposed to work with iPad or you don’t want to deliver it on iPad?

If the second one, have you set Xcode to ignore iPad? maybe doing so they not gonna test it on iPad?

Additionally, @speedflyer can add this line to config.xml to achieve the same purpose:

<preference name="target-device" value="handset" />

1 Like


Ah cool thanks I will try this. In fact I don’t want to deliver it on iPad yet because I will probably deliver another version on Ipad with other functionnality which wont be available on Iphone and with other design

I will try what you suggested

1 Like

Cool, keep us posted and good luck :crossed_fingers:

Hello @speedflyer,

Did you manage to submit your app to the App Store eventually?

Kind regards,