看板 MacDev 關於我們 聯絡資訊
大家新年好 這幾天放年假就在家動手來作有關ios app的範例 在作有關使用者定位的時候遇到了奇怪的問題,沒有辨法取得座標值 有添加了corelocation frameworks 也有import <CoreLocation/CoreLocation.h> 也有加了CLLocationManagerDelegate 但在viewcontroller.m的viewDidLoad里加了下面這一段但印出來的值都是零: CLLocationManager *locationManager = [[CLLocationManager alloc] init]; locationManager.delegate=self; locationManager.desiredAccuracy=kCLLocationAccuracyBest; [locationManager startUpdatingLocation]; - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation: (CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{ NSString *userLat = [[NSNumber numberWithDouble:newLocation.coordinate. latitude] stringValue]; NSString *userLng = [[NSNumber numberWithDouble:newLocation.coordinate. longitude] stringValue]; NSLog(@"X:%@ Y:%@",userLat,userLng); } 有把app放到實機上測,實機上有藍點定位到正確的座標,但nslog印出來的值還是零 不知道是什麼問題,是有什麼地方疏忽了嗎? 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.189.6
kiii210:直接用double格式輸出看有沒有值 02/13 21:54
leepair:我發現它根本沒有去呼叫-(void)locationManager:(....這個 02/13 22:06
leepair:這個函式 02/13 22:06
kokuyoku:因為ARC的機制把locationManager釋放掉了 02/14 16:45
kokuyoku:拉到interface宣告就沒問題了 02/14 16:46