使用Fabric/Crashlytics和开源应用程序的最佳实践?

Zac*_*iro 2 ios crashlytics google-fabric

我有一个iOS应用程序,我即将开源.当应用程序处于活动状态时,我不希望在运行脚本代码中包含我的密钥和秘密,以供所有人查看,分叉,下载等,原因很明显.

仍然使用Fabric/Crashlytics的最佳方法是什么,同时保持这些密钥的安全性,以便只有那些可以部署应用程序的人才能访问这些凭据?

Jak*_*ake 7

这是一种方式:

1 - 将结构密钥存储在本地文件中.

<apiKey>
<secretKey>
Run Code Online (Sandbox Code Playgroud)

2 - 在你的可可豆荚运行脚本阶段(在Xcode中的Build Phases下),让你的脚本从本地文件中获取api密钥和密钥.

apiKey=$(sed -n '1p' < localFile.txt)
secretKey=$(sed -n '2p' < localFile.txt)
Run Code Online (Sandbox Code Playgroud)

3 - PlistBuddy在cocoa pods中运行脚本阶段,将API Key设置到您的Info.plist文件中.像这样的东西:

/usr/libexec/PlistBuddy -c "Set :Fabric:APIKey string $apiKey" $(PROJECT_DIR)/Info.plist
Run Code Online (Sandbox Code Playgroud)

4 - 调用cocoa pods run命令.

"${PODS_ROOT}/Fabric/run" $apiKey $secretKey
Run Code Online (Sandbox Code Playgroud)

编辑:完整的脚本

apiKey=$(sed -n '1p' < localFile.txt)
secretKey=$(sed -n '2p' < localFile.txt)

/usr/libexec/PlistBuddy -c "Set :Fabric:APIKey string $apiKey" $(PROJECT_DIR)/Info.plist

"${PODS_ROOT}/Fabric/run" $apiKey $secretKey
Run Code Online (Sandbox Code Playgroud)