Google マップ機能を使用するアプリを実装しています。Simulator と iPhone 4 デバイスではすべて問題ありませんが、iPhone 5 でアプリをビルドしようとすると、Linker コマンドが失敗するという問題が発生しました。
添付ファイルは、ビルド設定で設定したものです。
誰もこの問題を抱えていますか?私はほぼ1週間それで立ち往生しています >"< .
ここにfile.hの私のコード
#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>
#import <MapKit/MapKit.h>
#import "MyViewController.h"
#import "MyAnnotation.h"
#import <GoogleMaps/GoogleMaps.h>
@interface PaymentViewController : MyViewController <CLLocationManagerDelegate, GMSMapViewDelegate> {
MKMapView *mapView;
CLLocationManager *myLocationManager;
CLLocation *myLocation;
MyAnnotation *annotation;
GMSMapView *myGoogleMapView;
}
@property (nonatomic, retain) MKMapView *mapView;
@property (nonatomic, retain) CLLocationManager *myLocationManager;
@property (nonatomic, retain) MyAnnotation *annotation;
@property (nonatomic, retain) GMSMapView *myGoogleMapView;
@property (nonatomic, retain) CLLocation *myLocation;
@end
ここにfile.mがあります
#import "PaymentViewController.h"
@interface PaymentViewController ()
@end
@implementation PaymentViewController
@synthesize mapView, myLocationManager, annotation, myGoogleMapView, myLocation;
-(void)loadView{
[super loadView];
self.title =@"Input Payment";
/*--------- create google map view --------*/
myGoogleMapView = [[GMSMapView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height/3)];
myGoogleMapView.myLocationEnabled = YES;
//myGoogleMapView.settings.myLocationButton = YES;
myGoogleMapView.mapType = kGMSTypeNormal;
[self.view addSubview:myGoogleMapView];
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
//this will register the KVO (Key Value Obversing) for key myLocation
[self.myGoogleMapView addObserver:self forKeyPath:@"myLocation" options:NSKeyValueObservingOptionNew context: nil];
}
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
//this will check the key that we register before and excute the code inside this function
if ([keyPath isEqualToString:@"myLocation"] && [object isKindOfClass:[GMSMapView class]])
{
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:self.myGoogleMapView.myLocation.coordinate.latitude longitude:self.myGoogleMapView.myLocation.coordinate.longitude
zoom:17
];
self.myGoogleMapView.camera = camera;
// [self.myGoogleMapView animateToCameraPosition:[GMSCameraPosition
// cameraWithLatitude:self.myGoogleMapView.myLocation.coordinate.latitude
// longitude:self.myGoogleMapView.myLocation.coordinate.longitude
// zoom:16]];
}
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[self.myGoogleMapView removeObserver:self forKeyPath:@"myLocation"];
}
@end
どうもありがとう!