Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone OS 3.x-后台异步套接字(如果语句不可行?)_Iphone_Ios_If Statement_Background_Asyncsocket - Fatal编程技术网

iPhone OS 3.x-后台异步套接字(如果语句不可行?)

iPhone OS 3.x-后台异步套接字(如果语句不可行?),iphone,ios,if-statement,background,asyncsocket,Iphone,Ios,If Statement,Background,Asyncsocket,我正在尝试用异步套接字实现后台模式。 以下是一些代码: CFReadStreamRef theReadStream; CFWriteStreamRef theWriteStream; if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 4.0) { CFReadStreamSetProperty (theReadStream, kCFStreamNetworkServiceType, kCFS

我正在尝试用异步套接字实现后台模式。 以下是一些代码:

CFReadStreamRef theReadStream;
CFWriteStreamRef theWriteStream;

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 4.0) {        
    CFReadStreamSetProperty (theReadStream,  kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);
    CFWriteStreamSetProperty(theWriteStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP); 
}  
我知道
kCFStreamNetworkServiceType
kCFStreamNetworkServiceTypeVoIP
在iOS从4.0开始的iPhone中可用

当我从4.0开始将iOS嵌入iPhone时,上述代码确实是可行的

然而,我无法成功地将上述代码构建到带有iOS 3.1的iPhone中

我已经在上述代码中添加了语句,
([[[UIDevice currentDevice]systemVersion]floatValue]>=4.0)


我不知道为什么我根本无法进入程序,尤其是我添加了if语句。

我认为您遇到了编译时错误,因为您的代码中使用了kCFStreamNetworkServiceType和kCFStreamNetworkServiceTypeVoIP,这在iOS 3.1中不可用。它在iOS 4.0及更高版本中可用。因此,您应该使用#if类型的宏来消除该错误。希望这对您有所帮助。

您无法构建。那个么,你们在构建时会遇到什么错误呢?在我用iOS 3.1构建iPhone之后,它只在运行时显示黑屏。然后,我得到了错误,例如:dyld:Symbol not found:_kCFStreamNetworkServiceType我也使用了该语句,
#如果_IPHONE\u OS\u VERSION\u MAX\u ALLOWED>_IPHONE\u 4\u 0
,它仍然不工作。因为
kCFStreamNetworkServiceType
kCFStreamNetworkServiceTypeVoIP
属于常量,我也不能用
实例respondtoselector
来避免它。告诉我你是如何使用这个#if语句的。在这里编写代码片段。