【问题标题】:MKMapKit and the IOS4MKMapKit 和 IOS4
【发布时间】:2011-05-09 06:36:53
【问题描述】:

大家好, 我正在尝试启动并运行 MKMapView,但是我似乎无法克服似乎是参考错误的问题。我花了几个小时在谷歌上搜索这个以及昨晚。

标题:

#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>

@interface MapsViewController : UIViewController {
    MKMapView *mapView;
}

@end

主要:

#import "MapsViewController.h"

@implementation MapsViewController
- (void)viewDidLoad {
    [super viewDidLoad];
    mapView = [[MKMapView alloc] initWithFrame:self.view.frame];
    [self.view insertSubview:mapView atIndex:0];
}

- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}
- (void)dealloc {
    [super dealloc];
    [mapView dealloc];
}

@end

错误:

Build Maps of project Maps with configuration Debug

Ld build/Debug-iphonesimulator/Maps.app/Maps normal i386
cd /workspace/iphone_dev/Maps
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk -L/workspace/iphone_dev/Maps/build/Debug-iphonesimulator -F/workspace/iphone_dev/Maps/build/Debug-iphonesimulator -filelist /workspace/iphone_dev/Maps/build/Maps.build/Debug-iphonesimulator/Maps.build/Objects-normal/i386/Maps.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -framework Foundation -framework UIKit -framework CoreGraphics -o /workspace/iphone_dev/Maps/build/Debug-iphonesimulator/Maps.app/Maps

Undefined symbols:
  "_OBJC_CLASS_$_MKMapView", referenced from:
      objc-class-ref-to-MKMapView in MapsViewController.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

我设法在适当的文件夹中找到了 MKMapKit.framework。它们是我缺少的东西吗?

【问题讨论】:

    标签: iphone mapkit geo ios4


    【解决方案1】:

    听起来您需要通过右键单击 Xcode 中的项目列表并选择 Add->Existing Framework 来将 MapKit.framework 添加到您的项目中。选择 MapKit,您应该会在 Targets -> Your App -> Link Binary with Libraries 下看到它。

    【讨论】:

    • 你知道可悲的是什么吗?我想我昨晚在另一个帖子上喝了几杯啤酒后就读到了这个答案。哈哈谢谢大佬。我知道我错过了一些简单的东西!
    【解决方案2】:

    bosmacs 说的是对的。另请注意,您的 dealloc 方法不正确。

    - (void)dealloc {
      [mapView release];
      [super dealloc];
    }
    

    除了 super 和 [super dealloc]; 之外,你永远不应该调用 dealloc;总是在你的 dealloc 方法结束时进行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多