使用cordova VS工具如何添加预处理器指令,如“DISABLE_PUSH_NOTIFICATIONS”

Posted

技术标签:

【中文标题】使用cordova VS工具如何添加预处理器指令,如“DISABLE_PUSH_NOTIFICATIONS”【英文标题】:using cordova VS tools how to I add preprocessor directives like "DISABLE_PUSH_NOTIFICATIONS" 【发布时间】:2015-09-09 11:07:05 【问题描述】:

当我将我的应用提交到不使用推送通知的应用商店时,我收到一条消息,说我无权接收推送通知。

我了解到您可以在 xcode 项目中添加“DISABLE_PUSH_NOTIFICATIONS”

看这里https://***.com/a/31799975/122232

但是每次我在 VS 中构建时,我都会得到一个新的 xcode 项目,我想以某种方式在 VS 的配置中设置它,这样我就不必记住了

我尝试添加一个 res\native\ios\cordova\build-release.xcconfig 文件

GCC_PREPROCESSOR_DEFINITIONS[config=Release] = $(inherited) DISABLE_PUSH_NOTIFICATIONS=1

但这并没有出现在项目中 - 我做错了什么?

【问题讨论】:

我的一个队友刚刚建议您尝试使用的配置文件实际上应该命名为 res\native\ios\cordova\build-release.xcconfig(即 xcconfig 与 xconfig)。你可以尝试恢复我的钩子推荐,看看这个文件名更改是否适合你?稍后我也会尝试对此进行测试。 对不起,是这个名字,我在这里打错字了 【参考方案1】:

这是另一个类似的帖子,可能有一些可以帮助您的答案:

Missing Push Notification Entitlement warning

在那篇文章中,有一个有用的 sn-p 代码用于挂钩,您可以使用它来自动将预处理器定义设置为 DISABLE_PUSH_NOTIFICATIONS。基于此处的 cmets,我对其进行了更改,这可能会有所帮助 - 尝试使用此 Gist 中的代码:

https://gist.github.com/jmatthiesen/34eb71a73de39fd501df

【讨论】:

您好,谢谢您。我将文件放在 res/native/ios/cordova 中,并在 platform[name=ios] 下的 config.xml 中添加了一个钩子,但它有一个依赖项。我得到错误“cordova-build error BLD401:错误:BLD00401:找不到模块'xcode'。” 我尝试在构建 mac 上安装 xcode 模块,使用“sudo npm install -g xcode”安装成功 - 但构建失败并出现同样的错误 同样的“Cculd 找不到模块'xcode'?”您是否使用 Visual Studio 远程构建的 remote-build 模块进行构建?还是您现在只是想通过 Mac 上的 cordova 命令行界面进行构建? 在 mac mini 上通过 vs remoteBuild 服务器 我更新了那个钩子的代码,让它适合你。在您的机器上,正在构建应用程序,但无法访问全局安装的 npm 模块,因此找不到“xcode”。随着我的代码更改,它告诉 Cordova 在它已经加载的依赖项/模块中查找“xcode”模块。

以上是关于使用cordova VS工具如何添加预处理器指令,如“DISABLE_PUSH_NOTIFICATIONS”的主要内容,如果未能解决你的问题,请参考以下文章

vs2012,如图,下列控件已经添加到工具箱,但未在活动设计器中启用,请问如何解决?

可以在 #ifndef ... #endif 等预处理器指令块中的 VS2008 中启用智能感知吗

VS2015 Cordova Ionic移动开发

预处理器指令#define 特定于我的机器

适用于 Cordova 的 Azure 移动服务/VS 工具 - 404

如何修复错误 Xcode。词法预处理器问题 Cordova/CDVJpegHeaderWriter.h' 文件未找到