我的应用使用UIWebView通过WiFi将控制消息传输到远程设备。消息由HTML标头,IP地址和CGI命令组成。 IP地址与目标设备的静态地址匹配。 WiFi设置还表示通过无线路由器(即Airport Express)连接到静态IP地址。
即使iPhone状态栏没有显示WiFi图标,代码似乎也能在运行iOS6或iOS7的iPhone4上可靠地运行。但它拒绝在iPhone5或iPhone5C上运行。
这些是常数:
static NSString* const HTTP = @"http:/"; // CGI header
static NSString* const ip = @"192.168.50.87"; // ip address
static NSString* const INITIALISE = @"rc.cgi?c=99"; // Switch device
以下是方法:
- (void)loadInitialise {
UIWebView *initialise = [[UIWebView alloc] init];
NSString *switchInit = [NSString stringWithFormat:@"%@/%@/%@", HTTP, ip, INITIALISE];
NSLog(@"%@", switchInit);
NSURL *webURL = [NSURL URLWithString: switchInit];
NSURLRequest *webURLRequest = [NSURLRequest requestWithURL:webURL];
[initialise loadRequest:webURLRequest];
有人可以解释为什么UIWebView可能适用于iPhone4但不适用于iPhone5。感谢。