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提交错误报告.

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...