2010-10-18 30 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可能是动态的。)

相关问题