2015-10-18 55 views
3

我希望用戶在應用程序啓動後立即收到訪問Motion &健身數據(CoreMotion)的提示。爲Motion&Fitness數據提示權限

現在,我試圖做一個「虛擬」查詢數據提示權限上application:didFinishLaunchingWithOptions

CMMotionActivityManager *motionActivityManager=[[CMMotionActivityManager alloc]init]; 
    [motionActivityManager startActivityUpdatesToQueue:[NSOperationQueue mainQueue] withHandler:^(CMMotionActivity *activity) { 
     NSLog(@"Dummy query to prompt permission from user"); 

    }]; 

但會發生什麼是應用程序啓動和它掛在啓動屏幕上 - 如果我按Home按鈕,然後應用程序嘗試關閉,然後彈出權限提示。

任何想法如何做到這一點?

+0

如何將它移動到willFinishLaunchingWithOptions: – Rob85

+0

做了這個和相同的問題。 – leonsas

回答

1

有同樣的問題。對我而言,解決方法就是在第一個視圖完全加載之後,在一個地方啓動運動管理器,並調用了所有代表。

看來,startActivityUpdatesToQueue方法會阻止,直到它擁有單詞或其他權限的單詞,但權限請求不會顯示在屏幕上,直到屏幕顯示到第一個視圖爲止。因此,如果您在此之前使用此方法,則只會阻止應用程序完成啓動,啓動屏幕將繼續。

0

我研究了運動管理器,並試圖創建一個運動檢測庫。 從此,我知道下面的代碼將執行時會彈出運動檢測許可。

CMMotionActivityManager *motionActivityManager = [[CMMotionActivityManager alloc]init]; 
    [motionActivityManager startActivityUpdatesToQueue:[NSOperationQueue mainQueue] withHandler:^(CMMotionActivity *activity) { 
     NSLog(@"Motion...%@",activity); 
    }]; 

希望這會對你有幫助。 謝謝。