Objective c iPhone 6和iPad空中模拟器不进行网络通话
我正在试用Xcode 6 GM Seed,并编译我的应用程序,利用网络通话。在iPhone 5或iPad视网膜上使用Xcode 6模拟器时,网络通话一切正常,但奇怪的是,在使用iPhone 6/plus或iPad Air时,通话不正常。我尝试过在iOs 7.1和iOs 8下编译。如果它不能在Xcode 6或ios 8下工作,那是一回事,但我不明白为什么这样的东西不能在那些模拟器下工作。代码如下所示,但作为说明,我可以看到没有进行网络调用,也没有抛出错误 更新:它也在5s的sim卡下出现。但不是5或更早版本,也不是非air iPadObjective c iPhone 6和iPad空中模拟器不进行网络通话,objective-c,ios7,ios8,xcode6,Objective C,Ios7,Ios8,Xcode6,我正在试用Xcode 6 GM Seed,并编译我的应用程序,利用网络通话。在iPhone 5或iPad视网膜上使用Xcode 6模拟器时,网络通话一切正常,但奇怪的是,在使用iPhone 6/plus或iPad Air时,通话不正常。我尝试过在iOs 7.1和iOs 8下编译。如果它不能在Xcode 6或ios 8下工作,那是一回事,但我不明白为什么这样的东西不能在那些模拟器下工作。代码如下所示,但作为说明,我可以看到没有进行网络调用,也没有抛出错误 更新:它也在5s的sim卡下出现。但不是5
-(void)getActiveChannels
{
NSString *externalURL = @"https://www.mywebservice.com";
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:externalURL]];
request.HTTPMethod = @"POST";
[request setValue:@"application/x-www-form-urlencoded;charset=utf-8" forHTTPHeaderField:@"Content-Type"];
NSString *postDataStr = [NSString stringWithFormat:@"auth=%s",AUTH_CODE];
NSData *requestBodyData = [postDataStr dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:requestBodyData];
NSURLSessionDataTask *postDataTask = [self.session dataTaskWithRequest:request];
[postDataTask setTaskDescription:@"getActiveChannels"];
[postDataTask resume];
}
从我尝试过的中断点来看,这是完全执行的,但正如我所说的,当使用Phone 6 sim卡或iPad Air时,它实际上从未调用URL
下面是使用返回数据的方法,尽管它也没有走那么远
-(void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveData:(NSData *)data
{
self.channelDict = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
}
-(void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error
{
NSLog(@"%@",task.taskDescription);
if ([task.taskDescription isEqualToString:@"getActiveChannels"])
{
[[NSNotificationCenter defaultCenter] postNotificationName:@"channelsReady"
object:self.channelDict];
}
}
我找到了答案,但没有找到原因。NSURLSessionConfiguration和NSURLSession均为零。我把两者都设置得很弱,就像它们很强时一样,有漏洞。为什么这在一些iphone模拟人生中不是一个问题,但在其他模拟人生中却是一个谜