我在設備上安裝了應用的舊版本。在我的新版本中,我不再使用.xib文件,因爲它從複雜事物變爲表視圖,我可以在代碼中實例化它。使用.xib在設備上更新應用程序已移除崩潰應用
但是,當我在設備上構建並運行時,它會崩潰,因爲它仍會嘗試從舊應用程序中包含的.xib文件加載控制器,並且抱怨缺少UILabel的鍵/值對。
例如:
SomeViewController.h(的UITableViewController)
SomeViewController.m
SomeViewController.xib(在新的版本中刪除)
SomeViewController *controller = [[SomeViewController alloc] initWithStyle:UITableViewStylePlain];
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self)
{
}
return self;
}
即使我稱之爲 「initWithStyle」 它仍然會嘗試加載預先存在的.xib!
我目前的解決方案是用空白的UITableView創建SomeViewController.xib。
但是,我懷疑當用戶從應用程序商店更新應用程序時,它會覆蓋整個應用程序,而不會留下任何東西。
這是真的嗎?應用程序更新是否覆蓋現有的應用程序,還是會留下延遲的.xib文件?
現在我必須用其他視圖測試舊版本,以確保沒有其他問題纏綿。
上NIB的讀通過開發文本: http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/LoadingResources/CocoaNibs/CocoaNibs.html
也許,我發現了一個bug?
另一種選擇是讓我將這個類重新命名爲SomeController之類的東西,以避免自動加載關聯的.xib文件。
摘要:使用Xcode構建和運行應用程序只發送已更改的文件,吃了一個「frankenbuild」。使用Adhoc構建進行測試。 – 2013-07-08 13:15:07
謝謝!我最近閱讀了一些關於在發佈之前測試adhoc構建的必要性的帖子,以確保處理各種問題。添加到我的測試清單中。 – Christopher 2013-07-09 01:08:19
很高興我能幫到你。我在搜索測試構建的方法時遇到了這一段文檔,以便我可以避免出現同樣的問題。 – 2013-07-09 02:59:42