xcode swift app,位置适用于模拟器但不适用于实际设备

时间:2016-04-29 01:55:18

标签: xcode swift

我正在使用xcode和swift为苹果制作一个跑步(慢跑)应用程序,我所使用的xcode版本是7.0 / 7.1当你开始一个新的跑步时,会出现一张地图并跟踪你在哪里跑步和显示时间,距离和节奏。这一切都适用于我使用调试模拟器,但是当我把它放在设备上,运行ios 8.4的ipad,我开发了应用程序,地图出现但没有显示位置所以它无法计算距离或速度当你试图保存运行时,我得到一个没有找到位置的错误。与在模拟器上工作相比,不确定在实际设备上的代码中要检查的内容。我尝试了一些我在这个网站上找到的东西,但是它们没有用。我关闭了模拟位置并将调试模拟设置为无。在我这样做后,我删除了设备上的应用程序,退出xcode重新启动并在设备上重建它。谢谢你的帮助

  @IBAction func startPressed(sender: AnyObject) {
    startButton.hidden = true
    promptLabel.hidden = true

    timeLabel.hidden = false
    distanceLabel.hidden = false
    paceLabel.hidden = false
    stopButton.hidden = false

    seconds = 0.0
    distance = 0.0
    locations.removeAll(keepCapacity: false)
    timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "eachSecond:", userInfo: nil, repeats: true)
    startLocationUpdates()

    mapView.hidden = false
  }

    > // MARK: - CLLocationManagerDelegate extension NewRunViewController:
    > CLLocationManagerDelegate {   func locationManager(manager:
    > CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
    >     for location in locations as! [CLLocation] {
    >       let howRecent = location.timestamp.timeIntervalSinceNow

      if abs(howRecent) < 10 && location.horizontalAccuracy < 20 {
        //update distance
        if self.locations.count > 0 {
          distance += location.distanceFromLocation(self.locations.last)

          var coords = [CLLocationCoordinate2D]()
          coords.append(self.locations.last!.coordinate)
          coords.append(location.coordinate)

          let region = MKCoordinateRegionMakeWithDistance(location.coordinate, 500, 500)
          mapView.setRegion(region, animated: true)

          mapView.addOverlay(MKPolyline(coordinates: &coords, count: coords.count))
        }

        //save location
        self.locations.append(location)
      }
    }
  }
}

1 个答案:

答案 0 :(得分:0)

您是否曾要求用户使用其GPS位置?你是否向Info.plist添加了密钥:

<key>NSLocationAlwaysUsageDescription</key>
    <string>Get Your Location </string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>Get Your Location For </string>

你能发布你的代码吗?