私はCoreLocationフレームワークにつまずいたとiOS Location Awareness Programming Guideで説明したように、私はOSXのための1つを見つけることができなかったことから、基本的な手順を実施しました。MacOSで位置情報を取得するには?
// AppDelegate.h
#import <Cocoa/Cocoa.h>
#import <CoreLocation/CoreLocation.h>
@interface AppDelegate : NSObject<NSApplicationDelegate, CLLocationManagerDelegate> {
CLLocationManager* m_locationManager;
}
@end
実装ファイルにはあまりありません...
// AppDelegate.m
- (void)applicationDidFinishLaunching:(NSNotification*)notification {
m_locationManager = [[CLLocationManager alloc] init];
m_locationManager.delegate = self;
m_locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[m_locationManager startUpdatingLocation];
}
#pragma mark - CLLocationManagerDelegate
- (void)locationManager:(CLLocationManager*)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {
NSLog(@"%@ %@", self.className, NSStringFromSelector(_cmd));
}
- (void)locationManager:(CLLocationManager*)manager didUpdateToLocation:(CLLocation*)newLocation fromLocation:(CLLocation*)oldLocation {
NSLog(@"%@ %@", self.className, NSStringFromSelector(_cmd));
}
- (void)locationManager:(CLLocationManager*)manager didFailWithError:(NSError*)error {
NSLog(@"%@ %@", self.className, NSStringFromSelector(_cmd));
}
私は私が場所の検索を許可するよう求めていたアプリケーションを起動します。しばらくすると同じ質問が再び表示されます。
問題:しかし、どのデリゲートメソッドも呼び出されません。ところで
:CLGeocoderを発表Apple and Google Mapsについての興味深い記事。私は考えることができる
はMac OS Xの導入目標*が設定されている*このデリゲートへ:あなたはあなたのアプリケーションのデリゲートからこれを実行しようとしているようですので、宣言は次のようになりますMac OS X 10.7 *を開き、ヘッダファイルにデリゲートを設定します。 – JJD
これはどのマシンで実行していますか?私は、Macがこれに対応する場所のハードウェアを持っているかどうかはわかりません。 – rdelmar
@rdelmarライオンを走らせているMac Proです。私の知る限り、位置APIはWIFI、GPSなどをカプセル化しているので、これを実行しているマシンの種類に違いはありません。 – JJD