如何在didFinishLaunchingWithOptions AppDelegate中使用框架函数?

时间:2018-07-03 16:08:58

标签: ios swift cllocationmanager ibeacon core-bluetooth

感谢技巧@davidyoung需要更多帮助

我在链接波纹管中显示了类似的问题,并且尝试了它的运行,但是在App委托中,您正在初始化新的位置管理器实例..有什么方法可以在我的框架项目中做同样的事情(我有位置sdk框架中的管理器初始化),以便开发人员可以访问该func以便再次启动。

MY IOS App is not getting any region updates when ever I restart my device any ideas?

1 个答案:

答案 0 :(得分:0)

如果您构建iOS框架以检测信标,则适用相同的规则,就像在iOS应用中编写代码一样。在以下情况下,您将在信标区域进入/退出时获得自动启动行为:

  1. 蓝牙已打开并且启用了位置
  2. 使用CoreLocation通过locationManager.requestAlwaysAuthorization()成功获取后台权限
  3. 致电locationManager.startMonitoring(for: beaconRegion)CLBeaconRegion
  4. 设置CLLocationManagerDelegate以便在由AppDelegate的didFinishLaunching触发的执行线程中的某个地方接收回调。

要使其与自动启动配合使用,至关重要的是,第3和4个项必须通过didFinishLaunching调用来执行。但是它们实际上并不一定要出现在该方法本身内,它们可以在框架内执行。

您必须做的是指示框架的用户在didFinishLaunching 内放置一个方法调用,该方法调用将调用您的框架,以便它可以处理上面的底部两个项目。