作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想在 ios6 上使用 MKMapItem
打开 map ,但我也想为旧 ios 版本使用谷歌地图作为后备...
我不知道在没有 BubbleWrap 的情况下在 rubymtion 上执行此操作,因为 Device.ios_version
返回一个错误
我想在 iOS6 上这样做:
address_dictionnary = ({kABPersonAddressStreetKey: @party.place.street, kABPersonAddressCityKey: @party.place.city,kABPersonAddressZIPKey: @party.place.postal_code})
place = MKPlacemark.alloc.initWithCoordinate(@coords, addressDictionary: address_dictionnary)
mapItem = MKMapItem.alloc.initWithPlacemark(place)
mapItem.name = "#{@party.name}"
options = ({
MKLaunchOptionsDirectionsModeKey: MKLaunchOptionsDirectionsModeDriving
})
mapItem.openInMapsWithLaunchOptions(options)
这在旧版本上:
url = "http://maps.google.com/maps?saddr=#{@party.place.location[1]},#{@party.place.location[0]}&daddr=#{@party.place.location[1]},#{@party.place.location[0]}"
App::open_url(url)
谢谢你的帮助
然后当我做正确的测试时:当我进行测试并在 IOS 5.1 上运行它时出现此错误
dyld: Symbol not found: _MKLaunchOptionsDirectionsModeDriving
这是我的代码:
if Utils.older_than_ios6?
url = "http://maps.google.com/maps?saddr=#{@party.place.location[1]},#{@party.place.location[0]}&daddr=#{@party.place.location[1]},#{@party.place.location[0]}"
App::open_url(url)
else
address_dictionnary = ({kABPersonAddressStreetKey: @party.place.street, kABPersonAddressCityKey: @party.place.city,kABPersonAddressZIPKey: @party.place.postal_code})
place = MKPlacemark.alloc.initWithCoordinate(@coords, addressDictionary: address_dictionnary)
mapItem = MKMapItem.alloc.initWithPlacemark(place)
mapItem.name = "#{@party.name}"
options = ({
MKLaunchOptionsDirectionsModeKey: MKLaunchOptionsDirectionsModeDriving
})
mapItem.openInMapsWithLaunchOptions(options)
end
最佳答案
通过检查 Device.ios_version
的源代码,您可以看到它返回 UIDevice.currentDevice.systemVersion
。所以这应该可以解决问题!
关于ios - 如何在没有bubblewrap的情况下测试ios版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12747513/
我是一名优秀的程序员,十分优秀!