Sử dụng MKMapRectMake để tạo MKMapRect gây biên dịch báo lỗi như sau:MKMapRectMake trong Swift gây lỗi mối liên kết khi biên dịch
Đây là mã của tôi:
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, 0);
và đây là lỗi từ trình biên dịch:
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)
Công việc của tôi cho việc này là tạo MKMapRect sử dụng thông số gốc và kích thước. Lưu ý rằng tôi đã thêm MKMapKit vào các thư viện được liên kết trong Build Phases
Có ai gặp phải vấn đề tương tự và cách bạn sửa lỗi này không?
Đảm bảo thông số có cùng loại mà hàm chấp nhận. Chúng cần phải là giá trị 'Double'. – CainaSouza
Dường như là một lỗi trong bản beta hiện tại. Bạn có thể thử cách giải quyết cầu Objective-C/Swift được hiển thị trong [this answer] (http://stackoverflow.com/questions/24128723/scnphysicsworld-error) như là một sửa chữa tạm thời. Về cơ bản, thực hiện các cuộc gọi MKMapRect trong Objective-C và gọi các phương thức bridge của bạn từ Swift. – Anna
Cảm ơn. Đây có thể là một tùy chọn khác để thử. – tala9999