2011-11-12 49 views
0

我的應用剛上傳到應用商店。在我的應用程序中,我有一個按鈕,指示當前位置的特定位置。在模擬器中一切正常,但在iphone上按下按鈕時會加載地圖,因此您將按下iphone按鈕退出地圖,但當我點擊我的應用程序再次打開它時,它會再次加載地圖即使過了一個小時!iOS應用永不退出地圖

基本上它每次按下方向按鈕後都會在應用程序加載時繼續加載地圖。

所以你打開應用程序,應用程序只打開地圖!

我不知道發生了什麼事!

這裏是我使用的代碼,

- (IBAction)directionButton { 
[super viewDidLoad]; 

CLLocationManager *locationManager = [[CLLocationManager alloc] init]; 
locationManager.delegate = self; 
locationManager.distanceFilter = kCLDistanceFilterNone; 
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; 
[locationManager startUpdatingLocation]; 
} 


- (void)locationManager:(CLLocationManager *)manager 
didUpdateToLocation:(CLLocation *)newLocation 
     fromLocation:(CLLocation *)oldLocation 
{ 
double currentLat = newLocation.coordinate.latitude; 
double currentLong = newLocation.coordinate.longitude; 

NSString* url = [NSString stringWithFormat: @"http://maps.google.com/maps?saddr=%f,%f&daddr=%@", 
       currentLat, 
       currentLong, 
       [address stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 

[[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]]; 
} 
+0

在將應用程序發佈到應用程序商店之前,請務必在真實硬件上進行測試。模擬器並不完美。 – Dancreek

回答

0

該解決方案非常簡單。當您完成更新位置時,請使用以下方法:

[manager stopUpdatingLocation]; 

其中manager是CLLocationManager的實例。

0

你的問題不是很清楚,但是從我的理解,它只是駁回視圖包含地圖,並返回到上一個視圖的問題。你如何改變視圖與視圖與按鈕到地圖的視圖?

+0

作爲代碼顯示我打電話給地圖的url鏈接 – Mona

+0

這應該打開設備上的地圖應用程序,這完全是一個完全獨立的應用程序 –

+0

!我不知道它爲什麼這樣做! – Mona

0

我只是通過阻止應用程序在後臺運行來解決這個問題。

所以你需要添加一個新行到你的info.plist並使其成爲「應用程序不在後臺運行」,讓它前面的框被選中。

+2

這是我的猜測,但不清楚它是否是件好事。如果你沒有在後臺運行,那麼我將無法檢查我的電子郵件,然後回到方向。 –

+0

我會去的最後解決方案 – Mona

1
  1. 您不應該在 - (IBAction)directionButton方法中調用[super viewDidload]。
  2. 我想你調用 - (IBAction)directionButton方法在你的viewDidLoad或viewWillAppear或類似的方法。因此,每次打開應用程序時,都會調用此方法,稍後CLLocationManager會調用委派方法時,您的應用程序將重定向到Maps應用程序。