2011-11-12 13 views
0

私のアプリはちょうどアプリストアにアップロードされています。私のアプリでは、現在の場所から特定の場所への方向を示すボタンがあります。シミュレータではすべて正常に動作しますが、ボタンをテープでテープに貼り付けたときにiPhoneに表示されるため、iPhoneのボタンを押してマップを終了しますが、アプリをタップして再び開くと地図が再び読み込まれます1時間後でも!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

コードとして私は – Mona

+0

のURLリンクを呼び出しますそれは全く別のアプリケーション –

+0

正確には、デバイス上のマップアプリを開く必要があります!なぜそれがそれを行うのか分からない! – Mona

0

アプリをバックグラウンドで実行しないようにすることで、これを修正しました。

info.plistに新しい行を追加して、アプリケーションを「バックグラウンドで実行しない」ようにする必要があります。その前にボックスをチェックします。

+2

それは私の推測でしたが、それが良いかどうかは明らかではありません。バックグラウンドで実行しないと、私は自分のメールをチェックすることができず、その後、指示に戻ります。 –

+0

最後の解決策私は行くだろう – Mona

1
  1. - (IBAction)directionButtonメソッドで[super viewDidload]を呼び出さないでください。
  2. あなたは、あなたのviewDidLoadやviewWillAppearのどこかで - (IBAction)directionButtonメソッドを呼び出すか、そのメソッドのように思っています。したがって、アプリケーションを開くたびにこのメソッドが呼び出され、しばらくするとCLLocationManagerがデリゲートメソッドを呼び出すと、アプリはマップアプリにリダイレクトされます。
関連する問題