簡體   English   中英

在多個目標上使用Facebook SDK iOS

[英]Facebook SDK iOS on multiple targets

我正在嘗試創建一個具有多個目標的應用程序,以便可以對代碼進行少量更改就將其用於其他應用程序。 通過在plist文件中設置自定義鍵並創建用於引用它們的用戶定義設置條目,我設法使用了許多所需變量。 問題是,使用Facebook SDK我無法做到這一點。 我在plist中設置了自定義鍵,例如$ {FACEBOOK_APP_ID},並在目標中設置了用戶定義的設置,例如FACEBOOK_APP_ID,其中包含了我的應用ID。 當我編譯並運行時,我得到app_id是必需的錯誤(當然,如果我在plist上對其進行硬編碼也可以正常工作)。 有誰知道不需要為每個目標使用不同的plist文件的解決方案?

經過數天的努力,沒有一個好的解決方案,我發現,如果將preprocess info.plist設置為Yes,我可以像往常一樣將用戶定義的設置添加到build-settings中,並且它們在運行時可用。 現在,我只需要將三個變量輸入目標配置即可,不需要預處理文件或預處理宏。

更新:

我已經將FACEBOOK_DISPLAY_NAME,FACEBOOK_APP_ID和FACEBOOK_URL_SCHEMES添加到用戶定義的設置中(從Xcode中的Editor-> Add Build Setting菜單),其中包含每個目標的適當詳細信息。 然后在Info.plist(我在所有目標中全局使用一個)中,添加了Facebook SDK指南狀態選項,但我添加了$ {FACEBOOK_APP_ID},$ {FACEBOOK_URL_SCHEMES}和$ {FACEBOOK_DISPLAY_NAME}而不是靜態值。 然后在構建設置中,我選擇“是”來預處理plist文件。 現在,我可以在用戶定義的設置中為每個目標更改信息,並且可以正常運行(不需要額外的預處理文件和定義宏)

您可以嘗試在差異目標中使用宏,只需在代碼中通過宏定義值即可。 范例:
#if project1
//應用程序ID const
#萬一

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM