iPhone 关闭蓝牙 GKPeerPickerController

标签 iphone ipad bluetooth gkpeerpickercontroller

我同意这个问题是重复的。请多多包涵。我也是你们中的一员,相信不可能以编程方式打开/关闭蓝牙。

但是使用GKPeerPickerController如果蓝牙未打开,系统将提示用户将其打开。足够公平打开蓝牙。

我坚信我们不能以编程方式关闭蓝牙,因为没有办法。但是this application这样做让我没有选择拒绝。

我只是想确认是否可能,如果可以,如何使用GKPeerPickerController或任何其他公共(public)API方式关闭蓝牙?

最佳答案

我知道这不是您想要的答案,但是,您无法使用 Apple 批准的 API 以编程方式关闭蓝牙。

已经有很多应用程序approved on the App Store this year that have done this .

但是,一旦他们(苹果)意识到发生了什么事,它们就会在发布后不久被苹果删除。他们肯定使用私有(private) API。

要么开发者愚蠢地认为他们不会被注意到,要么他们只是希望在苹果下架应用程序之前获得几周的收入,这可能足以偿还他们的成本,并获得一些利润.

问题在于,有多种方法可以检查应用是否正在使用私有(private) API。如果开发人员以正常方式使用 Objective-C 框架,那么检查就很简单。事实上,Xcode does some of this automatically当您使用它将应用程序二进制文件上传到 iTunes Connect 时。但是,这不是一个完整的检查。到达 Apple 后,审核人员会执行另一项检查,我已经推断出该检查比 Xcode 所做的更为复杂。

但是,该检查仍然不完美,我认为这不一定是懒惰的审核者忘记执行检查的问题。 Objective-C 为您提供了一些技巧 obfuscating方法调用。根据您如何使用这些技术,您可能能够通过审阅者。根据我的经验,我有充分的理由(眨眼,眨眼)相信苹果并没有在完​​全检测的 iOS 版本上运行每个应用程序,这可以记录所有函数调用,甚至击败最好的尝试通过混淆技术隐藏私有(private) API 的使用。

所以,我几乎可以向您保证,这解释了您在 App Store 中找到的关闭蓝牙的应用程序。公共(public) GameKit API 允许您打开蓝牙,但不能关闭蓝牙。

免责声明:我从未在苹果工作过,也没有苹果内部人士向我提供信息。但是,我已经通过审核流程获得了私有(private) API。

关于iPhone 关闭蓝牙 GKPeerPickerController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11102216/

相关文章:

iphone - 警告 : iPhone apps should include an armv6 architecture (current ARCHS = "armv7")

objective-c - 如何链接到 iOS 5 中的特定首选项面板

android - Android 中的蓝牙配对。连接丢失时调用的事件

iphone - Apple 邮件应用程序中的小、中、大、原始图像功能在哪里?

iphone - 在 Objective-C 中随机化 NSArray 的规范方法

iphone - 在 iOS 应用程序中为 Library 的子目录打包文件

iphone - 如何从应用程序商店为应用程序购买额外的应用程序内商品?

android - 通过蓝牙耳机 VoIP 接听电话

ios - 如何通过代码获取A1532这样的iPhone设备监控模型?

iphone - AppStore 批准和 md5