【发布时间】:2015-09-23 15:53:50
【问题描述】:
我正在使用 VS2015 上的 Apache Cordova 工具来开发项目,我需要在 *info.plist 文件中设置一些附加选项,以暂时解除对 HTTP Web 访问 (NsAppTransportSecurity) 的阻止以及启用地理定位服务运行在后台。
基本上,我需要添加以下内容...
<key>UIBackgroundModes</key>
<array>
<string>location</string>
</array>
<key>NSLocationAlwaysUsageDescription</key>
<string>Location services are required.</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
根据我对 Microsoft 文档 here 的理解,也被 SO 问题 here 引用,Apache Cordova 工具允许您将 *info.plist 文件添加到 /res/native/ios 文件夹中用于代替任何生成的文件。但是我不能让它工作。
上面的文档(在我看来)对于文件的命名有点混乱......
在 res/native/ios/config.xml 中放置一个自定义的 Info.plist 文件 显示名称文件夹以覆盖启动画面或图标等设置。 Info.plist 文件名必须重命名如下: config.xml 显示 name-Info.plist 来更新 iOS 框架键。
这是我认为我可能会出错的地方;我根本无法弄清楚文件的名称应该是什么。
给定“我的项目”的项目“显示名称”(在设计器中查看 config.xml 时在“通用选项卡”、“显示名称”中指定),我假设文件名是“我的项目-Info.plist”或可能是“config.xml 我的项目-Info.plist”。我也不确定是否应该创建另一个子文件夹来包含该文件...
在 res/native/ios/config.xml 中放置一个自定义的 Info.plist 文件 显示名称文件夹
但是,如果我在构建项目后在 Xcode 中打开项目时使用这些文件名中的哪一个(remotebuild/taco 子系统会在 ~/.taco_home/remote-builds/taco- remote/builds/nnn/cordovaApp/platforms/ios/My Project”文件夹,直到您关闭 remotebuild 服务器),然后查看已与构建一起提交的 plist,我的设置不存在。
我还发现“Platforms/ios/My Project”文件夹中有一个“My project-Info.plist”,但如果我再次更改此文件副本,它们不会过滤到 Mac用于建筑。
任何人都可以验证我应该使用的文件夹和文件名。我知道我上面提到的 SO 问题是在 2 月,因此将一直指的是其中一个预览版本,并且知道项目的格式在那时和 RTM 之间发生了变化,这可能只是我遵循过时的说明。
谢谢。
【问题讨论】:
标签: ios cordova visual-studio-2015 visual-studio-cordova