iOS 多个应用共享一个 LinkedIn 应用

iOS Multiple Apps sharing one LinkedIn App

我正在尝试将一个 LinkedIn 应用程序用于一个应用程序的多个白标签版本。

我已经成功让 FB 这样做了 - 看起来 LinkedIn 应该非常相似,但无法成功让 LinkedIn return 更正应用程序(当安装了其他应用程序时)。有时它不会 return,有时它会转到共享相同 LI App ID 的其他应用...

我已将 bundleID com.bethegame.app1 和 com.bethegame.app2 添加到 LinkedIn 移动应用程序,并将 app1 和 app2 添加为 LinkedIn iOS 移动应用程序的后缀。

这是我的每个应用程序的 plist 中的内容...

        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>CFBundleURLName</key>
        <string>com.bethegame.app1</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>app1</string>
        </array>
    </dict>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>fb123456789012345</string>
        </array>
        <key>FacebookUrlSchemeSuffix</key>
        <string>app1</string>
    </dict>
    <dict>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>CFBundleURLName</key>
        <string>com.bethegame.app1</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>li1234567-app1</string>
        </array>
        <key>LISuffix</key>
        <string>app1</string>
    </dict>

就像我说的 FB 有效虽然 'FacebookUrlSchemeSuffix' 被记录,LinkedIn 'LISuffix' 不是?

要支持多个 iOS 应用共享一个 LinkedIn 应用程序,请转到您的 LinkedIn 开发者帐户,找到您的应用程序并转到“移动设置”部分。在 iOS Settings 部分下添加必要的 iOS Bundle Identifiers 和 iOS URL Scheme Suffixes。记下该屏幕上显示的应用程序 ID。

在您的 Xcode 中,打开项目的 info.plist 文件并添加以下内容:

<key>LIAppId</key>
<string>{LinkedInAppId}</string>
<key>LISuffix</key>
<string>{suffix}</string>

并将以下内容放入CFBundleURL类型中:

<dict>
    <key>CFBundleURLName</key>
    <string>li{LinkedInAppId}</string>
    <key>CFBundleURLSchemes</key>
    <array>
        <string>li{LinkedInAppId}-{suffix}</string>
    </array>
</dict>

将 {LinkedInAppId} 替换为您刚刚记下的应用程序 ID,并将 {suffix} 替换为您刚刚在开发者网站上添加的应用程序 ID。