2014-04-04 196 views
0

我看到很多話題,但沒有人回答我的問題。 這個程序在模擬器上運行,但是當我執行它時,它會崩潰。 這是我的簡單代碼。謝謝!Xcode應用程序在模擬器上運行,但不在設備上

NSURL *url=[NSURL fileURLWithPath:@"/Users/marco/Desktop/Letters/1.txt"]; 
NSString *fileContent = [NSString stringWithContentsOfURL:url]; 
NSLog(@"fileContent = %@", fileContent); 
NSArray * a = [NSArray arrayWithObjects:fileContent, nil]; 
Output.text=[a objectAtIndex:0]; 
NSLog (@"The 4th integer is: %@", a); 
+1

該URL犯規您的設備上存在嗎? – Fonix

+0

如果沒有越獄,你無法訪問駐留在應用沙箱外的文件。 – rckoenes

回答

0

將您的1.txt文件移動到您的設備上,例如您的文檔文件夾。

然後改變你的應用程序的第一行,像這樣:

NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; 
NSString *filePath = [NSString stringWithFormat:@"%@/1.txt", documentsPath]; 
NSURL *url = [NSURL fileURLWithPath:filePath]; 
+0

或者,可以在構建階段將該文件添加到「複製包資源」中。 –

0

既然你說這個工程在模擬器上,我會假設你正確添加文件到您的項目。如果沒有,將文件添加到您的項目和目標。您可以通過NSBundle獲取URL在構建時你包括的任何資源:

NSBundle *bundle = [NSBundle bundleForClass:[self class]]; // often you will see [NSBunble mainBundle, but both work 
NSURL *url = [bundle URLForResource:@"1" withExtension:@"txt"]; 
相關問題