我可以以编程方式编辑 plist,但我只想在每个会话中修改 plist,我希望有更好的方法来完成我想做的事情。这是我希望完成的
当_DEV被定义(#define _DEV)我想下面的plist变量的变化:
NSAllowsArbitraryLoads从NO到YES
原因是因为我们的开发服务器没有https证书,但是当_DEV没有定义时,我希望应用程序只允许https活动。
到目前为止,我必须手动更改我的 plist 中的这个值,这很好,但我更希望它是动态的。是修改 plist 的唯一方法还是在运行时更改此值的另一种方法?
小智 5
您可以使用运行脚本和用户定义的属性为不同的构建配置(调试、发布等)切换应用传输安全。
#!/bin/bash
if [ $XYZDisableAppTransportSecurity == YES ]; then
echo "Disabling App Transport Security..."
TARGET_INFOPLIST_PATH="${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
$(/usr/libexec/PlistBuddy -c "Delete NSAppTransportSecurity" "${TARGET_INFOPLIST_PATH}" 2> /dev/null)
/usr/libexec/Plistbuddy -c "Add :NSAppTransportSecurity:NSAllowsArbitraryLoads bool true" "${TARGET_INFOPLIST_PATH}"
fi
Run Code Online (Sandbox Code Playgroud)
请注意,运行脚本会修改Info.plist所创建构建的目标文件夹中的文件。这意味着您的本地项目保持不变。
| 归档时间: |
|
| 查看次数: |
613 次 |
| 最近记录: |