【问题标题】:Configure associated domain from .xcconfig从 .xcconfig 配置关联域
【发布时间】:2022-01-21 22:52:31
【问题描述】:

我有一个包含多个方案的应用,我希望每个方案都有一个不同的关联域。

我有以下.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"

我尝试使用以下命令验证我的链接,但这会打开移动版 Safari:

xcrun simctl openurl booted 'https://my.domain.com/app/link'

我的/.well-known/apple-app-site-association 文件是可访问的,当我内联我的域并删除$(ASSOCIATED_DOMAIN) 时,通过打开应用程序而不是 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>

有人有什么建议吗?谢谢!

【问题讨论】:

    标签: ios associated-domains


    【解决方案1】:

    不要为 ASSOCIATED_DOMAIN 值使用变量,而是考虑为每个方案指定一个单独的权利文件。 在相关的 xcconfig 文件中,可以通过设置:

    CODE_SIGN_ENTITLEMENTS = [location of the file].entitlements
    

    【讨论】:

    • 谢谢!似乎权利文件不支持变量。我没有在.xcconfig 文件中设置CODE_SIGN_ENTITLEMENTS,而是通过Xcode 中的构建设置来完成。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    • 1970-01-01
    • 2018-03-16
    相关资源
    最近更新 更多