2010-10-18 28 views
3

我有一個應用程序顯示10個圖像,每個圖像都與一個按鈕和一個URL鏈接相關聯。我想發佈這個應用程序,但能夠通過網絡更新圖像和鏈接,而無需更新應用程序。從網絡加載內容的最佳方式

我知道我可以從網上拉圖像,像這樣:

NSURL *url = [NSURL URLWithString: @"http://example.com/image.png"]; 
NSData *data = [NSData dataWithContentsOfURL: url]; 
UIImage *image = [UIImage imageWithData: data]; 
UIImageView *imageView = [[UIImageView alloc] initWithImage: image]; 

我認爲它也可以從網上拉的plist呢?

.xib和.h/.m文件怎麼樣?我可以讓我的應用程序在每次運行時檢查新的.xib/.h/.m文件的某個URL,並且在兩週內將這些文件上傳到該URL時,運行該應用程序的人將會加載新的文件?

因此,而不是裝載這樣的類/從我的資源廈門國際銀行:

UIViewController *nextController = [[ClassName alloc] initWithNibName:@"ClassName" bundle:nil]; 

我會以某種方式替代類名與新數據從Web拉?

我已經看到了一些應用程序,不需要用戶下載應用程序的更新,就可以從網絡中獲取新數據(通常是簡單的圖像/文本 - 例如Doodle Jump中偶爾的「新聞」更新)。任何幫助邁出這一步的第一步,將不勝感激......謝謝!

回答

2

將您的應用程序中捆綁的所有起始材料存儲在資源文件夾中。在第一次加載時,以編程方式將所有材質複製到束庫路徑。您的應用程序應該只處理庫目錄中的數據。當您的應用第一次連接到Web時,您可以將任何新數據保存到用戶的庫路徑並覆蓋舊的內容。

編譯後的應用程序包目錄是不可能的,因爲這打破了Apple的簽名。

這顯然只是一個高級別的建議。不知道你想要做什麼,很難給出詳細的答案。但是,是的,下載和存儲數據是允許的,只是不在應用程序包內。不幸的是,你不能發送新的.h/.m文件或​​xibs。

1

您可以從網絡加載資源,但無法在運行的應用程序中「編譯」任何內容,因此.m/.mh/.xib無法使用。

您當然可以加載plist(或其他數據文件)並使用它來引用不同的圖像和鏈接。 (在這個意義上,上面的http://example.com/image.png可能是動態的。)

相關問題