在iOS10上阻止了离子混合应用地理定位

时间:2016-09-29 08:41:19

标签: ios angularjs cordova ionic-framework geolocation

自iOS 10问世以来,我更新了我的iPhone 6 navigator.geolocation.getCurrentPosition()无效 地址和港口:192.168.0.16:8100

由于地理定位API被认为是不安全的来源,它只适用于SSL,但我可以在混合应用程序中进行,我不知道每部手机上的地址是什么吗?

我已经尝试过这里提到的内容:Geolocation is blocked in iOS10

  • 在XCode中编辑没有帮助
  • 在文本编辑器中编辑Info.plist没有帮助

我有Cordova白名单插件,我在我的config.xml中使用了这个不推荐的通配符:<allow-navigation href="*"/>

它在Android上工作正常,并且在iOS更新之前在iPhone 6上运行良好。

1 个答案:

答案 0 :(得分:4)

问题是您正在使用实时重新加载,当您使用实时重新加载时,应用程序代码是使用IF OBJECT_ID('procTest', 'P') IS NOT NULL DROP PROCEDURE procTest; GO CREATE PROCEDURE procTest AS BEGIN DECLARE @i INT; DECLARE @sql NVARCHAR(MAX); SET @i = 2016; SET @sql = N'insert into #t (Column1) VALUES (' + CAST(@i AS NVARCHAR) + N'); ' + N'insert into #t (Column1) ' + N'SELECT cast(1 as nvarchar) as [' + CAST(@i AS NVARCHAR) + N']'; EXEC (@sql); END; GO CREATE TABLE #t ( Column1 NVARCHAR(MAX) ); EXEC dbo.procTest; SELECT * FROM #t; DROP TABLE #t; 协议从您计算机上的本地Web服务器提供的。

如果您不使用实时重新加载,则代码将使用http://协议从您的应用内部加载,地理定位将起作用。

考虑向离子发送错误报告,以便他们可以通过https

更改本地服务器以提供代码