5

アプリをアップロードしましたが、次のように言って拒否されました

App Store Review Guidelines に準拠していない iOS 7 を実行している iPad でアプリがクラッシュすることがわかりました。

さて、アップロードした時はiOS7が起動していませんでした。

クラッシュレポートによると

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0xb1b1f20b

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libobjc.A.dylib                 0x3a2f5b26 objc_msgSend + 6
1   MapKit                          0x30ca46a6 -[MKMapView mapViewDidFinishLoadingTiles:] + 46
2   VectorKit                       0x376bbaf4 -[VKTileSource didFinishWithNetwork] + 68
3   VectorKit                       0x376bc196 __32-[VKTileSource performDownload:]_block_invoke126 + 38
4   GeoServices                     0x345b6fdc ___ZNK49-[GEOTileLoaderInternal _loadedTile:forKey:info:]66__49-[GEOTileLoaderInternal _loadedTile:forKey:info:]_block_invoke3$_1clERKN8LoadItem9RequesterE_block_invoke_2 + 52
5   libdispatch.dylib               0x3a7ddd78 _dispatch_call_block_and_release + 8
6   libdispatch.dylib               0x3a7ddd64 _dispatch_client_callout + 20
7   libdispatch.dylib               0x3a7e47bc _dispatch_main_queue_callback_4CF$VARIANT$mp + 264
8   CoreFoundation                  0x2fab881c __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 4
9   CoreFoundation                  0x2fab70f0 __CFRunLoopRun + 1296
10  CoreFoundation                  0x2fa21ce2 CFRunLoopRunSpecific + 518
11  CoreFoundation                  0x2fa21ac6 CFRunLoopRunInMode + 102
12  GraphicsServices                0x3471c27e GSEventRunModal + 134
13  UIKit                           0x322c3a3c UIApplicationMain + 1132

クラッシュでは、 が表示されますMapKit 0x30ca46a6 -[MKMapView mapViewDidFinishLoadingTiles:]

MapKit に問題がありますか?

マップキットの場合、以下は私が持っているものです

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.title = @"Location";
    // Do any additional setup after loading the view.
    CLLocationCoordinate2D cords = {29.32511601390379, 48.08847418705136};
    MKCoordinateSpan span = {0.008400,0.008400};
    region = (MKCoordinateRegion) {cords,span};
    mapView.showsUserLocation = YES;
    [mapView setRegion:region animated:YES];
    [mapView setDelegate:self];

    DisplayMap *ann = [[DisplayMap alloc] init];
    ann.coordinate = region.center;
    [mapView addAnnotation:ann];
}

また、mapkitviewcontroller に dealloc がありません。それでいいですか?このエラーはメモリ管理に関連しているため、質問しています。

私のアプリには5つのタブがありました。最初の 4 つのタブは単なる UIWebView です。webview の場合、webview を dealloc に入れていないことがわかりました。以下は私がwebviewで持っていたものです、

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

現在、xcode にも iOS 7 がありません。私はそれをダウンロードする必要がありますが、ここで前に質問することを考えました.

注:すべて iOS 6 で完全に動作しています。

なぜこのエラーが発生するのか推測できますか?

4

2 に答える 2

4

ページから移動する前に、マップ ビュー デリゲートを nil に設定しました。また、IOS マップにはメモリ管理の問題があると思います。deallocそのため、メソッドでマップをリリースすることをお勧めします。

于 2013-10-09T09:56:32.843 に答える
0

mapViewdeallocを入れると、問題は解決します。

さらに調査したところ、 のタイトルを追加していないことにも気付きましたDisplayMap

DisplayMap *ann = [[DisplayMap alloc] init];
ann.title = @"My Location";
于 2013-10-09T19:12:17.090 に答える