美文网首页
Flutter混合开发NSBonjourServices问题

Flutter混合开发NSBonjourServices问题

作者: 大大东 | 来源:发表于2023-06-01 17:39 被阅读0次

-- 使用最新版的Flutter,已经不再需要自己添加了 --

Flutter混合开发,在iOS中调试时需要添加Info.plist配置如下图:

image.png

对此官方文档也有指出, 文档给出的方案是拷贝一份info.plist分别命名为
info-debug.plistinfo-release.plist配置到build setting中。

这种方式后续维护起来会有成本,比如需要添加新的权限key时,很可能忘记修改另一个plist文件

尝试在添加了一个Run Script,在编译后,如果是DEBUG模式,自动向info.plist添加了调试的权限声明,经测试可以解决问题,脚本如下

# 指定 Info.plist 的路径
info_plist="${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"

# 要添加的键和新值
your_key_name="NSBonjourServices"
your_new_value="_dartobservatory._tcp"

# 检查当前是否为 Debug 模式
if [ "${CONFIGURATION}" == "Debug" ]; then
    if ! /usr/libexec/PlistBuddy -c "Print $your_key_name" "$info_plist" | grep -q "$your_key_name";
    then
        # 创建一个空数组
        /usr/libexec/PlistBuddy -c "Add $your_key_name array" "$info_plist"
        # 将值添加到数组中
        /usr/libexec/PlistBuddy -c "Add $your_key_name:0 string $your_new_value" "$info_plist"
    fi
fi


相关文章

网友评论

      本文标题:Flutter混合开发NSBonjourServices问题

      本文链接:https://www.haomeiwen.com/subject/zszuedtx.html