gpt4 book ai didi

ios - 有什么方法可以通过标准 API 从 iPhone SDK 获取自己的电话号码吗?

转载 作者:行者123 更新时间:2023-11-28 22:32:12 25 4
gpt4 key购买 nike

我想通过 iPhone SDK 中的标准 API 获取自己的电话号码?我使用了一些代码片段,但没有得到电话号码。

NSString *num = [[NSUserDefaults standardUserDefaults] stringForKey:@"SBFormattedPhoneNumber]; 
NSLog(@"Phone Number: %@", num);

NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Preferences/.GlobalPreferences.plist"]; 

NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];

NSLog(@"dict = %@", dict);

而且我想在 iTunes 上安装应用程序,所以不想使用任何私有(private)方法。

感谢您的帮助

最佳答案

没有可靠的方法可以做到这一点。出于安全原因以及并非所有 iOS 设备都有电话号码(想想 iPad/iPod)这一事实,Apple 这样做了。然而,有时似乎唯一可行的方法是使用设备名称,搜索用户名,并查看该名称是否存在于地址簿中,然后希望用户自己的地址簿条目存在。但这不是万无一失的方法,而且肯定会导致潜在的误报结果(尤其是对于常用名称或维护不善的地址簿)。此外,我不知道这在非英语语言中会有多有效。因此,仅将其用作提示用户的建议值(即“这是您的电话号码吗?”)。这里有一些代码可以帮助您做到这一点:

// Try to figure out user's name from device name
NSString *deviceName = UIDevice.currentDevice.name;
NSUInteger index;
if ((index = [deviceName rangeOfString:@"'s iPhone"].location) != NSNotFound ||
(index = [deviceName rangeOfString:@"'s iPad"].location) != NSNotFound ||
(index = [deviceName rangeOfString:@"'s iPod"].location) != NSNotFound ||
(index = [deviceName rangeOfString:@"’s iPhone"].location) != NSNotFound ||
(index = [deviceName rangeOfString:@"’s iPad"].location) != NSNotFound ||
(index = [deviceName rangeOfString:@"’s iPod"].location) != NSNotFound)
{
NSString *potentialName = [deviceName substringToIndex:index];
if (potentialName.length > 0)
{
// Search against the address book for an entry with the same name
}
}

关于ios - 有什么方法可以通过标准 API 从 iPhone SDK 获取自己的电话号码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17079500/

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