• Stars
    star
    25
  • Rank 957,450 (Top 19 %)
  • Language
    Go
  • License
    MIT License
  • Created over 5 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

📱 iOS DeviceCheck SDK for Go - query and modify the per-device bits

device-check-go

📱 iOS DeviceCheck SDK for Go - query and modify the per-device bits

Installation

go get github.com/rinchsan/device-check-go/v2

Getting started

Initialize SDK

import "github.com/rinchsan/device-check-go/v2"

cred := devicecheck.NewCredentialFile("/path/to/private/key/file") // You can create credential also from raw string/bytes
cfg := devicecheck.NewConfig("ISSUER", "KEY_ID", devicecheck.Development)
client := devicecheck.New(cred, cfg)

Use DeviceCheck API

Query two bits

var result devicecheck.QueryTwoBitsResult
if err := client.QueryTwoBits("DEVICE_TOKEN", &result); err != nil {
	switch {
	// Note that QueryTwoBits returns ErrBitStateNotFound error if no bits found
	case errors.Is(err, devicecheck.ErrBitStateNotFound):
		// handle ErrBitStateNotFound error
	default:
		// handle other errors
	}
}

Update two bits

if err := client.UpdateTwoBits("DEVICE_TOKEN", true, true); err != nil {
	// handle errors
}

Validate device token

if err := client.ValidateDeviceToken("DEVICE_TOKEN"); err != nil {
	// handle errors
}

Apple documentation