gpt4 book ai didi

iphone - 将选项添加到 Settings.bundle 中的 PSMultiValueSpecifier

转载 作者:行者123 更新时间:2023-12-03 20:57:21 32 4
gpt4 key购买 nike

我一直在尝试使用 Settings.bundle 作为使用 PSMultiValueSpecifier 的选项的存储,这将允许用户选择其中之一。所以我需要能够在 Settings.bundle 中添加新选项。看起来很简单。

这是 Root.plist 中 PSMultiValueSpecifier 的示例

<key>Type</key>
<string>PSMultiValueSpecifier</string>
<key>Title</key>
<string>Options</string>
<key>DefaultValue</key>
<string></string>
<key>Key</key>
<string>optionSelection_preference</string>
<key>Values</key>
<array>
<string>option_1_key</string>
</array>
<key>Titles</key>
<array>
<string>Option 1</string>
</array>

所以我尝试添加“选项 2”,这是关键。所以我写了以下代码(部分):



NSDictionary* rootPlist = [NSDictionarydictionaryWithContentsOfFile:settingsBundle];

if (rootPlist == nil)
返回否;

NSArray* 说明符 = [rootPlist objectForKey:@"PreferenceSpecifiers"];

NSMutableDictionary *multiValueSpecifier = nil;

for (NSMutableDictionary *说明符中的说明符)
{
if ([[说明符 objectForKey:@"Key"] isEqualToString:speicierKey] == YES && [[说明符 objectForKey:@"Type"] isEqualToString:@"PSMultiValueSpecifier"] == YES)
{
多值说明符 = 说明符;
休息;
}
}

if (多值说明符 == nil)
返回否;

NSMutableArray* TitlesArray = [[multiValueSpecifier objectForKey:@"Titles"] mutableCopy];
NSMutableArray*valuesArray = [[multiValueSpecifier objectForKey:@"Values"] mutableCopy];

[titlesArray addObject:标题];
[valuesArray addObject:值];

[multiValueSpecifier setObject:titlesArray forKey:@"标题"];
[multiValueSpecifier setObject:valuesArray forKey:@"Values"];

返回 [rootPlist writeToFile:settingsBundle 原子地:YES];

该代码似乎可以工作,并且我看到了 Settings.bundle 中的更改。

问题:重新加载时,新条目消失,仅保留从 XCode 添加的条目。

最佳答案

无论如何,这在 App Store 应用程序中不起作用。您无法修改“设置” bundle ,因为这会修改应用程序 bundle 的内容,而 App Store 应用程序不允许这样做,因为这会导致其签名无效。

关于iphone - 将选项添加到 Settings.bundle 中的 PSMultiValueSpecifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4140214/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com