2016-08-18 73 views
2

我在嘗試構建我的解決方案時遇到了一個奇怪的錯誤: 運行ibtool時發生異常:*** setObjectForKey:object can not be nil關鍵:家庭)運行ibtool時Xamarin.IOS異常:對象不能爲零(鍵:系列)

我已經使用Google搜索,但沒有答案這個問題,只是問題......也許值得一提的是,我使用Visual Studio社區2015年,我得到了最新的Xcode安裝在我的Mac和我有更新的iPhone 5s連接到Mac。我的Mac上的操作系統是El Capitan(10.11.4)。

我覺得這個問題主要來自我的故事板,起初我得到這個錯誤,當我試圖創建一個按鈕之間的兩個視圖的segue。我刪除它,它像往常一樣工作,現在我在這個項目中得到了同樣的錯誤,它不是感謝segue。

如果我排除故事板,我可以毫無困難地構建解決方案,但由於故事板丟失,我無法在iPhone上運行應用程序。

任何人都知道問題可能是什麼?這裏有必要時錯誤日誌:

Severity Code Description Project File Line Source Suppression State 
Error  Exception while running ibtool: *** setObjectForKey: object cannot be nil (key: family) 
Backtrace: 
    0 __exceptionPreprocess (in CoreFoundation) 
    1 objc_exception_throw (in libobjc.A.dylib) 
    2 -[__NSDictionaryM setObject:forKey:] (in CoreFoundation) 
    3 0x00000001181c6b41 (in IDEInterfaceBuilderCocoaTouchIntegration) 
    4 0x000000011814ee00 (in IDEInterfaceBuilderCocoaTouchIntegration) 
    5 0x000000011814d775 (in IDEInterfaceBuilderCocoaTouchIntegration) 
    6 0x000000011815f133 (in IDEInterfaceBuilderCocoaTouchIntegration) 
    7 0x000000011815eeac (in IDEInterfaceBuilderCocoaTouchIntegration) 
    8 0x000000011815ec66 (in IDEInterfaceBuilderCocoaTouchIntegration) 
    9 0x000000011815d934 (in IDEInterfaceBuilderCocoaTouchIntegration) 
10 0x00000001181cb205 (in IDEInterfaceBuilderCocoaTouchIntegration) 
11 0x00000001181ccce7 (in IDEInterfaceBuilderCocoaTouchIntegration) 
12 -[IBDocumentCompiler invokeWhileUsingSourceAsIntermediateDocument:] (in IDEInterfaceBuilderKit) 
13 -[IBDocumentCompiler invokeWithIntermediateDocumentOfTargetRuntime:alwaysCopy:block:] (in IDEInterfaceBuilderKit) 
14 0x00000001181cc40a (in IDEInterfaceBuilderCocoaTouchIntegration) 
15 0x00000001181b8b4d (in IDEInterfaceBuilderCocoaTouchIntegration) 
16 -[IBStoryboardSceneCompilationGroup compilationResultsForCompilationUnits:options:returningErrors:] (in IDEInterfaceBuilderKit) 
17 -[IBStoryboardDocumentCompiler compileUnitsFromCompilationGroups:filter:options:errors:] (in IDEInterfaceBuilderKit) 
18 __78-[IBStoryboardDocumentCompiler compileContentsOfStoryboardWithOptions:errors:]_block_invoke (in IDEInterfaceBuilderKit) 
19 IBWithAutoInvalidationPool (in IDEInterfaceBuilderKit) 
20 -[IBStoryboardDocumentCompiler compileContentsOfStoryboardWithOptions:errors:] (in IDEInterfaceBuilderKit) 
21 -[IBStoryboardDocumentCompiler internalCompileWithOptions:error:] (in IDEInterfaceBuilderKit) 
22 0x00000001181b8f5e (in IDEInterfaceBuilderCocoaTouchIntegration) 
23 __57-[IBStoryboardDocumentCompiler compileWithOptions:error:]_block_invoke (in IDEInterfaceBuilderKit) 
24 -[IBDocumentCompiler invokeWithIntermediateDocument:] (in IDEInterfaceBuilderKit) 
25 -[IBDocumentCompiler invokeWithIntermediateDocumentOfTargetRuntime:alwaysCopy:block:] (in IDEInterfaceBuilderKit) 
26 -[IBStoryboardDocumentCompiler compileWithOptions:error:] (in IDEInterfaceBuilderKit) 
27 +[IBDocumentCompiler compileContentsOfDocument:options:error:] (in IDEInterfaceBuilderKit) 
28 __47-[IBDocument compiledPackageWithOptions:error:]_block_invoke (in IDEInterfaceBuilderKit) 
29 -[IBDocumentAutolayoutManager ignoreAutolayoutStatusInvalidationDuring:] (in IDEInterfaceBuilderKit) 
30 -[IBDocument compiledPackageWithOptions:error:] (in IDEInterfaceBuilderKit) 
31 -[IBDocument compileAndWriteToPath:withOptions:error:] (in IDEInterfaceBuilderKit) 
32 0x000000010ceb52da (in ibtoold) 
33 0x000000010ceb10e7 (in ibtoold) 
34 0x000000010ceb36ab (in ibtoold) 
35 0x000000010ceb75c8 (in ibtoold) 
36 0x000000010ceb7c5a (in ibtoold) 
37 0x000000010ceb7b2d (in ibtoold) 
38 0x000000010cea695b (in ibtoold) 
39 0x000000010ceb71c3 (in ibtoold) 
40 0x000000010ceb6274 (in ibtoold) 
41 start (in libdyld.dylib) FridgeMe.iOS   Build 

編輯:我刪除了我的第二個視圖控制器,並創造了一個全新的一個,這似乎已經解決了這一問題。仍然不確定是什麼原因導致了這個問題,但是如果有人知道我真的想知道這是否會發生。

編輯2:只要我在其他(新)視圖控制器上添加一個按鈕,錯誤就回來了。它還涉及運行時錯誤,關於沒有代碼的按鈕(我認爲是在故事板上添加按鈕時創建的)。看到圖片。 Seems like the code for the button isn't generated properly.

我希望這可以幫助其他人遇到這個問題。我仍然有點卡住,因爲我試圖從工作視圖控制器手動複製有關按鈕的所有內容(將其名稱改爲當然),但我似乎無法使其工作。

我已經加入以下我ViewControllerCreate.designer.cs:

UIKit.UIButton BtnCreateAccount { get; set; } 

void ReleaseDesignerOutlets() 
{ 
    if (BtnCreateAccount != null) 
    { 
     BtnCreateAccount.Dispose(); 
     BtnCreateAccount = null; 
    } 
} 

任何想法?

+0

這看起來更像是一個'ibtool'崩潰比編譯錯誤。 'ibtool'在幾年前非常不穩定,隨機會在隨機故事板上崩潰(有時會通過構建,有時不會)。你的問題每次都發生還是有時會發生? –

+0

具有相同的問題。當我在一個View Controller的Storyboard中添加一個Segue到另一個View Controller時出現錯誤,但是當我刪除Segue時,它會生成良好。 – Seth

+0

因此,在從故事板中刪除segue並嘗試設置代碼中的轉換之後,我仍然收到錯誤消息。這一次,當我設置我試圖轉換到的View Controller的Storyboard ID時,它不會生成。如果我將它留空,它會很好。但是,現在我完全陷入了無法轉換到下一個控制器的狀態。 – Seth

回答

0

我得到了同樣的錯誤。

分析代碼main.storyboard後,我發現,在我的情況下,錯誤跳轉如果一個按鈕或其他控制具有類似: <了fontDescription鍵=「了fontDescription」 NAME =「HelveticaNeue」的pointsize =」 17"/>

家庭字體的問題,嘗試改變 <了fontDescription鍵= 「了fontDescription」 類型= 「系統」 的pointsize = 「17」/ >或直接刪除德系。

的問候,馬塞洛

0

我不知道你下面的代碼可能會有所幫助。

internal class CustomUIView : UIView 
{ 
    internal CustomUIView(IntPtr value) :base(value) 

    { 

    } 
} 

例子:

UIView view = new CustomUIView(IntPtr.Zero); 

請參閱有關更多信息,here