2012-02-28 3 views
0

私はタブ付きビューアプリケーションを作成し、CloudMadeのAPIを使用しています。 私は、単一のビューアプリケーションで、タブ付きビューにコピーしようとしている作業中のプロジェクトを持っています。CALayerInvalidGeometry'CALayerInvalidGeometry '

すべてをコピーして貼り付け、プロジェクトの設定とすべてを設定しました。 タブ付きビューFirstViewControllerは、古いシングルビューアプリケーションとまったく同じです。 はどのようにこれまで私は、アプリケーションを実行すると、私はこのエラーを取得:

Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer bounds contains NaN: [inf inf; nan nan]' 

私はグーグルしようとしたが、何も来ません。それは私の注意を払う必要があるものがあるかどうかわからないので、私の最初のタブ付きビューアプリケーションです。 ここに貼り付けるコードセクションやエラーレポートについてもわかりません。 ご協力いただければ幸いです! ありがとう!それはそうと、

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    locationManager = [[CLLocationManager alloc] init]; 
    locationManager.distanceFilter = kCLDistanceFilterNone; 
    locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
    locationManager.delegate = self; 
    [locationManager startUpdatingLocation]; 

    id cmTilesource = [[RMCloudMadeMapSource alloc] initWithAccessKey:@"dfd3baf1ceda40ff8b4bf4b55303253d" styleNumber:1]; 
    [[RMMapContents alloc] initWithView:mapView tilesource: cmTilesource]; 
    tokenManager = [[TokenManager alloc] initWithApikey:@"dfd3baf1ceda40ff8b4bf4b55303253d"]; 
    _routingManager = [[CMRoutingManager alloc] initWithMapView:mapView tokenManager:tokenManager]; 

    _routingManager.delegate = self; 

    int width = self.view.frame.size.width; 
    int height = 64; 
    _rifRect = CGRectMake(0, 0, width, height); 
    _firCenter = CGPointMake(width/2,height/2); 

    route = [[RMPath alloc] initForMap:mapView]; 

    route.lineColor = [UIColor blueColor]; 
    route.fillColor = [UIColor clearColor]; 
    route.lineWidth = 5; 
    route.scaleLineWidth = NO; 

    _rif = [[CMRouteInfoView alloc] init:_rifRect :nil]; 
    _rif.center = _firCenter; 
    _rif.autoresizingMask = UIViewAutoresizingFlexibleWidth; 

    _rif.delegate = self; 
} 

EDITこんにちは:

EDIT 2:3

2012-02-28 23:51:00.720 ParkerAssistant[1454:f803] CRASH: CALayer bounds contains NaN: [inf inf; nan nan] 
2012-02-28 23:51:00.725 ParkerAssistant[1454:f803] Stack Trace: (
    0 CoreFoundation      0x0156606e __exceptionPreprocess + 206 
    1 libobjc.A.dylib      0x01b1ad0a objc_exception_throw + 44 
    2 CoreFoundation      0x0150ea78 +[NSException raise:format:arguments:] + 136 
    3 CoreFoundation      0x0150e9e9 +[NSException raise:format:] + 57 
    4 QuartzCore       0x001df137 _ZN2CA5Layer10set_boundsERKNS_4RectEb + 215 
    5 QuartzCore       0x001d52fa -[CALayer setBounds:] + 156 
    6 ParkerAssistant      0x0003ee9a -[RMPath recalculateGeometry] + 927 
    7 ParkerAssistant      0x00002f55 -[ParkerAssistantFirstViewController viewDidLoad] + 1397 
    8 UIKit        0x003fd64e -[UIViewController view] + 184 
    9 UIKit        0x00418b89 -[UITabBarController transitionFromViewController:toViewController:transition:shouldSetSelected:] + 105 
    10 UIKit        0x004189bd -[UITabBarController transitionFromViewController:toViewController:] + 63 
    11 UIKit        0x00416f8a -[UITabBarController _setSelectedViewController:] + 339 
    12 UIKit        0x00416e2f -[UITabBarController setSelectedViewController:] + 169 
    13 UIKit        0x00414ffb -[UITabBarController _selectDefaultViewControllerIfNecessaryWithAppearanceTransitions:] + 192 
    14 UIKit        0x0041585a -[UITabBarController viewWillAppear:] + 148 
    15 UIKit        0x003fefbf -[UIViewController _setViewAppearState:isAnimating:] + 158 
    16 UIKit        0x003ff21b -[UIViewController __viewWillAppear:] + 62 
    17 UIKit        0x004000f1 -[UIViewController viewWillMoveToWindow:] + 253 
    18 UIKit        0x0036efec -[UIView(Hierarchy) _willMoveToWindow:withAncestorView:] + 592 
    19 UIKit        0x00374572 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 388 
    20 UIKit        0x0036e72b -[UIView(Hierarchy) addSubview:] + 56 
    21 UIKit        0x0035dbc2 -[UIWindow addRootViewControllerViewIfPossible] + 380 
    22 UIKit        0x0035dce2 -[UIWindow _setHidden:forced:] + 280 
    23 UIKit        0x0035dea8 -[UIWindow _orderFrontWithoutMakingKey] + 49 
    24 UIKit        0x00364d9a -[UIWindow makeKeyAndVisible] + 35 
    25 UIKit        0x00335be6 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1820 
    26 UIKit        0x003368a6 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 508 
    27 UIKit        0x00345743 -[UIApplication handleEvent:withNewEvent:] + 1027 
    28 UIKit        0x003461f8 -[UIApplication sendEvent:] + 68 
    29 UIKit        0x00339aa9 _UIApplicationHandleEvent + 8196 
    30 GraphicsServices     0x02398fa9 PurpleEventCallback + 1274 
    31 CoreFoundation      0x0153a1c5 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 53 
    32 CoreFoundation      0x0149f022 __CFRunLoopDoSource1 + 146 
    33 CoreFoundation      0x0149d90a __CFRunLoopRun + 2218 
    34 CoreFoundation      0x0149cdb4 CFRunLoopRunSpecific + 212 
    35 CoreFoundation      0x0149cccb CFRunLoopRunInMode + 123 
    36 UIKit        0x003362a7 -[UIApplication _run] + 576 
    37 UIKit        0x00337a9b UIApplicationMain + 1175 
    38 ParkerAssistant      0x000024e8 main + 152 
    39 ParkerAssistant      0x00002445 start + 53 
) 
2012-02-28 23:51:00.726 ParkerAssistant[1454:f803] *** Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer bounds contains NaN: [inf inf; nan nan]' 
*** First throw call stack: 
(0x1566052 0x1b1ad0a 0x150ea78 0x150e9e9 0x1df137 0x1d52fa 0x3ee9a 0x2f55 0x3fd64e 0x418b89 0x4189bd 0x416f8a 0x416e2f 0x414ffb 0x41585a 0x3fefbf 0x3ff21b 0x4000f1 0x36efec 0x374572 0x36e72b 0x35dbc2 0x35dce2 0x35dea8 0x364d9a 0x335be6 0x3368a6 0x345743 0x3461f8 0x339aa9 0x2398fa9 0x153a1c5 0x149f022 0x149d90a 0x149cdb4 0x149cccb 0x3362a7 0x337a9b 0x24e8 0x2445) 
terminate called throwing an exception 

EDIT:のviewDidLoadメソッドはここで例外スタックトレース(と思う)ですタブ付きビューコントローラはそれとは何の関係もありません。 新しい単一ビューアプリケーションのために再度コピーしましたが、もう一度は機能しません。 私はおそらく、(前に何か違いがあったとは思っていませんでした)作業用アプリケーションはではありません。ストーリーボードを使用してください。ただ1つのxibファイルです。 2(タブ付きおよび単一のビュー) 私も..どこを開始するのか分からない おかげ

+0

[例外ブレークポイントを作成する](http://stackoverflow.com/questions/4961770/run-stop-on-objective-c-exception-in-xcode-4)、質問を編集してスタックに貼り付けてください例外のトレース。 –

+0

が編集されました。それが何かを願っています。 –

+0

あなたの2回目の編集は、私が言ったことです。 –

答えて

1

問題は、地図のアウトレットmapViewをストーリーボードのRMMapViewオブジェクトにリンクしていないことでした。今それは働いています。

-1

あなたがQuartzCore.frameworkをリンク持っていますが動作しませんか?私はCALayerがQuartzCoreを必要としていることは確かです。これを行うには、[Target] - > [Build Phases]タブ - [Link with Binary with Libraries]を選択します。プラス記号をクリックし、下にスクロールしてQuartzCoreを選択してプロジェクトにリンクします。あなたの-[ParkerAssistantFirstViewController viewDidLoad]方法で

Linking quartzCore Framework

enter image description here

+0

こんにちは、ありがとうございますが、QuartzCoreは既にリンクされています。 –

0

、あなたはRMPathのインスタンスにrecalculateGeometryメッセージを送信します。 RMPathは、CALayerの境界を設定します。

例外メッセージを見ると、RMPathがレイヤの境界を矩形[inf inf; nan nan]に設定していることがわかります。単語infは "無限大"の略語なので、矩形の原点は無限になります。単語nanは "not-a-number"を意味するので、長方形のサイズは完全に無効です。それはCALayerが不平を言っているものです。

最初の編集で変数を見ると、scaleが0であることがわかります。それは疑わしいです。それがビューのズームファクタであれば、おそらく有効ではありません。それがあなたがコントロールしているものなら、1(またはその他の小さな正の数)に設定してみてください。

+0

お探していただきありがとうございます。スケールと呼ばれる変数はありません。おそらくRMPathオブジェクトからのものです。 また、RMPath.hはメソッドuを述べていません...私はviewDidLoadメソッドで投稿を編集します –

+0

これは、ストーリーボードと関係があると思われます..私の編集PLZを参照してください!ありがとう。 –