微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift中的MKMapRectMake在编译时会导致链接器错误

使用MKMapRectMake创建MKMapRect会导致编译错误,如下所示:

这是我的代码

var lat = 37.33072
    var lon = -122.029674
    var loc = CLLocationCoordinate2D(latitude: lat,longitude: lon)
    var point = MKMapPointForCoordinate(loc)

    var flyTo = MKMapRectMake(point.x,point.y,0);

这是编译器的错误

Undefined symbols for architecture i386:
  "_MKMapPointMake",referenced from:
      _MKMapRectMake in ViewController.o
  "_MKMapSizeMake",referenced from:
      _MKMapRectMake in ViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command Failed with exit code 1 (use -v to see invocation)

我的解决方法是使用origin和size参数创建MKMapRect.请注意,我已将MKMapKit添加到Build Phases中的链接库中

有没有人遇到同样的问题以及你如何解决这个问题?

解决方法

使用实用功能解决它:

func myMKMapRect(x: Double,y:Double,w:Double,h:Double) -> MKMapRect {
    return MKMapRect(origin:MKMapPoint(x:x,y:y),size:MKMapSize(width:w,height:h))
}

当然,还要向Apple提交错误报告.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐