在 iOS 上有一个很好的功能,应用程序开发人员可以通过在资源或 key 的基本名称上附加设备特定的后缀来在 Info.plist
中指定设备特定的资源或 key 。目前我们有 ~ipad
和 ~iphone
。
我想对我的应用程序的某些注册域用户默认值使用相同的系统,这些默认值在不同的设备上应具有不同的值。你知道 iOS 中有一个函数或方法可以调用来获取当前设备后缀吗?虽然自己编写代码很简单,但我更喜欢尽可能使用系统 API。
我并不关心系统是否给我 ~ipad
和 ~iphone
,每个设备的字符串只需是唯一的。我也更喜欢人类可读的东西,这就是为什么我不热衷于使用 UIDevice.userInterfaceIdiom
(这只是一个数字)。我还查看了 UIDevice.model
但我不确定这是否合适。
最佳答案
以防万一没有肯定的答案,这就是我对所需功能的实现:
// NSStringAdditions.h
@interface NSString(NSStringAdditions)
- (NSString*) stringByAppendingDeviceSuffix;
@end
// NSStringAdditions.m
- (NSString*) stringByAppendingDeviceSuffix
{
static NSString* deviceSuffix = nil;
if (! deviceSuffix)
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
deviceSuffix = @"~iphone";
else
deviceSuffix = @"~ipad";
}
return [self stringByAppendingString:deviceSuffix];
}
关于ios - iOS 是否提供了获取设备特定后缀字符串的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9449261/