您如何配置多个iOS URL方案

问题描述 投票:0回答:1

是否可以为同一个应用程序注册与不同应用程序ID相关联的多个URL方案。例如,在我的应用程序的每个环境中,我都有单独的应用程序,每个应用程序都有自己的唯一Bundke ID。 E.G

com.test.app-dev (testapp-dev://)
com.test.app-qa (testapp-qa://)
com.test.app (testapp://)

如果我想从URL启动开发应用程序,我会想使用testapp-dev://

ios url-scheme
1个回答
0
投票

正如@ Paulw11所建议的,这需要在构建时完成。对于每个应用程序环境,我都有一个关联的Xcode方案。在xcode shceme的build部分中,您可以配置postbuild操作。您可以执行Shell脚本作为后期构建操作。

例如,在com.test.app-dev方案中,有一个运行此脚本的构建后动作

/usr/libexec/PlistBuddy -c "set :CFBundleURLTypes:0:CFBundleURLSchemes:0 testapp-dev" "$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH"
/usr/libexec/PlistBuddy -c "set :CFBundleURLTypes:0:CFBundleURLName com.test.app-dev" "$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH"

然后在[[com.test.app-qa方案中,有一个运行此脚本的构建后动作:

/usr/libexec/PlistBuddy -c "set :CFBundleURLTypes:0:CFBundleURLSchemes:0 testapp-qa" "$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH" /usr/libexec/PlistBuddy -c "set :CFBundleURLTypes:0:CFBundleURLName com.test.app-qa" "$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH"
这可确保为与每个环境关联的每个应用程序注册正确的自定义url方案。
© www.soinside.com 2019 - 2024. All rights reserved.