2015-04-17 49 views
0

我想动态地复制/更新现有iOS应用程序.plist中的某些内容。将动态内容写入xCode项目.plist

例如,.plist包含我想随时更新的FacebookAppID或Twitter API密钥,而不必在商店中重新部署应用程序。

我知道我可以将.plistNSBundle复制到NSDocumentsDirectory以使其可写。 但是新复制的文件不是OS将用来访问我需要随时间改变的信息的文件。 由于SDK(FBSDK等)完全依赖属性文件,因此我无法使用其他方法来存储我感兴趣的键/值。

任何想法?

+1

因此,SDK使用位于应用程序包中固定位置的固定'.plist'文件?如果这是真的,那么你就没有办法做到这一点,并且SDK被破坏了。 – trojanfoe

+0

顺便说一句,我不相信这是真的,因为没有人是愚蠢的。 – trojanfoe

+0

@trojanfoe感谢您的反馈。实际上,FB SDK依赖于.plist,如其开始所示:https://developers.facebook.com/docs/ios/getting-started/ SDK中没有API以编程方式进行设置。 –

回答

2

运行时无法编辑App-Info.plist文件(请参阅this thread)。

对于Facebook SDK,您只需在您的App-Info.plist中设置您的AppID,但AppID不会每天更改(与Twitter相同)。如果您需要关联其他应用,则需要推送应用的更新。

如果您有多个应用程序(例如一个用于生产,另一个用于测试),请为每个应用程序创建一个单独的.plist文件,以便您可以根据您构建的目标切换AppID。