来自Apple的反馈,App正在启动

时间:2017-11-21 14:39:14

标签: ios iphone xamarin.ios crash

我的应用程序在我的设备上完美运行,但苹果报告我应用程序在启动时崩溃,他们提供了一个崩溃日志,这是一个不可读的形式,我已尝试象征它但不能。如果有人帮我解决这个问题,我将非常感激。

{"app_name":"ApplicationName","timestamp":"2017-11-19 17:17:40.98 -0800","app_version":"1.0","slice_uuid":"119ebd01-6d77-30c1-bd7e-e247c4f549b4","adam_id":1312796230,"build_version":"1.0","bundleID":"Logicunit.AnalyzeQuran","share_with_app_devs":false,"is_first_party":false,"bug_type":"109","os_version":"iPhone OS 11.1.2 (15B202)","incident_id":"DFC7AEE6-1BD7-45AC-B192-45B93C179CA3","name":"AnalyzeQuranIOS"}
Incident Identifier: DFC7AEE6-1BD7-45AC-B192-45B93C179CA3
CrashReporter Key:   357841d912f2df927b24861ec18fb870765ae9bd
Hardware Model:      xxx1
Process:             ApplicationName [857]
Path:                /private/var/containers/Bundle/Application/595A5C4D-0E0E-462D-88FD-38BF3399A298/ApplicationName.app/ApplicationName
Identifier:          Logicunit.ApplicationName
Version:             1.0 (1.0)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           ApplicationName [765]


Date/Time:           2017-11-19 17:17:40.9170 -0800
Launch Time:         2017-11-19 17:17:40.8317 -0800
OS Version:          iPhone OS 11.1.2 (15B202)
Baseband Version:    n/a
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Triggered by Thread:  0

Application Specific Information:
abort() called

Filtered syslog:
None found

Thread 0 name:  tid_303  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x0000000184a59348 0x184a38000 + 136008
1   libsystem_pthread.dylib         0x0000000184b6d344 0x184b6a000 + 13124
2   libsystem_c.dylib               0x00000001849c905c 0x184966000 + 405596
3   libsystem_c.dylib               0x00000001849c8fc4 0x184966000 + 405444
4   ApplicationName                 0x0000000105758158 0x104e48000 + 9503064
5   ApplicationName                 0x0000000105753238 0x104e48000 + 9482808
6   ApplicationName                 0x000000010562a990 0x104e48000 + 8268176
7   ApplicationName                 0x00000001056759d8 0x104e48000 + 8575448
8   ApplicationName                 0x0000000105675554 0x104e48000 + 8574292
9   ApplicationName                 0x0000000105758250 0x104e48000 + 9503312
10  ApplicationName                 0x000000010575bf1c 0x104e48000 + 9518876
11  ApplicationName                 0x0000000104e69e04 0x104e48000 + 138756
12  libdyld.dylib                   0x000000018492a56c 0x184929000 + 5484

Thread 1:
0   libsystem_pthread.dylib         0x0000000184b6ac1c 0x184b6a000 + 3100

Thread 2:
0   libsystem_pthread.dylib         0x0000000184b6ac1c 0x184b6a000 + 3100

Thread 3:
0   libsystem_kernel.dylib          0x0000000184a59dbc 0x184a38000 + 138684
1   libsystem_pthread.dylib         0x0000000184b763f8 0x184b6a000 + 50168
2   libdispatch.dylib               0x00000001848cea78 0x1848c4000 + 43640
3   libdispatch.dylib               0x00000001848d0f40 0x1848c4000 + 53056
4   libdispatch.dylib               0x00000001848f2c34 0x1848c4000 + 191540
5   CoreFoundation                  0x0000000184ee95e4 0x184e00000 + 955876
6   CoreFoundation                  0x0000000184eebad4 0x184e00000 + 965332
7   CoreFoundation                  0x0000000184f7551c 0x184e00000 + 1529116
8   CoreFoundation                  0x0000000184eebad4 0x184e00000 + 965332
9   CoreFoundation                  0x0000000184ee8e8c 0x184e00000 + 953996
10  CoreFoundation                  0x0000000184eebad4 0x184e00000 + 965332
11  CoreFoundation                  0x0000000184edacac 0x184e00000 + 896172
12  libsystem_pthread.dylib         0x0000000184b6b680 0x184b6a000 + 5760
13  libsystem_pthread.dylib         0x0000000184b6b3d0 0x184b6a000 + 5072
14  libsystem_pthread.dylib         0x0000000184b6bc0c 0x184b6a000 + 7180
15  Foundation                      0x0000000185847d98 0x185825000 + 142744
16  Foundation                      0x0000000185932874 0x185825000 + 1103988
17  libsystem_pthread.dylib         0x0000000184b6c31c 0x184b6a000 + 8988
18  libsystem_pthread.dylib         0x0000000184b6c1e8 0x184b6a000 + 8680
19  libsystem_pthread.dylib         0x0000000184b6ac28 0x184b6a000 + 3112

Thread 4:
0   libsystem_pthread.dylib         0x0000000184b6ac24 0x184b6a000 + 3108

Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000001
    x4: 0x0000000000000000   x5: 0x0000000000989680   x6: 0x0000000000000038   x7: 0xffffffffffffffec
    x8: 0x0000000008000000   x9: 0x0000000004000000  x10: 0x00000000000003e8  x11: 0x00000001b7875c3c
   x12: 0x00000001b7875c3c  x13: 0x0000000000000018  x14: 0x0000000000000001  x15: 0x0000000000000881
   x16: 0x0000000000000148  x17: 0x0000000000000000  x18: 0x0000000000000000  x19: 0x0000000000000006
   x20: 0x00000001b5545b80  x21: 0x0000000105930000  x22: 0x0000000000000303  x23: 0x00000001b5545c60
   x24: 0x0000000105b80b73  x25: 0x00000001057aedfb  x26: 0x0000000000000000  x27: 0x00000001058b1c90
   x28: 0x00000001058b1c70   fp: 0x000000016afb6980   lr: 0x0000000184b6d344
    sp: 0x000000016afb6950   pc: 0x0000000184a59348 cpsr: 0x00000000

此应用程序基于Xamarin.iOS平台构建

1 个答案:

答案 0 :(得分:2)

根据您在评论中提供的完整崩溃报告,二元图像部分的第一行是:

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;

import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;

public class JSON_Reader
{
    public static void main(String args[])
    {
        JSONParser parser = new JSONParser();
        try
        {

        String text = new String(Files.readAllBytes(Paths.get("C:\\Users\\arathi.variar\\workspace\\Customizable_Rule_UI\\src\\Rule_File.json")), StandardCharsets.UTF_8);
            Object object = parser.parse(text);

            //convert Object to JSONObject
            JSONObject jsonObject = (JSONObject) object;

            //Reading the String
            String tech = (String) jsonObject.get("Technology");
            String vul = (String) jsonObject.get("Vulnerability");
            String sev = (String) jsonObject.get("Severity");
            String regex = (String) jsonObject.get("RegEx");

            //Printing all the values
            System.out.println("Technology: " + tech);
            System.out.println("Vulnerability: " + vul);
            System.out.println("Severity: "  + sev);
            System.out.println("RegEx: "  + regex);
        }
        catch(FileNotFoundException fe)
        {
            fe.printStackTrace();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
}

因此,我们可以看到应用二进制文件的 UUID { "Angular2": [ { "Technology": "Angular 2.0", "Vulnerability": "angular/timeout-service", "Severity": 1, "RegEx": "(?=.*(setTimeout))" }, { "Technology": "Angular 2.0", "Vulnerability": "angular/interval-service", "Severity": 1, "RegEx": "(?=.*(setInterval))" }, { "Technology": "Angular 2.0", "Vulnerability": "angular/Deferred", "Severity": 1, "RegEx": "(?=.*(\\$q\\.defer|\\$q\\_\\.defer))" }, { "Technology": "Angular 2.0", "Vulnerability": "Cross Site Scripting", "Severity": 1, "RegEx": "(?=.*(body.*ng-app.*|\\$sceProvider\\.enabled\\(\\s*false\\)))" }, { "Technology": "Angular 2.0", "Vulnerability": "angular/Angular Element", "Severity": 1, "RegEx": "(?=.*(\\$\\('.*'\\)|jQuery\\('.*'\\)))" }, { "Technology": "Angular 2.0", "Vulnerability": "Module Setter", "Severity": 1, "RegEx": "(?=.*(var\\s*[a-zA-Z0-9_]+\\s*=\\s*angular.module\\(.*\\)))" }, { "Technology": "Angular 2.0", "Vulnerability": "Sensitive Data", "Severity": 1, "RegEx": "(?=.*(store\\.set\\())" }, { "Technology": "Angular 2.0", "Vulnerability": "no-cookiestore", "Severity": 3, "RegEx": "(?=.*(\\$cookieStore\\s*\\.))" }, { "Technology": "Angular 2.0", "Vulnerability": "no-directive-replace", "Severity": 3, "RegEx": "(?=.*((replace\\s*\\:\\s*true)|(\\.replace\\s*\\=\\s*true)))" }, { "Technology": "Angular 2.0", "Vulnerability": "no-http-callback", "Severity": 3, "RegEx": "(?=.*(\\$http\\..*\\.(success|error)))" }, { "Technology": "Angular 2.0", "Vulnerability": "defined/undefined", "Severity": 3, "RegEx": "(?=.*((value\\s*(\\!|\\=)\\=\\=\\s*undefined)|(\\!angular\\.is(Defined|Undefined))))" }, { "Technology": "Angular 2.0", "Vulnerability": "json functions", "Severity": 3, "RegEx": "(?=.*(JSON\\.))" }, { "Technology": "Angular 2.0", "Vulnerability": "Console Log", "Severity": 3, "RegEx": "(?=.*(console\\.))" }, { "Technology": "Angular 2.0", "Vulnerability": "no-angular-mock", "Severity": 3, "RegEx": "(?=.*(angular\\.mock))" } ], "reactJS": [ { "Technology": "React JS", "Vulnerability": "Cross Site Scripting", "Severity": 1, "RegEx": "(?=.*(window.\\_\\_PRELOADED\\_STATE\\_\\_\\s*=\\s*\\$\\{JSON.Stringify\\(preloadedState\\)}))" } ], "javascript": [ { "Technology": "JAVA/JAVAScript", "Vulnerability": "URL Injection", "Severity": 1, "RegEx": "(?=.*(Request.QueryString[\"[a-zA-Z]+\"];))" }, { "Technology": "JAVA/JAVAScript", "Vulnerability": "Weak Credentials", "Severity": 1, "RegEx": "(?=.*((user(name|id)?|logon(id)?)\\s*=\\s*((\\\"|\\').+(\\\"|\\'))))" } ] } 。您必须找到具有相同UUID的匹配dSYM文件。只有找到匹配的dSYM文件时,才能表示不可读的崩溃报告。

<强>解决方案:

  1. 在终端中使用以下命令在Mac上查找构建应用程序的dSYM:

    Binary Images:
    0x104e48000 - 0x105847fff AnalyzeQuranIOS arm64 <119ebd016d7730c1bd7ee247c4f549b4> /var/containers/Bundle/Application/595A5C4D-0E0E-462D-88FD-38BF3399A298/AnalyzeQuranIOS.app/AnalyzeQuranIOS
    

    字符串&#34; 12345678-90AB-CDEF-1234-567890ABCDEF&#34;是崩溃报告中重新格式化为大写和8-4-4-4-12组的UUID字符串。

  2. Symobolicate崩溃报告。在符号化之前执行以下行。

    119ebd016d7730c1bd7ee247c4f549b4

    将您的 mdfind "com_apple_xcode_dsym_uuids == 12345678-90AB-CDEF-1234-567890ABCDEF" export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer .crash文件放在同一目录中并运行:

    .app

    Xcode 9.1中.dSYM工具的路径为:/path/symbolicatecrash /path/mycrash.crash /path/MyAppName.app.dSYM > symbolicatedcrash.crash ,您可以根据Xcode版本进行检查。

  3. <强>更新

    如果您在通过Xcode导出ipa时启用了 Bitcode ,Apple将重新编译二进制文件并为其创建新的dSYM。您可以从iTunes Connect或Xcode-&gt; Window-&gt; Organizer下载新的dSYM文件,关于此问题,您可以参考此How to solve symbolication problems

    <强>参考:

    • {{3}}