iOS 8 Beta 2中的Cordova地理位置问题

 WEIAIXINGJIANMENG 发布于 2023-01-07 19:00

这更像是一篇信息性帖子:过去几天我在最新的iOS 8 Beta上花费了非功能性地理定位应用程序.

起初我不确定它是否被隔离到iOS 8,或者它是否是设备与模拟器的问题,但在重新下载XCode 6 Beta 2后(我的第一次下载由于某种原因导致模拟器损坏),我确认事实上,iOS 8 Beta 2模拟器似乎并不喜欢我试图抓住地理位置.

起初呼叫似乎根本不起作用; 然后我做了一个改变,从包括phonegap.js到包括cordova.js,最后取得了一些进展.文档很糟糕,因为官方文档中的以下指南似乎让人相信它们是可以互换的.我会建议有问题的人先检查一下.

它不是navigator.geolocation.getCurrentPosition(....)按预期运行回调函数,而是挂起而不做任何事情.有时导航离开页面并返回到它会强制错误回调,但它非常不一致.设置{ timeout: 5000 }选项后,似乎每次通话都会超时.控制台没有错误,XCode没有错误,没有.如果我在X秒后没有显式超时,那么成功函数就不会运行,周期,也不会出现错误回调.这是一个与iOS 8 Beta隔离的错误,所以大多数(尚未)都没有关注,但我觉得我应该发布这个以防万一有人碰到它.我也将在Apple开发中心发帖.

1 个回答
  • 这是一个已知问题,并在此修复:

    https://github.com/apache/cordova-plugin-geolocation/commit/4102a332b0c6b0c3513370a4c030a32e46a51e10#commitcomment-7791523

    刚刚在iOS8中测试它,它的工作原理.

    在phonegap项目的platforms/ios文件夹中运行以下命令:

    cordova plugin rm org.apache.cordova.geolocation
    cordova plugin add https://github.com/apache/cordova-plugin-geolocation.git   
    

    由于某种原因,它从编译列表中删除CDVLocation.m,您需要还原它.

    XXX.xcodeproj/project.pbxproj中的条目:

    979B00CA27D6412CB8C6CF74 /* CDVLocation.m in Sources / = {isa = PBXBuildFile; fileRef = E3B4F7C4AF8242A09E9BF8C1 / CDVLocation.m */; };
    979B00CA27D6412CB8C6CF74 /* CDVLocation.m in Sources */,
    

    没有这两行,该插件无法在应用程序中使用.

    如果您在源代码管理中有该文件,则只需还原XXX.xcodeproj/project.pbxproj中与CDVLocation.m相关的删除.

    如果没有,请尝试将CDVLocation.m添加到项目设置中"构建阶段"中的"编译源"步骤.

    2023-01-07 19:02 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有