5

我有兴趣在我的应用程序中使用SBUsesNetworkUIRequiresPersistentWiFi键;但是,我只想在使用一组特定的视图控制器时启用它们。有没有办法在应用程序运行时以编程方式翻转这些键值?

4

5 回答 5

6

您不能在运行时修改捆绑内容,您没有对该目录的写入权限。我不确定有没有办法完全按照您的意愿行事。

于 2009-09-16T00:50:02.557 回答
3

我知道您可以通过NSBundle将您的 info.plist 作为 NSDictionary 获取,其中包含以下内容:

NSDictionary* infoDictionary = [[NSBundle mainBundle] infoDictionary];

从那里你可以制作一个并mutableCopyNSDictionary其中设置值。在对键进行查询时,您必须确保查询NSDictionary而不是您的 info.plist 文件,但是将所有这些封装到一个为您处理这两个问题的类中应该不难。

至于直接修改您的应用程序的 info.plist 文件,可能会出现问题(例如,如果您修改文件,代码签名将失败,您的应用程序将被视为损坏),但我对此不确定。

于 2009-09-15T22:25:16.513 回答
0

Info.plist 只不过是一本字典。因此可以对其进行编辑。

于 2013-02-19T05:38:42.453 回答
0

您不能修改 Info.plist。似乎没有苹果认可的方式来做你所追求的事情。

于 2009-09-17T12:13:09.130 回答
0

我认为这行不通。[NSBundle mainBundle] 有一个指向特定 infoDictionary 的指针。即使您获取了一个可变副本,NSBundle 也不会知道我们的新 plist 的任何信息。有人试过吗?

于 2009-12-26T03:43:41.113 回答