我想知道如何決定我的設備是在3G還是GPRS/4G網絡。尤其是否使用3G連接? 有螞蟻的方式來編程嗎?如何以編程方式獲取iPhone是否使用3G,4G或GPRS連接?有沒有辦法以編程方式啓用和禁用3G連接?
此外,我想以編程方式啓用和禁用3G?
即使建議使用私有API,也可以。
在此先感謝。
我想知道如何決定我的設備是在3G還是GPRS/4G網絡。尤其是否使用3G連接? 有螞蟻的方式來編程嗎?如何以編程方式獲取iPhone是否使用3G,4G或GPRS連接?有沒有辦法以編程方式啓用和禁用3G連接?
此外,我想以編程方式啓用和禁用3G?
即使建議使用私有API,也可以。
在此先感謝。
那麼我可以採取問題的第一部分。
有一個在iOS Developer Library - Reachability 樣品看看Reachability.m它表明你是否有一個連接和類型的連接。
如果你不介意使用私有API(如果你想在AppStore上銷售它,Apple會拒絕這個),你可以使用下面的代碼。然而,它在網絡變化上並不穩定。
void *libHandle=dlopen("/System/Library/PrivateFrameworks/SoftwareUpdateServices.framework/SoftwareUpdateServices",RTLD_LAZY);
Class SUNetworkMonitor = NSClassFromString(@"SUNetworkMonitor");
NSObject *networkMonitor=[SUNetworkMonitor sharedInstance];
// check if the class have the method currentNetworkType
if ([networkMonitor respondsToSelector:@selector(currentNetworkType)])
{
int t = (int)[networkMonitor performSelector:@selector(currentNetworkType)];
NSString *type = @"";
switch (t) {
case 0: type = @"NO-DATA"; break;
case 1: type = @"WIFI"; break;
case 2: type = @"GPRS/EDGE"; break;
case 3: type = @"3G"; break;
default: type = @"OTHERS"; break;
}
NSLog(@"Network type: %@", type);
}
dlclose(libHandle);
您是越獄後iPhone/iPad的編程嗎? – 2011-04-25 07:56:02
事實上,即使它有私人API,它也會有所幫助。我的意思是,如果你可以告訴我如何以編程方式啓用/禁用3G,我可以監禁我的iPhone – Tanu 2011-04-25 08:17:00
現在好了JB設備是不同的故事,我會做我最好爲你解決問題。 – 2011-04-25 08:26:37