一、 说明。
iOS的Settings.bundle是App的一个配置项,通过配置Settings.bundle,用户可以修改App的运行环境,显示App的授权信息等。默认情况下,新建的项目程序是没有Settings.bundle的,需要手动添加。在添加Settings.bundle后,用户可以在“设置”中找到对应的App,进而看到Settings.bundle的界面并进行相关设置。
我们项目支持Mac(catalyst)和iOS,需要为它们设置不同的Settings.bundle。
二、如何解决此问题
1. 创建两个文件夹Settings_ios 和Settings_mac. 并在每个文件夹中创建Settings.bundle。
2.为两个bundle文件设置不同的平台,一个为iOS一个为Mac catalyst.
运行项目后,可以在不同平台获取不同的设置。
三、扩展
如何为debug和release设置不同的Settings.bundle
1.添加运行脚本
2. 将以下 shell 脚本复制并粘贴到脚本框中,使其在 Xcode 编译项目时每次都能运行。
BUILD_APP_DIR="$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.app" if [ $CONFIGURATION == "Release" ]; then rm -rf "$BUILD_APP_DIR/Settings.bundle" fi
上述 shell 脚本的作用是,当 Xcode 在构建项目时使用名为 "Release".time 的配置构建项目时,从应用程序捆绑包中移除设置捆绑包(Settings.bundle
)。
改变状态为release,运行后发现设置中并不会出现此APP。