3

ストーリーボードでGoogleマップのiOS SDKを使用しています。マップ付きのルート ビュー コントローラーを持つナビゲーション ビュー コントローラーで始まるアプリケーション。

@implementation MyViewController
@synthesize btnMyLock;
@synthesize btnNearby;

GMSMapView *mapView_;
- (void)viewDidLoad
{
    [super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:20
                                                        longitude:20
                                                             zoom:0];

     mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];
     mapView_.myLocationEnabled = YES;

     self.view = mapView_;
     // Creates a marker in the center of the map.
     GMSMarker *marker = [[GMSMarker alloc] init];
     [marker setIcon:[UIImage imageNamed:@"pin"]];
     marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
     marker.title = @"Sydney";
     marker.snippet = @"Australia";
     marker.map = mapView_;

     mapView_.settings.compassButton = YES;

     [mapView_ addSubview:btnMyLock];
     [mapView_ addSubview:btnNearby]; 
}

ボタン btnMyLock は、Table View Controller をプッシュします。iOS 7 では問題ありません。しかし、iOS 6 アプリがクラッシュします。EXC_BAD_ACCESS (code=1) または code=2 でクラッシュすることがある

4

4 に答える 4

0

それが問題を引き起こしているかどうかはわかりませんが、私はしません:

self.view = mapView_;

mapView_次のように、サブビューとして追加するだけです。

[self.view addSubview:mapView_];

一般に、EXC_BAD_ACCESS のクラッシュは、メモリの管理を誤った場合に発生します (たとえば、オブジェクトが時期尚早に割り当て解除された場合など)。クラッシュが発生しているオブジェクトを見つけてください。


IBOutlets として xib からではなく、コードでボタンを作成します。それ以外の場合は、xib を使用していないため、ロードされません。

于 2013-10-25T09:50:44.103 に答える