iOS Question app analytics - crash report

ilan

Expert
Licensed User
Longtime User
hi

i have 14 apps published to my app dev account. only 1 is showing a very high crash report number. all other between 0 - 2 but this app is showing about 90 crashes.

i have tested my app on several real iphones on simulator and on real ipad. i never had a crash.

could you guys please try my app to see if you get any crashes?

how real are those analytics numbers?? when i open organizer in xcode i see a different crash report then i see online.

link: https://itunes.apple.com/us/app/skrnyq-mhsbwn-skr/id950196740?l=iw&ls=1&mt=8

crashes.png
 
Last edited:

ilan

Expert
Licensed User
Longtime User
Upvote 0

ilan

Expert
Licensed User
Longtime User
Can't you download the crash reports?

How? I dont know how to download or where. When i try to get more information in xcode -> organizer it tries to open an xcode project i guess it wants to lead me to the line where the error is but i have no xcode project all i can see is that crash information i uploaded above.

Is there a way to get more information?
 
Upvote 0

ilan

Expert
Licensed User
Longtime User
hi erel, i was not able to get any crash report or do what is in the tutorial.
the only crash info i get is when i open xcode and click on window > organizer.

i cannot download any textfile i only see the screens i uploaded above. what weird is, is that i see 3 crashes while in the analytics website i see over 100
 
Upvote 0

ilan

Expert
Licensed User
Longtime User
Upvote 0

ilan

Expert
Licensed User
Longtime User
i would like to add something to this thread.

i think it is very complicated to get a report of an crash in ios and also in the dev console i see more then 100 but in xcode > organizer i have only 3 so i guess only people that agree to send the crash report will appear in my xcode > organizer logs. but like this i will not know what causes all other crashes.

so i was thinking of implementing in problematic subs (subs that i have from my crash reports in xcode) a firebase sending msg with some info about device,... + LastException to my phone. like this i will get better details about crashes immediately when they happen. what do you think guys?

(i tested it and it is working so i created a code module and now i will add try ... catch to all problematic subs.)
 
Upvote 0

ilan

Expert
Licensed User
Longtime User
You can use FirebaseAnalytics.SendEvent to track the crashes.

You mean firebaseanalytics.sendevent in the try ... catch ? So it will be basicly the same right? Now i send a push notification with the error via http job. Btw Is there a limit of text length i can send via firebase push notification?
 
Upvote 0

ilan

Expert
Licensed User
Longtime User
ok, the task i implemented works. today i received in real time the first crash report as notification to my android device.
the good thing in this technic is that i get a much better error explanation instead of only where the crash happened.

this is the crash report:

Screenshot_2016-09-21-08-53-09.png


what i understand is, it has something to do with the Mail Composer.
but i dont understand why it says "Object was not intialize"

so first i will explain what i do in this button click event.

"common" is a event name for about 10 buttons and only 3 of them are using mail composer. and this is the code of the whole sub:

B4X:
Sub common_Click
Try
    showadint = showadint + 1
    If showadint >= 8 Then
        showadint = 0
        csu.CallSubDelayedPlus(Me,"showad",1000)
    End If
   
    Dim b As Button = Sender
    Select b.Tag
        Case "clock"
            loadwindow("clockin")
        Case "shifts"
            loadwindow("shift")
        Case "wage"
            setvaluesforsalaryinfo
            csu.CallSubDelayedPlus(Me,"opensalinfo",250)
        Case "settings"
            settingsmod.Show
        Case "excel"
            If shiftsclv.GetSize = 0 Then
                HUD1.ToastMessageShow("אין משמרות לחודש " & shiftfatebtn.Text, False)
                Return
            End If
            'export to csv file
            Dim items As List
            items.Initialize
            DateTime.TimeFormat = "HH:mm"
            DateTime.DateFormat = "dd/MM/yyyy"
           
            Dim line1() As String
            line1 = Array As String("Date", "In", "Out", "Break", "Daily Spend", "Daily Bonus", "Time", "Wage")
            items.Add(line1)
           
            Dim totaltime As Int = 0
            Dim totalwage As Double = 0

            For i = 0 To shiftsclv.GetSize-1
                Dim p As Panel = shiftsclv.GetPanel(i)
                Dim newshift As shift = allshift.Get(p.Tag)
                Dim row() As String
                row = Array As String(DateTime.Date(newshift.timein),DateTime.Time(newshift.timein),DateTime.Time(newshift.timeout),newshift.breaktime,newshift.dayspend,newshift.bonus,Floor(newshift.totalminutes/60) & ":" & NumberFormat2(newshift.totalminutes Mod 60,2,0,0,False),NumberFormat2(newshift.totalwage,1,2,2,Null))
                items.Add(row)
                totaltime = totaltime + newshift.totalminutes
                totalwage = totalwage + newshift.totalwage
            Next
           
            line1 = Array As String("", "", "", "", "", "", "", "")
            items.Add(line1)
            items.Add(line1)
            line1 = Array As String("", "", "", "", "", "", "Total Hours", "Total Wage")
            items.Add(line1)
            line1 = Array As String("", "", "", "", "", "", Floor(totaltime/60) & ":" & NumberFormat2(totaltime Mod 60, 2,0,0,Null), NumberFormat2(totalwage,1,2,2,Null))
            items.Add(line1)

            SaveData(items, shiftfatebtn.Text.Replace("/","_"))
            Dim mailc As MailComposer
            mailc.Initialize("mailc")
            mailc.SetToRecipients(Array(""))' Array("[email protected]", "[email protected]"))
            mailc.SetSubject("שכרניק - דוח שעות")
            mailc.SetBody("דוח שעות לחודש " & shiftfatebtn.Text.Replace("/","_"), True)
            mailc.AddAttachment(File.DirDocuments,shiftfatebtn.Text.Replace("/","_") & ".csv", "text/plain")  
            mailc.Show(Page1)
        Case "contact"
            DateTime.DateFormat = "dd/MM/yyyy"
            Dim mailc As MailComposer
            mailc.Initialize("mailc")
            mailc.SetToRecipients(Array("[email protected]"))' Array("[email protected]", "[email protected]"))
            mailc.SetSubject("משוב - שכרניק לאייפון")
            mailc.SetBody(",תאריך: " & DateTime.Date(DateTime.Now), True)
            mailc.Show(Page1)
        Case "accounts"
            Private ashPages As ActionSheet
            ashPages.Initialize("account", "חשבון", "ביטול",  "", Array As String("עבודה 1", "עבודה 2", "עבודה 3", "עבודה 4"))
            ashPages.Show(Page1.RootPanel)
        Case "share"
            Try
                Dim txt As String = "%D7%94%D7%9E%D7%97%D7%A9%D7%91%D7%95%D7%9F+%D7%94%D7%A9%D7%9B%D7%A8+%D7%94%D7%9B%D7%99+%D7%97%D7%9B%D7%9D+%D7%95%D7%94%D7%9B%D7%99+%D7%9E%D7%93%D7%95%D7%99%D7%99%D7%A7+%D7%A9%D7%9B%D7%A8%D7%A0%D7%99%D7%A7+%D7%94%D7%92%D7%99%D7%A2+%D7%92%D7%9D+%D7%9C%D7%90%D7%99%D7%99%D7%A4%D7%95%D7%9F%2C+%D7%91%D7%95%D7%90%D7%95+%D7%AA%D7%95%D7%A8%D7%99%D7%93%D7%95+%D7%90%D7%95%D7%AA%D7%95+%D7%A2%D7%95%D7%93+%D7%91%D7%99%D7%95%D7%9D+%D7%91%D7%97%D7%99%D7%A0%D7%9D%0D%0Ahttps%3A%2F%2Fitunes.apple.com%2Fus%2FApp%2Fskrnyq-mhsbwn-skr%2Fid950196740%3Fmt%3D8"
                Dim txtmail As String = " המחשבון השכר הכי חכם והכי מדוייק שכרניק הגיע גם לאייפון, בואו תורידו אותו עוד ביום בחינם!" & CRLF & "https://itunes.apple.com/us/App/skrnyq-mhsbwn-skr/id950196740?mt=8"
                Dim url As String = "whatsapp://send?text=" & txt
                If App.CanOpenUrl(url) Then
                     App.OpenUrl(url)
                Else
                    Log("send email")
                    Dim mailc As MailComposer
                    mailc.Initialize("mailc")
                    mailc.SetToRecipients(Array(""))' Array("[email protected]", "[email protected]"))
                    mailc.SetSubject("משוב - שכרניק לאייפון")
                    mailc.SetBody(txtmail, True)
                    mailc.Show(Page1)
                End If               
            Catch
                Log(LastException)
                HUD1.ToastMessageShow("לא היה ניתן לשתף","שגיאה")
            End Try
        Case "law"
            loadwindow("lawpnl")
        Case "like"
            If App.CanOpenURL("https://itunes.apple.com/us/app/skrnyq-mhsbwn-skr/id950196740?mt=8") Then
                App.OpenURL("https://itunes.apple.com/us/app/skrnyq-mhsbwn-skr/id950196740?mt=8")
            Else
                HUD1.ToastMessageShow("לא היה ניתן לפתוח עמוד","שגיאה")
            End If
        Case "backup"
            If backuppnl.Alpha = 1 Then Return
            backuppnl.Left = 0
            backuppnl.Top = 0
            backuppnl.Alpha = 0
            backuppnl.Visible = True
            backuppnl.BringToFront
            backuppnl.SetAlphaAnimated(250,1)
        Case "help"
            Private ashPages As ActionSheet
            ashPages.Initialize("helplist", "עזרה", "ביטול",  "", Array As String("הגדרת משמרת" ,"פירוט שכר" ,"דוח אקסל" ,"הפסקה קבועה"))
            ashPages.Show(Page1.RootPanel)
        Case "shop"
            Private ashPages As ActionSheet
            ashPages.Initialize("shoping", "הסרת פרסומות", "ביטול",  "", Array As String("רכוש חבילה", "שחזר רכישה"))
            ashPages.Show(Page1.RootPanel)
    End Select
Catch
    Log(LastException)
    sendreport.SendMessage("mysalarycrashesios", "", "IOS-main: common_Click|" & LastException)
End Try           
End Sub

all mail composer objects are intialized so what could be the problem? :confused:
 
Upvote 0

ilan

Expert
Licensed User
Longtime User
Are you checking that mailc.CanSendMail returns true?

no, is something like this possible? i mean that the device cannot send a mail?
so what i need to do is after intializing the mail composer ask if the mailc.cansendmail? or before mailc.show?
 
Upvote 0

ilan

Expert
Licensed User
Longtime User
Yes. If the email client is not configured.

you are right, i wasnot thinking about that option :oops:

thank you for your great support.

i would like to know if i get more crash reports should i continue posting the errors here or better start a new thread for them?

thanx, ilan :)
 
Upvote 0
Top