我创建了一个带故事板的单一视图应用程序。我所看到的只有MKMapView,就是这样。它编译时没有错误或警告,但是当我运行它时,我在控制台窗口中收到此错误:
<Error>: ImageIO: CGImageReadSessionGetCachedImageBlockData *** CGImageReadSessionGetCachedImageBlockData: readSession [0x8ab5750] has bad readRef [0x14b79c70]
我正在使用Xcode 4.3和iPhone模拟器5.1。有什么想法吗?
.h文件
#import UIKit/UIKit.h
#import CoreLocation/CoreLocation.h
#import MapKit/MapKit.h
@interface WhereamiViewController : UIViewController <CLLocationManagerDelegate, MKMapViewDelegate>
{
IBOutlet MKMapView *worldView;
IBOutlet UIActivityIndicatorView *activityIndicator;
IBOutlet UITextField *locationTitleField;
}
@end
.m文件
#import "WhereamiViewController.h"
@interface WhereamiViewController ()
@end
@implementation WhereamiViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
答案 0 :(得分:5)
刚碰到这个:
简单修复:确保选中界面构建器中MapView的“显示用户位置”框。
答案 1 :(得分:3)
可能我不应该回答差不多一年的问题,但我遇到了同样的问题,原因是我正在调用 CLLocationManager * startUpdateLocation * < strong> viewDidLoad 方法,当我将其更改为 viewWillAppear 时,问题就会消失。
答案 2 :(得分:2)
在我看来,这就像框架中的一个错误。使用Apple Bug Reporter进行报告,看看是否存在已知问题。
答案 3 :(得分:0)
我的PNG包含一些透明的部分,我认为这导致了问题,因为删除这些部分后错误消失了。也许我的PNG文件中有一些错误,因为应该支持透明度。
答案 4 :(得分:0)
我也遇到了同样的问题。我通过注释掉所有代码并编译程序来解决它。然后我每次都逐个编译后逐个取消注释每个方法。出于某些原因,似乎为我摆脱了错误。
答案 5 :(得分:0)
如下所示更正你的代码,并创建地图视图的出口。
#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>
#import <MapKit/MapKit.h>
答案 6 :(得分:-1)
我正在做一个更简单的项目,所以我不确定它是否会对你有所帮助。但无论如何我会告诉你我的代码。您可能只想从此开始,然后看看是否可以从那里构建。
因此,对于ViewController.h,它应该是......
#import <UIKit/UIKit.h>
#import <MapKit