无法检索CarrierName

时间:2016-11-20 04:43:51

标签: ios xcode8.1

使用运行iOS 10.1.1的iPhone6,Xcode 8.1,执行以下操作  Swift代码我一直在

  

无法检索CarrierName

在我的第一个ViewController偶数加载之前出现错误消息。 我搜索了类似(但不相同)CarrierName问题的解决方案。他们中的大多数人建议导入CoreTelephony。我添加了导入 CoreTelephony但我仍然得到同样的错误。下面是显示viewDidLoad后跟控制台输出的代码段。对此错误的任何见解?

//  ViewController.swift
//  MapLocator

import UIKit
import MapKit
import CoreLocation
import CoreTelephony


class ViewController: UIViewController, UISearchBarDelegate, MKMapViewDelegate,UINavigationControllerDelegate {
    var searchController:UISearchController!
    var annotation:MKAnnotation!
    var localSearchRequest1:MKLocalSearchRequest!
    var localSearchRequest2:MKLocalSearchRequest!
    var localSearch1:MKLocalSearch!
    var localSearch2:MKLocalSearch!
    var localSearchResponse1:MKLocalSearchResponse!
    var localSearchResponse2:MKLocalSearchResponse!
    var error:NSError!
    var pointAnnotation:MKPointAnnotation!
    var pinAnnotationView:MKPinAnnotationView!
    var placeMark1:MKPlacemark!
    var myRoute : MKRoute?
    var coord1 : CLLocationCoordinate2D!
    var coord2 : CLLocationCoordinate2D!
    //    var newPt : MKMapPoint!

    //    var lineArrayPtr = [MKMapPoint]()
    var lineArrayPtr:UnsafeMutablePointer<MKMapPoint>? = nil
    var pointIndex : Int = 0

    var lp1 : MKMapPoint!
    var lp2 : MKMapPoint!
    var lp3 : MKMapPoint!
    var lp4 : MKMapPoint!

    var searchButtonClicked = 0
    var buttonTouchCount : Double = 0
    let tapsPerMeter : Double = 2
    var pointsPerMeter : Double!
    var tapDistance : Double!

    //**************
    override func viewDidLoad() {
        super.viewDidLoad()
        mapView.delegate = self
        print("Entered viewDidLoad")

        let latitude_x: Double = 42.755139
        let longitude_x: Double = -71.584

        // Init the zoom level
        let coordinate:CLLocationCoordinate2D = CLLocationCoordinate2D(latitude: latitude_x, longitude: longitude_x)
        //let span = MKCoordinateSpanMake(100, 80)
        let span = MKCoordinateSpanMake(0.01, 0.01)
        let region = MKCoordinateRegionMake(coordinate, span)
        self.mapView.setRegion(region, animated: true)
        print("mapView region set")

    }
  

*********************控制台输出***********************   2016-11-19 22:02:14.442048 MapLocator 3比赛[289:23903]   [LogMessageLogging] 6.1无法检索CarrierName。 CTError:   domain-2,code-5,errStr:((os / kern)失败)

     

输入viewDidLoad

     

mapView区域集

4 个答案:

答案 0 :(得分:0)

托盘可能会向AppDelegate添加CoreTelephony吗?您的ViewController实现不访问任何CoreTelephony框架方法,因此您的问题在于其他地方。

答案 1 :(得分:0)

在我的iOS设备上会发生这种情况,因为设置 - &gt;隐私 - &gt;位置设置&lt;(应用名称) - &gt;允许位置设置不会设置为&#34;从不&#34;或&#34;使用App&#34;。一旦我设置它 - 它的工作原理。

答案 2 :(得分:0)

作为另一个问题的解决方案,我做了以下几点。无论是修复它还是仅仅抑制我不知道的消息,因为我收到了消息,但它从未崩溃我的应用程序。

在Xcode中

  • 点击“停止”按钮旁边的活动方案名称
  • 点击编辑方案....
  • 运行(调试)中的
  • 选择Arguments选项卡
  • 环境变量中的
  • 单击+
  • 添加变量:OS_ACTIVITY_MODE =禁用

在此信用:https://stackoverflow.com/a/40160779

答案 3 :(得分:0)

也许这是一个愚蠢的愚蠢,但检查XCode地图功能是否有效:)。