2012-10-24 85 views
1

我很好奇在Xcode模擬器上沒有使用Core Data,爲什麼執行似乎停止在下面的行(見下文)。這在設備上工作得很好,但在模擬器上[[self managedDocument] documentState]返回(null)。我懷疑這是因爲模擬器使用Mac並且沒有在磁盤上創建數據庫,但我只想檢查以確保在實際設備上運行時不會發生缺少的事情。模擬器在UIManagedDocument documentState上停止?

if([[self managedDocument] documentState] == UIDocumentStateNormal) { 
    [self scanDataFromServer:kALL_REACTOR_TEMPS]; 
} 

注:

我並不需要在模擬器上運行,我只是想檢查應用具有較大的iPhone5的屏幕,而蘋果是如何跑得到全面的實際設備運到我。

ALSO:

  1. 模擬器被設置爲視網膜4英寸,我使用的裝置是 iPhone4的。
  2. 該應用程序首先創建並填充核心數據,因此 不是缺少文件的情況。

回答

2

首先,UIDocumentState是一個NSInteger枚舉 - 它永遠不能爲零或null。它可以是未初始化的(垃圾),也可以是零。

我不知道你的意思這個:

我會懷疑,這是因爲模擬器使用Mac和是 不是在磁盤上創建數據庫

模擬器使用計算機的硬盤驅動器,因爲它是磁盤,存儲系統在模擬器和設備之間沒有區別。當然,您的應用程序在模擬器上的根文件夾路徑與其在設備上的路徑不同,但這並不重要。您可以在Mac上的應用程序文件夾中找到數據庫文件,該文件位於~/Library/Application Support/iPhone Simulator/之間。

創建並確保它不是nil後,我會仔細檢查您的UIDocument。此外,請記錄文檔的fileURL,並在計算機上找到該文件以確保其存在。

相關問題