ios 更新适配问题持续更新一

前言

部分ios 遇到的版本问题

问题和解决方法

1.联系人中空格问题

-(void)contactPicker:(CNContactPickerViewController *)picker didSelectContactProperty:(CNContactProperty *)contactProperty{
    if ([contactProperty.key isEqualToString:@"phoneNumbers"]) {
        CNPhoneNumber *phonenumber=contactProperty.value;//将value转为cnphonenumber类型
        NSLog(@"%@",phonenumber.stringValue);
            NSString *phoneNumber = phonenumber.stringValue;
            phoneNumber= [phoneNumber stringByReplacingOccurrencesOfString:@"-" withString:@""];
            phoneNumber= [phoneNumber stringByReplacingOccurrencesOfString:@"+86" withString:@""];
            phoneNumber= [phoneNumber stringByReplacingOccurrencesOfString:@" " withString:@""];
            phoneNumber= [phoneNumber stringByReplacingOccurrencesOfString:@" " withString:@""];
        NSString *str=[NSString stringWithFormat:@"%@ %@",contactProperty.contact.familyName,contactProperty.contact.givenName];
        if ([phoneNumber isTelephone:phoneNumber]) {
        self.phoneTextField.text = [NSString formatPhoneToThreeParagraph:phoneNumber];
        self.nameTextField.text = str;

        }else{
                      [self failString:@"联系方式不是手机号"];
              }
    }
    else if ([contactProperty.key isEqualToString:@"postalAddresses"])
    {
        CNPostalAddress *address=contactProperty.value;
        NSLog(@"%@",address.street);
    }
    else
    {
        NSLog(@"%@",contactProperty.value);
    }
   
}

在处理phoneNumber多处理了一次;去掉空格的操作,在ios 11之后联系人中填写多个电话的时候就会出现出现格式不一样的空格,目前只能这么删除。个人建议用正则提取数据的方式提取数据。

2.选择手机联系人崩溃问题

9之前用

   ABPeoplePickerNavigationController *peoplePicker = [[ABPeoplePickerNavigationController alloc] init];
            peoplePicker.peoplePickerDelegate = self;
            [self presentViewController:peoplePicker animated:YES completion:^{
                [self dismiss];
            }];

9之后用

    // 1.创建选择联系人的控制器
    CNContactPickerViewController *contactVc = [[CNContactPickerViewController alloc] init];
    // 2.设置代理
    contactVc.delegate = self;
    // 3.弹出控制器
    [self presentViewController:contactVc animated:YES completion:nil];

3.UIViewView参数中文问题

项目中有一个打开三方url功能

  • 含有中文参数url
  • 已经编码过参数url
    解决办法:这种问题基本上不管你编码不管你转码还是不转码都会有一方无法访问;目前我采用的是自己写的界面里面做跳转这样程序
window.location='你的url';

希望有更好的方式

4.ios10之后推送问题

  //如果要在iOS10显示交互式的通知,必须注意实现以下代码
    if ([[[UIDevice currentDevice] systemVersion]intValue]>=10) {
        UNNotificationAction *action1_ios10 = [UNNotificationAction actionWithIdentifier:@"action1_ios10_identifier" title:@"打开应用" options:UNNotificationActionOptionForeground];
        UNNotificationAction *action2_ios10 = [UNNotificationAction actionWithIdentifier:@"action2_ios10_identifier" title:@"忽略" options:UNNotificationActionOptionForeground];
        
        //UNNotificationCategoryOptionNone
        //UNNotificationCategoryOptionCustomDismissAction  清除通知被触发会走通知的代理方法
        //UNNotificationCategoryOptionAllowInCarPlay       适用于行车模式
        UNNotificationCategory *category1_ios10 = [UNNotificationCategory categoryWithIdentifier:@"category101" actions:@[action1_ios10,action2_ios10]   intentIdentifiers:@[] options:UNNotificationCategoryOptionCustomDismissAction];
        NSSet *categories_ios10 = [NSSet setWithObjects:category1_ios10, nil];
        [center setNotificationCategories:categories_ios10];
    }else
    {
        [UMessage registerForRemoteNotifications:categories];
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。