2012-10-03 11 views
5

Ich entwickle eine iPhone App, die das Facebook SDK verwendet, um mit Facebook zu verbinden. Das SDK erfordert, dass mein Code eine App-ID beim Aufrufen von Code im SDK festlegt (die App-ID ist bei Facebook registriert). Ich möchte dieses Projekt Open-Source, aber natürlich möchte ich nicht, dass meine App-ID von anderen verwendet wird. Wie kann ich das Projekt so einrichten, dass ich es mit meiner App-ID erstellen kann, aber andere Personen könnten das Projekt auch mit ihren eigenen erstellen?Wie kann ich einen geheimen Schlüssel aus einem Open-Source-Xcode-Projekt ausschließen?

Antwort

4

Unter der Annahme, dass Sie Ihre AppID und Geheimnis sind das Hinzufügen plist in Ihrer App, könnten Sie Ihre Build-System für die Release-Build ändern, und fügen Sie ein „Post-Befehl Build“, die ein Skript ausführen, könnte folgendes zu tun:

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" 

Das würde den Wert dieser PLIST-Einträge auf einen allgemeinen Wert ändern.

Here's a reference to what I'm talking about. Fühlen Sie sich frei, entsprechend anzupassen.

Verwandte Themen