我正在开发没有HTTPS设置的开发环境。是否可以仅针对开发(调试)模式自动禁用ATS?

最佳答案

我的解决方案是将ATS禁用选项保留为默认NO值,并在构建应用程序时添加新的运行脚本阶段以在应用程序包的Info.plist中对其进行更改。

ios9 - 是否可以仅在调试环境中禁用iOS 9中的ATS?-LMLPHP

这是脚本:

#Disables ATS in debug builds.
INFOPLIST="${TARGET_BUILD_DIR}"/"${INFOPLIST_PATH}"
case "${CONFIGURATION}" in
"Release"|"Adhoc")
/usr/libexec/PlistBuddy -c "Set :NSAppTransportSecurity:NSAllowsArbitraryLoads NO" "${INFOPLIST}"
;;
"Debug")
/usr/libexec/PlistBuddy -c "Set :NSAppTransportSecurity:NSAllowsArbitraryLoads YES" "${INFOPLIST}"
;;
esac

关于ios9 - 是否可以仅在调试环境中禁用iOS 9中的ATS?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32390228/

10-13 05:41