我正在使用 iBeacons 构建一个基于室内位置的应用程序,但是我使用了很多 iPhone 传感器来获得准确的运动表示(速度、方向等)。我目前一直在使用 CoreMotion 计步器及其计步属性。我有一段代码,可以简单地计算步数并将其打印在标签中,我注意到设备需要大约 10 步才能记录我的动作,然后每三步或四步更新一次标签。“步行”状态下的这些更新很好,但我很想知道是否可以加快初始响应和从静止到步行的转换,而不是从 10 减少到 5,这是可以接受的。这是计算步数的代码:
if(CMPedometer.isStepCountingAvailable()){
self.pedoMeter.queryPedometerDataFromDate(NSDate(), toDate: NSDate()) { (data : CMPedometerData!, error) -> Void in
dispatch_async(dispatch_get_main_queue(), { () -> Void in
if(error == nil){
self.steps.text = "\(data.numberOfSteps)"
}
})
}
self.pedoMeter.startPedometerUpdatesFromDate(NSDate()) { (data: CMPedometerData!, error) -> Void in
dispatch_async(dispatch_get_main_queue(), { () -> Void in
if(error == nil){
self.steps.text = "\(data.numberOfSteps)"
}
})
}
}
}
Run Code Online (Sandbox Code Playgroud)
我还将更新间隔增加到最大
manager.deviceMotionUpdateInterval = 0
Run Code Online (Sandbox Code Playgroud)
这些是我正在使用的课程
let activityManager = CMMotionActivityManager()
let manager = CMMotionManager()
let pedoMeter = …Run Code Online (Sandbox Code Playgroud) accelerometer ios core-motion indoor-positioning-system swift
一年多来,我在应用商店上有一个功能完善的应用程序,其中包含 Facebook 注册功能,并且一切正常,没有任何问题。然而,几天前,我收到了一些用户的抱怨,他们说 Facebook 登录导致应用卡在登录屏幕上。我已经调查了这种行为,似乎当您使用 Facebook 应用程序进行身份验证时,单击登录按钮后来自 Facebook 的回调不起作用。通过 Safari 工作。我已经将我的 Cocoapod 库更新到最新版本,在我的 AppDelegate 中,我有以下内容:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
return true
}
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(app, open: url as URL!, sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String, annotation: options[UIApplicationOpenURLOptionsKey.annotation])
}
func applicationDidBecomeActive(_ application: UIApplication) {
FBSDKAppEvents.activateApp()
}
Run Code Online (Sandbox Code Playgroud)
我所有的 Plist 文件都井井有条,Facebook 没有暂停我的应用程序或任何类似的东西,当我尝试使用 Safari 登录时,它再次起作用。iOS 版本是 11,我使用的是 Swift 3。
我有一个表视图,它根据API的结果进行更新.表视图有一个大的自定义单元格,几乎占据了屏幕的一半.用户可以使用自定义按钮订购单元格.平均而言,我将在表格中有10-15个单元格,我的最大问题是当用户点击将最底层单元格移动1点时,reloadData将刷新整个表格并将视图端口移动到顶部意味着用户将必须再次滚动到最后,这是一个糟糕的用户体验.有没有办法刷新表视图,但在重新加载之前保持位置,或者考虑使用在填充表后调用的自定义滚动是否有用.我在Swift中编写应用程序,使用Alamofire处理API,