ios – App:使用地址簿查找朋友:::如何处理国家/地区代码

我正在建立一个社交网络.我需要根据用户的电话号码和地址簿(如whatsapp和其他人)添加“查找朋友”功能.

我正在开发的应用程序将在全球范围内提供,我想知道其他人如何处理掠夺性和国家代码问题.当然,我可以找到解决方法,但我相信这是与该功能相关的相对常见的挑战.问题是,有些人用国家代码保存数字而有些人没有.我的数据库中是否需要两个版本的电话号码?

我的想法是:

1)用户分别注册国家代码中的数字和类型以及其余的数字(两个文本字段).然后数据库中有两个单独的列.一个包含国家代码的整数,另一个包含国家代码的数字.

2)然后另一个用户通过其地址簿查找朋友.在PHP中,检查每个数字,并将以“00”开头的数字与国际数字列中的数字进行比较.反之亦然,那些不以“00”开头的那些与没有国家代码的数字进行比较.通过这种方式,用户可以找到他们的朋友,无论他们如何保存他们的号码.

我将不胜感激任何帮助,链接,建议或方向.我正在寻找最佳实践方法.

谢谢!

解决方法

您可以使用此库将本地国家/地区电话号码格式化为国际电话号码
libPhoneNumber.它使用电话格式和国家代码的大数据.

然后通过国际电话号码搜索朋友.

用法示例:

NSError* error = nil;
        //Parse local phone number using country code from CTCarrier
        NBPhoneNumber * phoneNumberObject = [[NBPhoneNumberUtil sharedInstance] parseWithPhoneCarrierRegion: phoneNumber
                                                                                                      error: &error];
        if(error)
        {
            //This will get if no CTCarrier info. Maybe iPod,iPhone or iPad without sim
            error = nil;
            //You may put there another way to get user country code,or use default(Russia in example)
            phoneNumberObject = [[NBPhoneNumberUtil sharedInstance] parse: phoneNumber
                                                            defaultRegion: @"RU"
                                                                    error: &error];
        }
        NSString* formattedInternationalPhoneNumber;
        if(!error)
        {
            formattedInternationalPhoneNumber = [[NBPhoneNumberUtil sharedInstance] format: phoneNumberObject
                                                                              numberFormat: NBEPhoneNumberFormatE164
                                                                                     error: &error];
        }

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...