Лучший способ загрузить контент из Интернета - PullRequest
3 голосов
/ 18 октября 2010

У меня есть приложение, которое отображает 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];

Я полагаю, что можно также извлечь лист из сети?

А как насчет файлов .xib и .h / .m? Могу ли я, чтобы мое приложение проверяло определенный URL-адрес на наличие новых файлов .xib / .h / .m каждый раз, когда оно запускается, и когда я загружаю эти файлы на этот URL-адрес через две недели, люди, которые запускают приложение, будут загружать новое файлы

Так что вместо загрузки класса / XIB из моих ресурсов вот так:

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

Я бы как-то заменил ClassName новыми данными, полученными из Интернета?

Я видел приложения, которые загружают новые данные (при условии, что это, как правило, простые изображения / текст - такие как случайные обновления новостей в Doodle Jump) из Интернета, не требуя, чтобы пользователи загружали обновление для приложения. Любая помощь с первыми шагами на пути к этому будет принята с благодарностью ... Спасибо!

Ответы [ 2 ]

2 голосов
/ 18 октября 2010

Храните все ваши исходные материалы, которые входят в ваше приложение, в папке ресурсов. При первой загрузке программно скопируйте весь этот материал в путь к библиотеке комплекта. Ваше приложение должно работать только с данными внутри каталога библиотеки. Когда ваше приложение впервые подключается к сети, вы можете сохранить любые новые данные в пути к библиотеке пользователя и перезаписать старые данные.

Невозможно записать в каталог пакета приложений после его компиляции, потому что это нарушает подпись Apple.

Это просто предложение высокого уровня, очевидно. Не зная точно, что вы хотите сделать, трудно дать подробный ответ. Но да, загрузка и хранение данных разрешены, но не внутри пакета приложения. К сожалению, вы не можете отправить ему новые файлы .h / .m или xibs.

1 голос
/ 18 октября 2010

Вы можете загружать ресурсы из Интернета, но вы не можете «скомпилировать» что-либо в работающем приложении, поэтому .m / .mh / .xib непригодны для использования.(или другой файл данных) и использовать его для ссылки на различные изображения и ссылки.(http://example.com/image.png выше может быть динамичным в этом смысле.)

...