0

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

どうもありがとう!

http://i.stack.imgur.com/5UrhG.png

http://i.stack.imgur.com/D0Q6w.png

4

1 に答える 1

0

これは、この問題を解決するのに役立ちました。 http://www.galloway.me.uk/2012/09/hacking-up-an-armv7s-library/

誰が必要とするかもしれません。

于 2013-07-07T08:48:27.957 に答える