1

我正在尝试通过他们的文档设置 Firebase 的新崩溃报告并遇到错误。当我构建项目时,我从运行脚本阶段收到此错误:

Pods/FirebaseCrash/upload-sym-util.bash:384: error: symbolFileMappings:upsert: Request contains an invalid argument.

调试了一下后,我找到了VERBOSE标志并将其设置为更多信息,如下所示(已删除键)

/Pods/FirebaseCrash/upload-sym-util.bash:376: note: another thing
== Info:   Trying 216.58.216.47...
== Info: Connected to mobilecrashreporting.googleapis.com (216.58.216.47) port 443 (#0)
== Info: TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
== Info: Server certificate: *.googleapis.com
== Info: Server certificate: Google Internet Authority G2
== Info: Server certificate: GeoTrust Global CA
=> Send header, 413 bytes (0x19d)
0000: POST /v1/apps/1:000000000000:ios:0000000000000000/symbolFileMapp
0040: ings:upsert?key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX HTTP/1.1
0082: Host: mobilecrashreporting.googleapis.com
00ad: User-Agent: curl/7.43.0
00c6: Accept: */*
00d3: Content-Type: application/json
00f3: X-Ios-Bundle-Identifier: com.jakecraige.Inventry
0125: Authorization: Bearer XXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0165: XXXXXXXXXXXXXXXXXXXXXXXXXXX-XXX
0186: Content-Length: 186
019b: 
=> Send data, 186 bytes (0xba)
0000: {"upload_key":"1:000000000000:ios:0000000000000000-00000000-0000
0040: -0000-0000-000000000000","symbol_file_mapping":{"symbol_type":2,
0080: "app_version":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}}
== Info: upload completely sent off: 186 out of 186 bytes
<= Recv header, 26 bytes (0x1a)
0000: HTTP/1.1 400 Bad Request
<= Recv header, 16 bytes (0x10)
0000: Vary: X-Origin
<= Recv header, 15 bytes (0xf)
0000: Vary: Referer
<= Recv header, 47 bytes (0x2f)
0000: Content-Type: application/json; charset=UTF-8
<= Recv header, 37 bytes (0x25)
0000: Date: Mon, 30 May 2016 21:47:10 GMT
<= Recv header, 13 bytes (0xd)
0000: Server: ESF
<= Recv header, 24 bytes (0x18)
0000: Cache-Control: private
<= Recv header, 33 bytes (0x21)
0000: X-XSS-Protection: 1; mode=block
<= Recv header, 29 bytes (0x1d)
0000: X-Frame-Options: SAMEORIGIN
<= Recv header, 33 bytes (0x21)
0000: X-Content-Type-Options: nosniff
<= Recv header, 30 bytes (0x1e)
0000: Alternate-Protocol: 443:quic
<= Recv header, 69 bytes (0x45)
0000: Alt-Svc: quic=":443"; ma=2592000; v="34,33,32,31,30,29,28,27,26,
0040: 25"
<= Recv header, 21 bytes (0x15)
0000: Accept-Ranges: none
<= Recv header, 30 bytes (0x1e)
0000: Vary: Origin,Accept-Encoding
<= Recv header, 28 bytes (0x1c)
0000: Transfer-Encoding: chunked
<= Recv header, 2 bytes (0x2)
0000: 
<= Recv data, 138 bytes (0x8a)
0000: 7f
0004: {.  "error": {.    "code": 400,.    "message": "Request contains
0044:  an invalid argument.",.    "status": "INVALID_ARGUMENT".  }.}.
0085: 0
0088: 
== Info: Connection #0 to host mobilecrashreporting.googleapis.com left intact
/Pods/FirebaseCrash/upload-sym-util.bash:385: note: symbolFileMappings:upsert: The metadata for the symbol file failed to update.

所以看起来 POSTmobilecrashreporting.googleapis.com/v1/apps/$GOOGLE_APP_ID/symbolFileMappings:upsert?key=$FIREBASE_API_KEY失败了。

查看所有参数,它们似乎与我的配置相匹配,没有什么是空的,所以我不确定下一步该做什么。

有没有其他人遇到过这个?关于如何解决它的想法?

谢谢!

4

1 回答 1

1

在构建报告中,当以 verbose=3 ('-vvv') 运行时,您是否看到类似以下行的内容?

CrashTestApp (architecture x86_64) symbol dump follows (first 20 lines):
MODULE mac x86_64 5FFC1B5C32CF33EEB4BFFA4189412AE30 CrashTestApp
FILE 0 /Applications/Xcode.app/…
⋮
FILE 4 /Users/me/Source/CrashTestApp/…
FUNC 1bf0 54 0 -[ViewController viewDidLoad]
1bf0 14 11 4
1c04 30 12 4
⋮

(数字和文件名显然会有所不同。)关键是第一行中的魔术模式:它必须以MODULE机器类型和架构(单个单词)开头,然后是 33 位十六进制字符串,然后是名称应用程序。如果文件上传不遵循该模式,则 upsert 步骤将失败。

于 2016-05-31T20:49:43.777 回答