Xcode 构建基于应用传输层安全性的配置

Xcode build configuration based app transport layer security

我像往常一样有 2 个构建配置。 DebugAdhocRelease。我想为 Debug 配置禁用 iOS 应用程序传输层安全性。所以基本上我想对每个配置进行不同的 Info.plist 更改。我怎样才能做到这一点?

为调试版本创建一个不同的 plist 文件并使用它。我相信这会达到你的目的。

您可以使用构建脚本将详细信息注入 plist。这将使用 this answer 之类的设置来确定构建类型,并使用 PlistBuddy 来编辑 plist。这是一个非常灵活但相对复杂的解决方案,它允许您进行非常细粒度的控制。

关于使用多个不同的 plist 文件的另一个答案要简单得多,但需要您维护 plist 的多个副本并确保它们得到适当更新。

这就是我想出的方法。

添加了一个 运行 脚本,内容如下。

if [ "${CONFIGURATION}" = "Debug" ]; then
/usr/libexec/PlistBuddy -c "Set :NSAppTransportSecurity:NSAllowsArbitraryLoads YES" ProjectName/Info.plist
fi