国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > iOS > 正文

iOS中定位(location manager )出現(xiàn)log日志的解決辦法

2019-10-21 18:43:58
字體:
供稿:網(wǎng)友

前言

最近發(fā)現(xiàn)一個(gè)問題,自iOS 10.0以后,項(xiàng)目中老是出現(xiàn)有關(guān)定位管理者的日志信息,說定位管理者最好放在主線程;在實(shí)際開發(fā)中,當(dāng)在子線程中創(chuàng)建定位管理者,有可能收不到回調(diào)信息

提示信息如下:

ios,locationmanager,log日志,日志

A location manager (0x7fbafac12560) was created on a dispatch queue executing on a thread other than the main thread. It is the developer's responsibility to ensure that there is a run loop running on the thread on which the location manager object is allocated. In particular, creating location managers in arbitrary dispatch queues (not attached to the main queue) is not supported and will result in callbacks not being received.

中文翻譯為:一個(gè)定位管理者創(chuàng)建在子線程,而不是主線程.在開發(fā)中,要確保一個(gè)定位管理者所在的線程要在運(yùn)行循環(huán)(Run loop)中.在實(shí)際開發(fā)中,當(dāng)在子線程中創(chuàng)建定位管理者,有可能收不到回調(diào)信息.

解決過程

我找了好久,嘗試了好多方法,都無果: 這是在stackoverflow中搜到的解決方法

作者的問題:

ios,locationmanager,log日志,日志

比較好的回答:

ios,locationmanager,log日志,日志

ios,locationmanager,log日志,日志

但我嘗試了,也無果.

沒辦法,有時(shí)間了就去嘗試.

解決方法:

最終解決方法是在App Delegate 內(nèi)關(guān)于地圖或者導(dǎo)航注冊(cè)信息那一塊.

這是我導(dǎo)航注冊(cè)代碼:

 //開啟導(dǎo)航服務(wù) [BNCoreServices_Instance initServices:@"xxxxxxxxxxxx"]; [BNCoreServices_Instance startServicesAsyn:^{  NSLog(@"導(dǎo)航開啟成功"); } fail:^{  NSLog(@"導(dǎo)航開啟失敗"); }];

我在開啟導(dǎo)航服務(wù)的時(shí)候,使用了異步開啟,然后主線程回調(diào)開啟的結(jié)果.
進(jìn)入百度導(dǎo)航API發(fā)現(xiàn):

/** * 啟動(dòng)服務(wù),同步方法,會(huì)導(dǎo)致阻塞 * @param SoundDelete [in]傳入遵守BNSoundManagerProtocol的實(shí)例 * @return 啟動(dòng)結(jié)果 */- (BOOL)startServices;/** * 啟動(dòng)服務(wù),異步方法 * * @param success  啟動(dòng)成功后回調(diào) success block * @param fail   啟動(dòng)失敗后回調(diào) fail block */-(void)startServicesAsyn:(void (^)(void))success fail:(void (^)(void))fail;

有兩個(gè)方法開啟導(dǎo)航服務(wù):

     - 一個(gè)是在主線程同步開啟,說會(huì)導(dǎo)致阻塞;

     - 另外一個(gè)是異步開啟,將結(jié)果回調(diào)到主線程.

之所以會(huì)打印上述日志,是因?yàn)槲沂褂昧水惒介_啟導(dǎo)航服務(wù).

如果我使用同步開啟

[BNCoreServices_Instance startServices];

就不會(huì)打印出有關(guān)定位的日志信息.

抱歉,我有強(qiáng)迫癥,不喜歡日志框有打印,所以我選擇了同步開啟.

如果你覺得異步加載好,不會(huì)阻塞線程,可以無視打印日志的影響,你可以使用異步開啟.

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)VEVB武林網(wǎng)的支持。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到IOS開發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 化隆| 乐陵市| 左云县| 福建省| 沾益县| 安多县| 梧州市| 玉林市| 图木舒克市| 金寨县| 上饶县| 台前县| 盐亭县| 辽中县| 石柱| 纳雍县| 岱山县| 广平县| 卓尼县| 从江县| 天门市| 漠河县| 砚山县| 涟水县| 临夏县| 东城区| 兴化市| 濮阳市| 连城县| 顺昌县| 微博| 龙岩市| 哈密市| 施甸县| 宿州市| 宁晋县| 平顺县| 兴安盟| 大埔县| 龙陵县| 大埔县|