2012-10-05 18 views
3

我想用usine MKMapItem开于iOS6的地图,但我也喜欢使用谷歌地图对老年人的IOS版本如何测试IOS版本没有气泡布

后退......我不知道这样做在无气泡布原因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 

回答

5

通过检查Device.ios_version源,你可以看到它换货政... rns UIDevice.currentDevice.systemVersion。所以这应该做的伎俩!

+0

嘿,我还有一个pb ... –

+0

你应该创建另一个问题。 – ksol