验证 iphone 是不是已连接到扩展坞

Posted

技术标签:

【中文标题】验证 iphone 是不是已连接到扩展坞【英文标题】:Verify if iphone was connected to a dock验证 iphone 是否已连接到扩展坞 【发布时间】:2011-12-12 10:47:08 【问题描述】:

当我将 iphone 连接到扩展坞时,我的应用会显示消息:“连接器扩展坞”。我想检测手机何时与其他设备连接并隐藏 MPVolumeView 以避免这些消息。

我照常使用 MPVolumeView:

MPVolumeView *myVolume = [[MPVolumeView alloc] initWithFrame:CGRectMake(10, 435, 300, 0)];
[myVolume sizeToFit];
[self.view addSubview:myVolume];
[myVolume release];

谁能帮帮我?

【问题讨论】:

【参考方案1】:

我通过添加以下观察者来做到这一点:

NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
EAAccessoryManager *accessoryMamaner  = [EAAccessoryManager sharedAccessoryManager];

[accessoryMamaner registerForLocalNotifications];
[notificationCenter addObserver: self  selector: @selector (accessoryDidConnect:)   name: EAAccessoryDidConnectNotification object: nil];
[notificationCenter addObserver: self  selector: @selector (accessoryDidDisconnect:)   name: EAAccessoryDidDisconnectNotification object: nil];

【讨论】:

【参考方案2】:

您可以监控电池状态。

[[UIDevice currentDevice] setBatteryMonitoringEnabled:YES];

if ([[UIDevice currentDevice] batteryState] != UIDeviceBatteryStateUnplugged) 
    // if you end up in here, then you are connected to some power source
    // and you can hide your MPVolumeView

有关电池状态的更多信息,请访问Apple's UIDevice documentation。

希望这会有所帮助!

【讨论】:

在这种情况下,当我将手机插入计算机时,这将导致 MPVolumeView 保持隐藏状态。我不想要这种行为。 你的问题很混乱。我不确定你想做什么。 扩展坞是我可以插入手机以提供一些额外功能的外部设备。有基座可以通过外部扬声器播放音乐、为手机充电以及其他功能。通常你不用usb线直接插手机。 实际上,文档通常连接到 12 针连接器(或 USB-thingy),它会触发这种电池状态。

以上是关于验证 iphone 是不是已连接到扩展坞的主要内容,如果未能解决你的问题,请参考以下文章

如何获取iPhone上已连接过的WiFi密码? 无需越狱 + 需要Macbook上的钥匙串

无法将 iPhone 连接到 Xcode 5.1?

iPhone将有可能运行macOS?

iPhone运行MacOS,这个事情靠谱吗?

iPhone 未收到推送通知

使用 Xcode 部署的 Xamarin iPhone 不会显示已连接