从App参考网站实时更新状态

时间:2013-12-03 14:10:33

标签: ios iphone ipad uiwebview web

我有一个网站:http://www.grandforks.af.mil/library/weathercenter/index.asp

页面中间有一个标志,表示当前基础路况。

每个条件的文件名不同1个数字。

  • 格林是19
  • 黄色是20
  • 红色是21

我无法控制这个网站。

我的问题是如何才能将我正在构建的应用中的当前道路状况显示为网站的反映?我不希望有任何用户输入我想让应用程序能够脱离网站。我尝试过使用UIWebView,但我无法专注于页面的这个区域。如果我能做到这一点,那可能是更好的解决方案。

1 个答案:

答案 0 :(得分:0)

丑陋的解决方案: 你可以下载网站的html,解析它搜索字符串“http://www.grandforks.af.mil/shared/media/document/AFD-121002-”并获取实际的URL(类似http://www.grandforks.af.mil/shared/media/document/AFD-121002-019.jpg)。 之后,您可以在UIImageView中加载该URL或(更好)区分并显示应用程序中包含的图像。

丑陋取决于如果他们更改图片的网址,您的应用就会停止工作。

我建议当用户打开应用程序时,它会检查您的页面并最终下载您正在寻找的字符串。这样做,如果网站更改了网址,您可以手动修改来源而无需更新应用。

我不知道使用他人信息是否合法。


修改: 这是我构建的一个示例,演示了如何对字符串进行子串:

NSString *myString = @"11111www.the-site.com/img42.jpg222222222222222";
NSString *searchString = @"www.the-site.com/img";
NSRange range = [myString rangeOfString:searchString];
NSLog(@"searched string strart at character %lu, and it's long %lu charactrers", (unsigned long)range.location, (unsigned long)range.length);
NSInteger index = range.location + range.length;
NSString *mySubString = [myString substringFromIndex:index];
NSLog(@"string from the index: %@", mySubString);
//I know that the substring I'm looking for is long exactly 2 characters
NSString *the_answer = [mySubString substringToIndex:2];
NSLog(@"this should print 42: %@", the_answer);

我添加了一些打印件,所以你可以一步一步地看到我在做什么。 显然你必须用“http://www.grandforks.af.mil/shared/media/document/AFD-121002-”改变“searchString”,而myString是页面的html。

我希望它有所帮助。