如何从开源Xcode项目中排除密钥?

时间:2012-10-03 14:58:30

标签: ios xcode

我正在开发一款使用Facebook SDK与Facebook连接的iPhone应用程序。 SDK要求我的代码在SDK中调用代码时设置应用程序ID(应用程序ID在Facebook注册)。我想开源这个项目,但显然我不希望别人使用我的应用ID。如何设置项目以便我可以使用我的应用程序ID构建项目,但是其他人也可以使用自己的项目构建项目?

1 个答案:

答案 0 :(得分:4)

假设您在应用程序的plist中添加了AppID和Secret,您可以修改Release版本的构建方案,并添加一个“Post Build Command”,它可以运行脚本来执行以下操作:

echo -n ${TARGET_BUILD_DIR}/${INFOPLIST_PATH} | xargs -0 /usr/libexec/PlistBuddy -c "Set :<Your Facebook App ID Key> YOUR_APP_ID_HERE"
echo -n ${TARGET_BUILD_DIR}/${INFOPLIST_PATH} | xargs -0 /usr/libexec/PlistBuddy -c "Set :<Your Facebook Secret Key> YOUR_APP_SECRET_HERE"

这会将这些plist条目的值更改为某个通用值。

Here's a reference to what I'm talking about。随意调整。