从 .xcconfig 配置关联域
Configure associated domain from .xcconfig
我有一个包含多个方案的应用程序,我希望每个方案都有一个不同的关联域。
我有以下 .entitlements
文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:$(ASSOCIATED_DOMAIN)</string>
<string>webcredentials:(ASSOCIATED_DOMAIN)</string>
</array>
</dict>
</plist>
我的 .xcconfig
文件看起来像这样(?mode=developer
只是为了验证一切正常,将被删除):
// ...
ASSOCIATED_DOMAIN="my.domain.com?mode=developer"
我尝试使用以下命令验证我的 link,但这会打开移动版 Safari:
xcrun simctl openurl booted 'https://my.domain.com/app/link'
我的 /.well-known/apple-app-site-association
文件可以访问,当我内联我的域并删除 $(ASSOCIATED_DOMAIN)
应用程序时 link 通过打开应用程序而不是 Safari 来按预期工作。在这种情况下,我的 .entitlements
文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:my.domain.com?mode=developer</string>
<string>webcredentials:my.domain.com?mode=developer</string>
</array>
</dict>
</plist>
有没有人有什么可能是错误的建议?谢谢!
不要为 ASSOCIATED_DOMAIN 值使用变量,而是考虑为每个方案指定一个单独的权利文件。
在相关的 xcconfig 文件中,这可以通过设置来完成:
CODE_SIGN_ENTITLEMENTS = [location of the file].entitlements
我有一个包含多个方案的应用程序,我希望每个方案都有一个不同的关联域。
我有以下 .entitlements
文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:$(ASSOCIATED_DOMAIN)</string>
<string>webcredentials:(ASSOCIATED_DOMAIN)</string>
</array>
</dict>
</plist>
我的 .xcconfig
文件看起来像这样(?mode=developer
只是为了验证一切正常,将被删除):
// ...
ASSOCIATED_DOMAIN="my.domain.com?mode=developer"
我尝试使用以下命令验证我的 link,但这会打开移动版 Safari:
xcrun simctl openurl booted 'https://my.domain.com/app/link'
我的 /.well-known/apple-app-site-association
文件可以访问,当我内联我的域并删除 $(ASSOCIATED_DOMAIN)
应用程序时 link 通过打开应用程序而不是 Safari 来按预期工作。在这种情况下,我的 .entitlements
文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:my.domain.com?mode=developer</string>
<string>webcredentials:my.domain.com?mode=developer</string>
</array>
</dict>
</plist>
有没有人有什么可能是错误的建议?谢谢!
不要为 ASSOCIATED_DOMAIN 值使用变量,而是考虑为每个方案指定一个单独的权利文件。 在相关的 xcconfig 文件中,这可以通过设置来完成:
CODE_SIGN_ENTITLEMENTS = [location of the file].entitlements