我在Iphone-4s中爲我的應用程序使用了核心藍牙框架。
這通常必須是可以運行儘可能長的後臺應用程序。針對Iphone 4s的Bluetooth LE應用程序的背景時間問題
現在它只能運行40分鐘 - 最多1小時。
我希望至少1天左右。
爲此「藍牙中央」值添加到.plist文件中的「所需的背景模式」鍵中。
看來我的應用程序將在最後「暫停」模式。因爲當我再次打開應用程序時(背景爲前景狀態),它將再次發送通知,這意味着藍牙連接仍然連接並且BLE設備仍在發送通知。如果我按主頁按鈕和應用程序來到背景,它不會再次得到通知。
有人可以告訴我爲什麼我的應用程序只能在後臺模式下工作最長1小時。它應該繼續像普通音樂應用程序一樣在後臺運行。
Apple是否會說出具體的背景應用程序(哪些是連續運行的後臺應用程序中的一個應用程序落在5個類別中的某個應用程序)的哪種情況,否則會進入掛起模式?
參考「iPhoneAppProgrammingGuide
」,在「Communicating with a Bluetooth Accessory
」部分, 我才知道,對於藍牙LE申請長期運行的後臺任務2點的實現是練琴:
1)UIBackgroundModes關鍵應該是「藍牙核心「在Info.plist
文件中。 2)任何支持藍牙數據後臺處理的應用都必須基於會話。
因此,對於我的應用程序,首次實施已合併,並且該應用程序能夠在後臺運行,並且最長1小時執行所有任務 。
現在我需要實現第二個實現。即基於會話的。根據文檔,即使應用程序處於「掛起」狀態 ,也可以獲取事件。我試圖找到創建一個特定於Bluetooth LE(核心藍牙框架)的合適會話,如經典藍牙(外部附件框架)中的 「EASession
」。但我沒有找到它。
基本上我不確定我需要使用哪個會話類來實現BLE目的。對於音頻/視頻,網絡和互聯網,外部附件, 有單獨的會話類可用。核心藍牙框架沒有。
任何人都可以幫助我,哪個會話類適用於BLE。
你應該能夠在後臺運行,只要你想,你有沒有得到這個工作? – 2012-06-19 15:26:38
我看到同樣的事情。我的外設可能會在幾分鐘內失去與ios設備的連接,當它回到範圍時,後臺應用程序會找到它並繼續。但是,如果它連接數小時後,後臺應用程序不再嘗試重新連接。 – Jonathan 2013-01-02 20:10:07
如果您需要破解它,您可以啓用背景音效播放,並在應用程序進入後臺時連續播放短暫的無聲音,並在其變爲活動狀態時停止播放。 – 2013-05-29 09:53:17