在 Phonegap Build 中使用 config.xml 编辑 Entitlements.plist 文件
Editing the Entitlements.plist file using config.xml in Phonegap Build
我正在尝试通过 Phonegap build 使用 Apple Pay cordova 插件。这是我在配置文件中的条目:
<plugin name="cordova-plugin-applepay-stripe" source="npm">
<param name="STRIPE_TEST_PUBLISHABLE_KEY" value="xxxxxxxx" />
<param name="STRIPE_LIVE_PUBLISHABLE_KEY" value="xxxxxxxxx" />
<param name="APPLE_MERCHANT_IDENTIFIER" value="merchant.etc.etc" />
</plugin>
该插件安装正确,但它无法正常工作,因为我在 Xcode 中使用 PC 时未启用 Apply Pay 权利。
我知道您可以直接从 phonegap build config.xml 文件编辑 plist 文件,就像我在这里所做的那样:
<gap:config-file platform="ios" parent="NSPhotoLibraryUsageDescription" overwrite="true">
<string>We are using the Photo Library for PayPal</string>...
所以我的问题是我到底要如何编辑 Entitlements.plist 文件才能启用 ApplePay 并添加我的商家 ID?!
我尝试了以下方法:
<config-file platform="ios" target="*-Entitlements.plist" parent="com.apple.developer.in-app-payments">
<array>
<string>merchant.etc.etc/string>
</array>
</config-file>
但这并没有奏效。任何帮助,将不胜感激!
似乎 config-file
出于某种原因只能在插件中使用。它似乎应该在您的项目 config.xml
中工作,但不幸的是它没有。但是,您可以使用本地插件来管理您的权利,以达到或多或少相同的效果。
例如,src/local-plugins/app-entitlements
将此添加到您的 config.xml
<plugin name="app-entitlements" spec="src/local-plugins/app-entitlements" />
您只需要 src/local-plugins/app-entitlements/plugin.xml
文件:
<?xml version="1.0" encoding="UTF-8"?>
<plugin id="app-entitlements" version="0.0.0" xmlns="http://apache.org/cordova/ns/plugins/1.0">
<name>AppEntitlements</name>
<platform name="ios">
<config-file target="*-Debug.plist" parent="com.apple.developer.in-app-payments">
<array>
<string>YOUR DEBUG MERCHANT ID HERE</string>
</array>
</config-file>
<config-file target="*-Release.plist" parent="com.apple.developer.in-app-payments">
<array>
<string>YOUR RELEASE MERCHANT ID HERE</string>
</array>
</config-file>
</platform>
</plugin>
您当然可以在这里设置其他权利,例如推送通知或您想要的任何内容。
现在当你做一个新的 cordova platform add ios
时,它应该用这些键创建 Entitlements-*.plist
,你应该可以开始了。
请记住,Xcode 中的"Capabilities" 选项卡是单独处理的,只是一个GUI 助手。它不会反映这些文件的权利。
我正在尝试通过 Phonegap build 使用 Apple Pay cordova 插件。这是我在配置文件中的条目:
<plugin name="cordova-plugin-applepay-stripe" source="npm">
<param name="STRIPE_TEST_PUBLISHABLE_KEY" value="xxxxxxxx" />
<param name="STRIPE_LIVE_PUBLISHABLE_KEY" value="xxxxxxxxx" />
<param name="APPLE_MERCHANT_IDENTIFIER" value="merchant.etc.etc" />
</plugin>
该插件安装正确,但它无法正常工作,因为我在 Xcode 中使用 PC 时未启用 Apply Pay 权利。
我知道您可以直接从 phonegap build config.xml 文件编辑 plist 文件,就像我在这里所做的那样:
<gap:config-file platform="ios" parent="NSPhotoLibraryUsageDescription" overwrite="true">
<string>We are using the Photo Library for PayPal</string>...
所以我的问题是我到底要如何编辑 Entitlements.plist 文件才能启用 ApplePay 并添加我的商家 ID?!
我尝试了以下方法:
<config-file platform="ios" target="*-Entitlements.plist" parent="com.apple.developer.in-app-payments">
<array>
<string>merchant.etc.etc/string>
</array>
</config-file>
但这并没有奏效。任何帮助,将不胜感激!
似乎 config-file
出于某种原因只能在插件中使用。它似乎应该在您的项目 config.xml
中工作,但不幸的是它没有。但是,您可以使用本地插件来管理您的权利,以达到或多或少相同的效果。
例如,src/local-plugins/app-entitlements
将此添加到您的 config.xml
<plugin name="app-entitlements" spec="src/local-plugins/app-entitlements" />
您只需要 src/local-plugins/app-entitlements/plugin.xml
文件:
<?xml version="1.0" encoding="UTF-8"?>
<plugin id="app-entitlements" version="0.0.0" xmlns="http://apache.org/cordova/ns/plugins/1.0">
<name>AppEntitlements</name>
<platform name="ios">
<config-file target="*-Debug.plist" parent="com.apple.developer.in-app-payments">
<array>
<string>YOUR DEBUG MERCHANT ID HERE</string>
</array>
</config-file>
<config-file target="*-Release.plist" parent="com.apple.developer.in-app-payments">
<array>
<string>YOUR RELEASE MERCHANT ID HERE</string>
</array>
</config-file>
</platform>
</plugin>
您当然可以在这里设置其他权利,例如推送通知或您想要的任何内容。
现在当你做一个新的 cordova platform add ios
时,它应该用这些键创建 Entitlements-*.plist
,你应该可以开始了。
请记住,Xcode 中的"Capabilities" 选项卡是单独处理的,只是一个GUI 助手。它不会反映这些文件的权利。