Objective c 通过运行时修改NSAllowsArbitraryLoads值

Objective c 通过运行时修改NSAllowsArbitraryLoads值,objective-c,xcode,Objective C,Xcode,我可以,但我只想修改每个会话的plist,我希望有更好的方法来完成我想要做的事情。以下是我希望实现的目标 定义\u DEV时(\define\u DEV),我希望更改以下plist变量: nsallows任意加载从NO到YES 原因是我们的开发服务器没有https证书,但是当\u dev未定义时,我希望应用程序只允许https活动 到目前为止,我必须在plist中手动更改这个值,这很好,但我更希望它是动态的。是修改plist的唯一方法还是有其他方法在运行时更改此值?您可以使用运行脚本和用户定义的

我可以,但我只想修改每个会话的plist,我希望有更好的方法来完成我想要做的事情。以下是我希望实现的目标

定义
\u DEV
时(
\define\u DEV
),我希望更改以下plist变量:

nsallows任意加载
NO
YES

原因是我们的开发服务器没有
https
证书,但是当
\u dev
未定义时,我希望应用程序只允许
https
活动


到目前为止,我必须在plist中手动更改这个值,这很好,但我更希望它是动态的。是修改plist的唯一方法还是有其他方法在运行时更改此值?

您可以使用运行脚本和用户定义的属性为不同的生成配置(调试、发布等)切换应用程序传输安全性


请注意,运行脚本修改所创建生成的目标文件夹中的
Info.plist
文件。这意味着您的本地项目保持不变。

您可以使用运行脚本和用户定义的属性为不同的生成配置(调试、发布等)切换应用程序传输安全性


请注意,运行脚本修改所创建生成的目标文件夹中的
Info.plist
文件。这意味着您的本地项目将保持不变。

如果有两个方案,每个方案将加载相应的Info.plist,情况如何?如果在脚本使用中的“生成设置:用户定义变量”中定义了XYZDisableAppTransportSecurity,那么有两个方案,每个方案将加载相应的Info.plist,情况如何${XYZDisableAppTransportSecurity},加上我不需要“2>/dev/null”部分..否则有效#1谢谢如果在构建设置中定义了XYZDisableAppTransportSecurity:用户定义变量,在脚本中使用${XYZDisableAppTransportSecurity},再加上我不需要“2>/dev/null”部分..否则有效#1谢谢
#!/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