2013-06-03 34 views

回答

-1
+0

這並沒有告訴GPS或手機發射塔/ WIFI locationing是否被使用。 – AlexWien

+0

無法使用SDK檢測到GPS硬件。請參考這個答案http://stackoverflow.com/questions/2004689/detect-gps-hardware-in-iphone – aniruddhc

+0

它可以完成,但你不能。看看我的答案。您可以獲取機器名稱,然後從那裏創建一個列表,其中包含Gps的設備。你需要相同的技術來檢測iPad mini。我已經在我的應用程序中完成了。(如果無法完成,那麼正確的答案將是「它不能做到」) – AlexWien

1

榮該器件是否具有Gps芯片。如果沒有,向用戶提示並不總是有用的,用戶將不得不購買新手機來解決這種情況。

但是還有很多其他的原因來獲得這些信息。

必須區分betwenn:
1.裝置具有沒有GPS
2.當前的位置不是由GPS遞送,但經由替代locationing提供商。 (手機塔/ wifi)
3.用戶已禁用位置傳遞給你的應用程序。

你的問題是話題1:
這是獲取當前的設備型號名稱(通過機器名)solveable,然後擡頭看潛行,並建立自己的清單,其設備具有GPS。用戶boxel在detect ipad mini看帖子以顯示技術。

但是,這不是未來的證明,只適用於已知的模型和一般不推薦。

或者你在應用程序的plist文件中聲明你需要一個帶有Gps的設備,那麼它只會被安裝到這些設備上。 2)你可以查看當前的速度和路線,如果有效,這隻能通過GPS或設備不移動。 (那麼你可能會看到橫向準確性< 30米)。

3)通過anirudcc

的交回答
1

可以使用this類別,它具有如下功能:

-(BOOL) supportsCapability: (NSString *) capability; 

BOOL hasGPS = [的UIDevice supportsCapability:UIDeviceGPSCapability];

我希望它有幫助。

還是這個工程,以及:

//Use classLoaders to avoid crashes on iPhone OS 3.x 
id netInfo = [[NSClassFromString(@"CTTelephonyNetworkInfo") alloc] init]; 
if (netInfo) 
{ 
      id carrier = [netInfo subscriberCellularProvider]; 

      if ([[carrier carrierName] length] <=0) 
      { 
        //NO operator=>NO 3G and no real GPS 
      } 
} 

第二個解決方案的源:Detect GPS Hardware in iphone