gpt4 book ai didi

ios - 从服务器下载 plist

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:45:18 27 4
gpt4 key购买 nike

今天我有一个读取 plist 站点的应用程序,但它会像这样工作吗:

当您打开应用程序时,它会检查用户是否已经在设备上安装了 plist,以及它是否是最新版本。

如果没有或者没有就是最新版本的服务器抓包

http://lab.vpgroup.com.br/aplicativos/teste-catalogo/lista.plist

我该怎么做?我在这里看到了很多关于 stackoverflow 的问题,但没有一个能满足我的需要。

谢谢

最佳答案

您永远不想阻塞 UI。下载可能需要很长时间。因此在后台进行。最简单的是使用 NSURLConnection 的便捷方法 sendAsynchronousRequest:request 顾名思义,它是异步的,并在下载完成时调用传递的完成 block

NSURL *url = [NSURL URLWithString:@"http://lab.vpgroup.com.br/aplicativos/teste-catalogo/lista.plist"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
NSDictionary *dict = [NSPropertyListSerialization propertyListFromData:data mutabilityOption:0 format:0 errorDescription:nil];
NSLog(@"%@", dict);
}];

示例:

#import <Foundation/Foundation.h>

int main(int argc, char *argv[]) {
@autoreleasepool {
NSURL *url = [NSURL URLWithString:@"http://lab.vpgroup.com.br/aplicativos/teste-catalogo/lista.plist"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
NSDictionary *dict = [NSPropertyListSerialization propertyListFromData:data mutabilityOption:0 format:0 errorDescription:nil];
NSLog(@"%@", dict);
}];

//just for demo
[[NSRunLoop currentRunLoop] run];
}
}

关于ios - 从服务器下载 plist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19101179/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com