【发布时间】:2019-08-18 22:56:08
【问题描述】:
我目前收到了Auto-Renewable 和Non-Renewable 的收据。但是Non-Renewable 不会以expires_date json 键返回。我怎么能忽略这一点。我试图避免将expires_date 设为可选。当我将其设为可选时,Apple 会发回响应。有没有办法可以在不使expires_date 可选的情况下解码json。
struct Receipt: Codable {
let expiresDate: String
private enum CodingKeys: String, CodingKey {
case expiresDate = "expires_date"
}
}
现在我可以得到
"没有与键 CodingKeys 关联的值(stringValue: \"expires_date\", intValue: nil) (\"expires_date\")。"
【问题讨论】:
-
without making expires_date optional那么如果 JSON 包含 nil ,您期望该字段的值是什么? -
Auto_renewable收据包含expires_date而Non Renewable不包含。苹果在那里检查所有的 json 并拒绝发送响应。当我将它设为可选时,它适用于Auto_renewable,但适用于Non Renewable。由于我将SwiftStoreKit用于Non-Renewable,因此它会检查收据和崩溃,说expires_date为零。 -
@Dharmesh 那是我不想做并试图避免的事情