fix: specify status when ios device connection error

This commit is contained in:
lilong.129
2025-07-05 17:05:32 +08:00
parent 147942b34c
commit 9d18303108
+5 -5
View File
@@ -160,22 +160,22 @@ func (dev *IOSDevice) Setup() error {
if version.GreaterThan(semver.MustParse("17.4.0")) { if version.GreaterThan(semver.MustParse("17.4.0")) {
info, err := tunnel.TunnelInfoForDevice(dev.DeviceEntry.Properties.SerialNumber, ios.HttpApiHost(), ios.HttpApiPort()) info, err := tunnel.TunnelInfoForDevice(dev.DeviceEntry.Properties.SerialNumber, ios.HttpApiHost(), ios.HttpApiPort())
if err != nil { if err != nil {
return err return errors.Wrap(code.DeviceConnectionError, err.Error())
} }
dev.DeviceEntry.UserspaceTUNPort = info.UserspaceTUNPort dev.DeviceEntry.UserspaceTUNPort = info.UserspaceTUNPort
dev.DeviceEntry.UserspaceTUN = info.UserspaceTUN dev.DeviceEntry.UserspaceTUN = info.UserspaceTUN
rsdService, err := ios.NewWithAddrPortDevice(info.Address, info.RsdPort, dev.DeviceEntry) rsdService, err := ios.NewWithAddrPortDevice(info.Address, info.RsdPort, dev.DeviceEntry)
if err != nil { if err != nil {
return err return errors.Wrap(code.DeviceConnectionError, err.Error())
} }
defer rsdService.Close() defer rsdService.Close()
rsdProvider, err := rsdService.Handshake() rsdProvider, err := rsdService.Handshake()
if err != nil { if err != nil {
return err return errors.Wrap(code.DeviceConnectionError, err.Error())
} }
device, err := ios.GetDeviceWithAddress(dev.DeviceEntry.Properties.SerialNumber, info.Address, rsdProvider) device, err := ios.GetDeviceWithAddress(dev.DeviceEntry.Properties.SerialNumber, info.Address, rsdProvider)
if err != nil { if err != nil {
return err return errors.Wrap(code.DeviceConnectionError, err.Error())
} }
device.UserspaceTUN = dev.DeviceEntry.UserspaceTUN device.UserspaceTUN = dev.DeviceEntry.UserspaceTUN
device.UserspaceTUNPort = dev.DeviceEntry.UserspaceTUNPort device.UserspaceTUNPort = dev.DeviceEntry.UserspaceTUNPort
@@ -470,7 +470,7 @@ func (dev *IOSDevice) getVersion() (version *semver.Version, err error) {
version, err = ios.GetProductVersion(dev.DeviceEntry) version, err = ios.GetProductVersion(dev.DeviceEntry)
if err != nil { if err != nil {
log.Error().Err(err).Msg("failed to get version") log.Error().Err(err).Msg("failed to get version")
return nil, err return nil, errors.Wrap(code.DeviceGetInfoError, err.Error())
} }
log.Info().Str("version", version.String()).Msg("get ios device version") log.Info().Str("version", version.String()).Msg("get ios device version")
return version, nil return version, nil