2017-04-21 6 views
0

何らかの理由で、デフォルトのコアデータコードがエラーをスローしています。これはちょうど私がデータモデルの新しいバージョンに移行しようとした後に起こり始めたので、私はこれをやめさせるために何かをしたと確信しています。コアデータ:NILを予期せず返すbundle.main.url

enter colazy var managedObjectModel: NSManagedObjectModel = { 
    // The managed object model for the application. This property is not optional. It is a fatal error for the application not to be able to find and load its model. 
    let modelURL = Bundle.main.url(forResource: "Band_Manager_2_0", withExtension: "momd")! 
    return NSManagedObjectModel(contentsOf: modelURL)! 
}() 

エラーをスローラインはこの1つである:ここでは、関連するコードだ

enter let modelURL = Bundle.main.url(forResource: "Band_Manager_2_0", withExtension: "momd")!code here 

そして、ここではエラーです:

fatal error: unexpectedly found nil while unwrapping an Optional value 
2017-04-21 14:17:01.620046-0400 Band Manager 2.0[5826:164435] fatal error: unexpectedly found nil while unwrapping an Optional value 
Current stack trace: 
0 libswiftCore.dylib     0x0000000100425160 swift_reportError + 129 
1 libswiftCore.dylib     0x0000000100441b80 _swift_stdlib_reportFatalError + 60 
2 libswiftCore.dylib     0x0000000100231a00 specialized specialized StaticString.withUTF8Buffer<A> ((UnsafeBufferPointer<UInt8>) -> A) -> A + 342 
3 libswiftCore.dylib     0x00000001003acec0 partial apply for (_fatalErrorMessage(StaticString, StaticString, file : StaticString, line : UInt, flags : UInt32) -> Never).(closure #2) + 109 
4 libswiftCore.dylib     0x0000000100231a00 specialized specialized StaticString.withUTF8Buffer<A> ((UnsafeBufferPointer<UInt8>) -> A) -> A + 342 
5 libswiftCore.dylib     0x000000010035f4a0 specialized _fatalErrorMessage(StaticString, StaticString, file : StaticString, line : UInt, flags : UInt32) -> Never + 96 
6 Band Manager 2.0     0x000000010005f500 AppDelegate.(managedObjectModel.getter).(closure #1) + 463 
7 Band Manager 2.0     0x000000010005d8d0 AppDelegate.managedObjectModel.getter + 194 
8 Band Manager 2.0     0x000000010005f880 AppDelegate.(persistentStoreCoordinator.getter).(closure #1) + 1115 
9 Band Manager 2.0     0x000000010005dad0 AppDelegate.persistentStoreCoordinator.getter + 211 
10 Band Manager 2.0     0x0000000100061020 AppDelegate.(managedObjectContext.getter).(closure #1) + 35 
11 Band Manager 2.0     0x000000010005dce0 AppDelegate.managedObjectContext.getter + 211 
12 Band Manager 2.0     0x000000010005a0d0 AppDelegate.applicationDidFinishLaunching(Notification) ->() + 51 
13 Band Manager 2.0     0x000000010005d530 @objc AppDelegate.applicationDidFinishLaunching(Notification) ->() + 71 
14 CoreFoundation      0x00007fff85d1c520 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12 
15 CoreFoundation      0x00007fff85d1c280 _CFXRegistrationPost + 427 
16 CoreFoundation      0x00007fff85d1c160 ___CFXNotificationPost_block_invoke + 50 
17 CoreFoundation      0x00007fff85cd9f90 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 2018 
18 CoreFoundation      0x00007fff85cd94c0 _CFXNotificationPost + 667 
19 Foundation       0x00007fff8771a955 -[NSNotificationCenter postNotificationName:object:userInfo:] + 66 
20 AppKit        0x00007fff839439f6 -[NSApplication _postDidFinishNotification] + 297 
21 AppKit        0x00007fff839437b4 -[NSApplication _sendFinishLaunchingNotification] + 208 
22 AppKit        0x00007fff838069c1 -[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:] + 552 
23 AppKit        0x00007fff838065a6 -[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:] + 661 
24 Foundation       0x00007fff87765cfb -[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] + 290 
25 Foundation       0x00007fff87765c31 _NSAppleEventManagerGenericHandler + 102 
26 AE         0x00007fff86b6ad06 aeDispatchAppleEvent(AEDesc const*, AEDesc*, unsigned int, unsigned char*) + 544 
27 AE         0x00007fff86b6ac76 dispatchEventAndSendReply(AEDesc const*, AEDesc*) + 39 
28 AE         0x00007fff86b6aa71 aeProcessAppleEvent + 312 
29 HIToolbox       0x00007fff85277da8 AEProcessAppleEvent + 55 
30 AppKit        0x00007fff838019c4 _DPSNextEvent + 1833 
31 AppKit        0x00007fff83f7cd72 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2796 
32 AppKit        0x00007fff837f640d -[NSApplication run] + 926 
33 AppKit        0x00007fff837c0d09 NSApplicationMain + 1237 
34 Band Manager 2.0     0x00000001000613d0 main + 13 
35 libdyld.dylib      0x00007fff9b8ad234 start + 1 
(lldb) 

私は誰かが、いくつかの洞察力を持つことになります願っていますこれをどのように修正するかについて。私はコアデータには比較的新しいので、打ち上げ直後にアプリがクラッシュするので、コーディングが完全に停止するようになりました。

ありがとうございます!

更新:これがなぜ起こっているのか(なぜリソースが必要でないのか)という技術的な理由を理解していますが、これを修正する方法はわかりません。見つけられないようなリソースは、過去のある時点で自動的に生成されたものです。私は、XCODEに必要なファイルを再生成させる方法や、なぜ最初に欠落したのかを理解できないようです。

+0

もし 'url(forResource'が' nil'を返すとリソースが見つからない場合) – vadian

+0

これは私が得たものです...質問は...このリソースはどこにありますか?私はまだ開発中ですので、私はすべてのテストデータを捨てて、XCODEで空のデータファイルを最初から作り直して再利用できるようにしています。どのようにそれを行うかを把握することができませんでした。 –

答えて

1

だから私はこれを考え出した...

約1週間前に、私は "Band Manager_2_0"から "bmData"にコアデータファイルの名前を変更し、過去1週間はすべてうまくいっています。しかし、今日、私はデータを移行していたが、最終的に接続を「壊した」。

ファイルの名前を変更するとすぐに接続が破られなかった理由はわかりません。これは私に問題の原因となるでしょう。それは私が今日中断した方法で場所をキャッシュしているに違いない。

何特に混乱していることは、Xcodeで舞台裏で何かにかかわらず、8

明らかに...しかし、実際のファイルが.xcdatamodeldの拡張子を持っている、コードは「MOMD」の拡張子を探しているということですこの問題は解決されました。

関連する問題