iOS Question Help with an Apple rejection!

Nicolás Cieri

Active Member
Licensed User
Can anyone help?

The application works perfectly on my iPhone 11. (13.2.3)

I've tried it many times, it doesn't give me any mistakes, I've even tried it in airplane mode.

The "release" version works very well.


El 26 nov. 2019 a las 11:03
De Apple
2. 1 Performance: App Completeness
Guideline 2.1 - Performance - App Completeness


We were unable to review your app as it crashed on launch. We have attached detailed crash logs to help troubleshoot this issue.

This is reproducible on iPhone and iPad.

Next Steps

To resolve this issue, please revise your app and test it on a device to ensure it will launch without crashing.

Resources

For information on how to symbolicate and read a crash log, please review Tech Note TN2151 Understanding and Analyzing Application Crash Reports.
 

Attachments

Computersmith64

Well-Known Member
Licensed User
You need to symbolicate the crash logs. You won't be able to figure out the issue from the unsymbolicated logs.

- Colin.
 

Computersmith64

Well-Known Member
Licensed User
how can I do this?
It's in the last line of the message you posted from app review:
For information on how to symbolicate and read a crash log, please review Tech Note TN2151 Understanding and Analyzing Application Crash Reports.
I don't use B4i, so I don't know if/how this works with it, but when you submit an app using the app uploader in Xcode you have the option to upload the app's symbols so you can receive symbolicated crash reports from Apple. I assume that if this option isn't available through B4i, then there is another way to symbolicate the reports.

- Colin.
 

Nicolás Cieri

Active Member
Licensed User
Can anyone help to explain the result?? Thanks.

main (in x) (main.m:16)

-[APMSqliteStore endTransaction] (in x) + 72

-[APMSqliteStore performTransaction:] (in x) + 116

-[APMMeasurement writeEventOnWorkerQueue:] (in x) + 1120

-[APMMeasurement handleEventOnWorkerQueue:] (in x) + 1316

__51-[APMScheduler scheduleOnWorkerQueueBlockID:block:]_block_invoke (in x) + 44
 

Erel

Administrator
Staff member
Licensed User
What does your program do on startup? It is related to Firebase.
 

Nicolás Cieri

Active Member
Licensed User
B4X:
Private Sub Application_Start (Nav As NavigationController)
    Dim pg As Page
    pg.Initialize("")
    pg.RootPanel.LoadLayout("loading")
    NavControl = Nav
    NavControl.ShowPage(pg)
    NavControl.NavigationBarVisible = False
    Do While InternetConnection = False
        Dim job As HttpJob
        job.Initialize("", Me) 'note that the name parameter is no longer needed.
        job.Download("https://www.google.com")
        Wait For JobDone(job As HttpJob)
        If job.Success Then
            InternetConnection=True
        End If
        job.Release
        If InternetConnection = False Then
            sp.toastMessage("Internet Connection is Required")
            Sleep(3000)
        End If
    Loop

    sp.kvs.Initialize(File.DirDocuments,"tmpfiles")
    Dim nativeObjectNotificationCenter As NativeObject

    Try
        firebaseAnalyticsInstance.Initialize
        App.RegisterForRemoteNotifications
        firebaseMessagingInstance.Initialize ("firebaseMessagingInstance")
        App.RegisterUserNotifications (True, True, True)
        nativeObjectNotificationCenter = nativeObjectNotificationCenter.Initialize ("UNUserNotificationCenter").RunMethod ("currentNotificationCenter", Null)
        nativeObjectNotificationCenter.SetField ("delegate", Me)

        firebaseMessagingInstance.FCMConnect
   
        Do While sp.fbToken = ""
            'Log("waiting...")
            Sleep (200)
            sp.fbToken = GetToken
        Loop
       
        login.Show
        Try
            LocManager.Initialize("LocManager")
        Catch
            Log(LastException)
        End Try
    Catch
        Log(LastException)
    End Try

End Sub


Private Sub firebaseMessagingInstance_FCMConnected
    Try
        firebaseMessagingInstance.SubscribeToTopic ("ios_general")
        sp.fbToken = ""
        Do While sp.fbToken = ""
            Sleep (500)
            sp.fbToken = GetToken
        Loop
    Catch
        Log (LastException)
    End Try
End Sub
 
Last edited:

Nicolás Cieri

Active Member
Licensed User
But FirebaseAnalytics is the base for all the Firebase products, right? This is the base of my product too.

Yes I have the lastest version of Firebase. 2.0

Updated the Analytics docs (internal change: cr/280485745). The changes will be reflected in the headers and reference documentation of the next Analytics release.

Thanks for reporting this bug!


I think it's a Firebase bug, but the bug has been reported since the end of 2017.

Or maybe something related to "KeyValueStore", which also uses "SQLite"?
 
Last edited:

Erel

Administrator
Staff member
Licensed User
Or maybe something related to "KeyValueStore", which also uses "SQLite"?
There is no such class (APMSqliteStore) in iSQL.

There are problems in your code. I recommend you to remove all the code that checks for internet connection.

FirebaseAnalytics is supposed to be initialized when the program starts. This is not the case in your code.
 

Nicolás Cieri

Active Member
Licensed User
No, I have tried all the options and they reject it for the same reason.

I think it takes an update to the "Firebase" library
 

Erel

Administrator
Staff member
Licensed User
There are many apps based on Firebase and they work fine.

Your code only initializes FirebaseAnalytics after the internet check finishes. Many things can happen in your app until it happens. You should read more about resumable subs if it is not clear.
 

Nicolás Cieri

Active Member
Licensed User
Erel, I'm getting the same result from Apple, just having the Firebase active.
I already put it as single lines in Application_Start, and they keep rejecting me.
Please, can you check if you need an update to the library?
Thank you.
 

Nicolás Cieri

Active Member
Licensed User
I've tried the release on other iPhones and it works perfect.

Maybe something related to the "Store" certificate? It works perfect on tested iPhones.
 

Computersmith64

Well-Known Member
Licensed User
There have been some reported similar crashes in apps running AdMob v7.50 SDK on iOS 13 & also some Firebase crashes (I'm not sure which version), but I recently released an update to one of my apps with the latest AdMob SDK (v7.52) & the latest Firebase SDK & I haven't seen any such issues.

- Colin.
 
Top