簡體   English   中英

使用Xcode升級應用程序時,由於在視圖控制器上找不到一些已刪除的IBOutlet綁定,導致應用程序崩潰

[英]App crashed due to can't find some removed IBOutlet binding on view controller when upgrade app with Xcode

只想分享我的經驗,以避免浪費您的時間來使用愚蠢的Xcode。

最近,我們即將發布v1.3應用程序,由於一些核心數據更改,我們必須進行一些sqlite DB數據遷移,為了測試這種情況,我剛剛在裝有iTunes的設備上安裝了v1.1應用程序,並成功遷移了[AppDelegate應用程序:didFinishLaunchingWithOptions:]返回的數據和代碼后,使用Xcode構建了最新的v1.3代碼並在我的設備上運行,該應用程序因以下錯誤而崩潰。

29:46.880 MyApp[3879:907] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<PGSignInViewController 0x1c5d4840> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key **buttonConnectFacebook**.'

實際上,自v1.2以來,在代碼重構期間,從PGSignInViewController以來, buttonConnectFacebook屬性和IBOutlet綁定已從PGSignInViewController刪除,在我的項目中搜索了代碼和UIlayout ,沒有找到buttonConnectFacebook ,似乎我的設備或Xcode上存在一些緩存的UIlayout

因此,我清理了我的項目,重建了我的應用程序,並在設備上安裝了最新的代碼,但是沒有運氣。 然后,我嘗試重新啟動設備,但是沒有運氣。 重置我的設備,不走運; 刪除了整個Xcode派生數據文件夾: /*****/Library/Developer/Xcode/DerivedData ,仍然無法使用。

經過2天的努力,嘗試了不同的方法,最后,我嘗試升級我的App,就像用戶升級他們的App一樣,我存檔了v1.3應用並分發了臨時配置文件,並通過iTunes安裝了v1.1應用,啟動了v1.1應用程序,以確保將某些數據寫入sqlite DB,使用iTunes安裝v1.3應用程序,啟動了v1.3應用程序...眼淚,它可以正常運行而不會崩潰,一切都很好,包括遷移的數據。

希望這個答案有幫助。

如果你以上問題,試圖模擬器用戶如何升級自己的應用程序,與iTunesTestflight安裝舊版本,安裝與iTunesTestflight新版本。 似乎Xcode可以解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM