gpt4 book ai didi

ios - iOS 应用程序中的动态设置位置

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:44:56 25 4
gpt4 key购买 nike

我正在构建一个将被多个客户端重复使用的应用程序。应用程序中的一个区别是 EventID。我不想每次创建这些应用程序中的一个新应用程序时都更改代码,而是使用某种配置文件并在那里设置 ID 并保持访问该文件的代码相同。最好的地方是什么(plist)?以及如何在代码中和全局范围内访问此 key (如果可能)?

最佳答案

如果您将设置放在应用程序的 Info.plist 文件中,您可以按如下方式访问它:

NSString *eventID = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"EventID"];

您还可以将您的值存储在单独的属性列表文件(例如 Settings.plist)中,将其包含在您应用的“复制捆绑资源”构建阶段,并像这样访问它:

NSString *settingsPath = [[NSBundle mainBundle] pathForResource:@"Settings" ofType:@"plist"];
NSDictionary *settings = [NSDictionary dictionaryWithContentsOfFile:settingsPath];
NSString *eventID = [settings objectForKey:@"EventID"];

一种更容易阅读您的设置的方法是通过类提供访问权限:

@interface CNSSettings : NSObject

+ (NSString *)eventID;

@end

@implementation CNSSettings

+ (NSDictionary *)settingsDictionary
{
static NSDictionary *_settingsDictionary = nil;

static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSString *settingsPath = [[NSBundle mainBundle] pathForResource:@"Settings" ofType:@"plist"];
_settingsDictionary = [NSDictionary dictionaryWithContentsOfFile:settingsPath];
});

return _settingsDictionary;
}

+ (NSString *)eventID
{
return [[self settingsDictionary] objectForKey:@"EventID"];
}

@end

使用上面的类,您只需执行以下操作:

NSString *eventID = [CNSSettings eventID];

关于ios - iOS 应用程序中的动态设置位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19698895/

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