2013-10-24 91 views
2

我們有一個我們在3年前寫的Mac應用程序。自Leopard(10.5)以來,我們一直在通過所有版本的OS X來維護它。它是一個32位通用二進制文件,是一套軟件包的一部分,全部以相同的方式進行編譯和構建。無法在小牛中加載nib/xib文件

所有的應用程序都在小牛下工作,除了一個,只有一個部分壞了。在這個「破碎」的應用程序中,我們有一個菜單選項,允許用戶打開一個簡單的日誌記錄窗口。所有這一切都是一個帶有文本視圖的NSPanel。當我們打開它時,旋轉的沙灘球出現並觀察控制檯,它將此程序標識爲「掛起」。

這件事情已經工作了多年。它可以在PPC和英特爾之間通過Leopard和Mountain Lion運行。我確信在某處存在被棄用的代碼,但我經歷了它,找不到任何代碼。反正真的沒什麼。它所做的只是打開並吐出文本。然後我查看了代碼,發現筆尖沒有加載。

我在這個系統上安裝了Xcode 3.2.5(它已經升級到Snow Leopard以後),沒有iPhone的支持,它似乎工作。無論如何,我想我會看看實際的內容和窗口布局,看看我是否有一些不受支持或過時的支持,並且當我從Xcode中雙擊xib文件時,當Interface Builder打開時,它也鎖定。我們已經在這個應用程序中考慮了5個xib文件,所以我雙擊了它們,並且它們都在Interface Builder中正常打開。唯一一個鎖定是這一個。作爲一項測試,我在Xcode 4中打開了xib,並正確打開了它。

我們不能真正轉向Xcode 4,因爲我們有相當數量的客戶端(約30%)仍在使用Leopard和Snow Leopard。我們通常建造獅子或雪豹。但在Mountain Lion下編譯和構建沒有任何問題。這個應用程序以及我們所有的其他應用程序都將在Mavericks系統上使用Xcode 3.2.5進行編譯和構建。似乎一切工作除了這一個xib文件。

有沒有人遇到過這樣的事情?我們忽略了什麼?我們忽略的操作系統是否有變化?這是一個操作系統錯誤?

回答

-1

如果使用Retrospect備份,請檢查NIB文件是否在服務器上的備份中被捕獲。

我最近發現了幾個應用程序,Retrospect無法處理備份NIB文件,直到備份作業停止後才放開NIB文件。