I have an Swift application in App Store for iOS, it is already published and I made a new update, version 1.5. There are only small fixes and the biggest one is I implemented Firebase Crash Analytics. I am able to compile the app in debug mode, and the Firebase Crash reporting works fine (I can see bug appearing in the Dashboard). But when I submitted this binary to Apple, they rejected it. I thought it might be wrong provisioning profile, so I created a new one and submitted again. In both cases, I got this message and rejection of binary:
Performance - 2.1
We were unable to review your app as it crashed on launch. Unfortunately, no crash logs were produced.
Next Steps
Please revise your app and test it on a device while connected to an IPv6 network (all apps must support IPv6) to ensure it will launch without crashing.
I replied I don’t have any IPv6 server and my ISP in office or home is not IPv6-ready, so how am I supposed to test it... They replied:
Thank you for your response. After reviewing your reply, it seems your question would be best addressed by Apple Developer Technical Support, who can provide discrete code-level assistance.
To ensure the DTS engineers can best help you, be sure to include any available symbolicated crash logs, screenshots, or steps to reproduce the issues encountered in your request.
For information on how to read or symbolicate a crash log, please see Tech Note TN2151 Understanding and Analyzing iPhone OS Application Crash Reports.
After a comment here pointed me to a guide, I tested my app for IPv6 compatibility and it was OK, the app downloaded content and worked normally.
I told them to check the binary again and they provided this Error log:
Aug 17 17:45:35 Apps-iPhone kernel[0] <Notice>: xpcproxy[261] Container: /private/var/mobile/Containers/Data/Application/E6D8144E-8FD7-4473-9BC7-476AC46B7E2D (sandbox)
Aug 17 17:45:35 Apps-iPhone com.apple.xpc.launchd[1] <Error>: assertion failed: 13F69: launchd + 116796 [9F6284CF-8A17-36CC-9DB5-85D510A21F14]: 0x3
Aug 17 17:45:35 Apps-iPhone AppName[261] <Warning>: WARNING: Firebase Analytics App Delegate Proxy is disabled. To log deep link campaigns manually, call the methods in FIRAnalytics+AppDelegate.h.
Aug 17 17:45:35 Apps-iPhone AppName[261] <Warning>: Configuring the default app.
Aug 17 17:45:35 Apps-iPhone kernel[0] <Notice>: Sandbox: AppName(261) deny(1) file-write-create /private/var/containers/Bundle/Application/FIREBASE_UNIQUE_INSTALL
Aug 17 17:45:35 Apps-iPhone AppName[261] <Warning>: Firebase Crash Reporting: Successfully enabled
Aug 17 17:45:35 Apps-iPhone AppName[261] <Notice>: <FIRAnalytics/INFO> Firebase Analytics v.3300000 started
Aug 17 17:45:35 Apps-iPhone AppName[261] <Notice>: <FIRAnalytics/INFO> To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled
Aug 17 17:45:36 Apps-iPhone kernel[0] <Notice>: Sandbox: AppName(261) deny(1) file-write-create /private/var/containers/Bundle/Application/FIREBASE_LAST_TIMESTAMP
Aug 17 17:45:37 Apps-iPhone AppName[261] <Notice>: <FIRAnalytics/INFO> Firebase Analytics enabled
Aug 17 17:45:37 Apps-iPhone SpringBoard[63] <Warning>: HW kbd: Failed to set (null) as keyboard focus
Aug 17 17:45:37 Apps-iPhone SpringBoard[63] <Warning>: UNNotificationRegistrarConnectionListener connection invalidated
Aug 17 17:45:37 Apps-iPhone com.apple.xpc.launchd[1] (UIKitApplication:com.example.AppName[0xb5f7][261]) <Warning>: Service exited with abnormal code: 6
Aug 17 17:45:38 Apps-iPhone com.apple.CDScheduler[26] <Error>: UserNextSleepPeriod value from context store is (null)
Aug 17 17:45:38 Apps-iPhone com.apple.CDScheduler[26] <Error>: Failed to get user inactivity forecast
Aug 17 17:45:38 Apps-iPhone UserEventAgent[26] <Warning>: [autosu error]: SPI for AutoSU: probabilityVector is empty
Aug 17 17:45:38 Apps-iPhone com.apple.CDScheduler[26] <Error>: AutoSu doesn't have any prediction yet
Aug 17 17:45:38 Apps-iPhone com.apple.CDScheduler[26] <Error>: Failed to get device restart forecast
Aug 17 17:45:38 Apps-iPhone locationd[72] <Notice>: Location icon should now be in state 'Active'
Aug 17 17:45:38 Apps-iPhone SpringBoard[63] <Warning>: Application 'UIKitApplication:com.example.AppName[0xb5f7]' exited voluntarily.
Aug 17 17:45:38 Apps-iPhone UserEventAgent[26] <Warning>: 11137830750: id=com.example.AppName pid=261, state=0
Aug 17 17:45:38 Apps-iPhone locationd[72] <Error>: WIFI_SCAN: scan result is too long, 372
Aug 17 17:45:38 Apps-iPhone locationd[72] <Error>: WIFI_SCAN: scan result is too long, 381
Aug 17 17:45:44 Apps-iPhone locationd[72] <Error>: WIFI_SCAN: scan result is too long, 374
Aug 17 17:45:46 Apps-iPhone eventkitsyncd[196] <Notice>: (Error) CompanionSync: <SYFileTransferSyncEngine.m -[SYFileTransferSyncEngine service:account:identifier:didSendWithSuccess:error:context:]:989> Error sending session via file-transfer: Error Domain=com.apple.identityservices.error Code=23 "Timed out" UserInfo={NSLocalizedDescription=Timed out, NSUnderlyingError=0x12f64bd10 {Error Domain=com.apple.ids.idssenderrordomain Code=12 "(null)"}}
Aug 17 17:45:46 Apps-iPhone eventkitsyncd[196] <Notice>: (Error) CompanionSync: <SYService.m -[SYService handleSyncError:forMessageWithIdentifier:]:1588> Sync error occurred: Error Domain=com.apple.identityservices.error Code=23 "Timed out" UserInfo={NSLocalizedDescription=Timed out, NSUnderlyingError=0x12f64bd10 {Error Domain=com.apple.ids.idssenderrordomain Code=12 "(null)"}}
Aug 17 17:45:48 Apps-iPhone locationd[72] <Notice>: Location icon should now be in state 'Inactive'
How can I fix the issue and get the update approved?
There is a good discussion regarding this:
https://groups.google.com/forum/#!topic/firebase-talk/t61zHXvuR3U
It seems the issue may be something else and not related to IPv6.
I see that you have the following error in the last few lines:
Aug 17 17:45:44 Apps-iPhone locationd[72] <Error>: WIFI_SCAN: scan result is too long, 374
It may be the case that when someone at Apple is doing the testing, they are surrounded by lot of WiFi connections. Which results in a long scan list which the Firebase API is unable to handle and results in a time out.
When you try it, you are probably in a different scenario and it never hits that fail condition.
If possible, may be go to a public place with lot of WiFi connections and may be then you can also reproduce the issue.
Hope this helps.
Kind regards, Mukund
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With