2013-11-21 85 views
1

我目前正在爲iOS 6和7開發應用程序。我第一次使用故事板。當我在iOS 7上使用iPhone或模擬器時,我的應用程序工作正常。無法在iOS 6.0或6.1中運行應用程序

然而,當我試圖在iOS 6或6.1它與下面的錯誤崩潰運行:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSPlaceholderString initWithString:]: nil argument' 

注意:我部署目標是6.0,但我基地SDK是最新(iOS 7.0)。

  • 我應該檢查哪些設置?
  • 我應該加載一個早期的SDK嗎?
  • 故事板與此有什麼關係?
+3

請嘗試添加異常斷點並複製拋出異常的代碼。你可以添加一個異常斷點,調試器應該停止在拋出異常的那一行:https://developer.apple.com/library/ios/recipes/xcode_help-breakpoint_navigator/articles/adding_an_exception_breakpoint.html – slecorne

+0

這裏很難明白,你可以發佈一些代碼嗎? –

+0

向我們展示一些代碼,特別是它抱怨的部分 - > startingWithString部分。 – Bourne

回答

0

終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因是: '* - [NSPlaceholderString initWithString:]:無參數'

它明確規定有關,您有在一個NSString對象除外你的代碼在哪裏得到零參數。因此,嘗試放置斷點並使用調試器來檢查NSString對象在哪裏得到零參數,並嘗試相應地進行糾正。

1

當我更新到iOS 7時,我遇到了這樣的問題。問題最終與使用UITextField有關。使用iOS 7 SDK並編譯iOS 6時,空文本字段將返回nil而不是@""。因此,如果你做的事情如

NSMutableString *myString = [[NSMutableString alloc] initWithString:self.myTextField.text]; 

它會導致你的代碼爆炸,正如你所描述的。

相關問題