美文网首页
记录一下一些项目碰到的小问题

记录一下一些项目碰到的小问题

作者: LD_X | 来源:发表于2017-10-18 00:17 被阅读19次

    记录和统计一下一些项目碰到的小问题,想起时会记录更新一下。一般都是通用部分,部分业务不涉及。

    1.富文本下划线,在10.3系统不正常

    1.人民币符号修改成英文
    2.NSBaselineOffsetAttributeName : @(NSUnderlineStyleSingle)
    http://blog.csdn.net/Yj_sail/article/details/70257128

    2.定位地址语言问题,定位出的地址需要传中文到后台匹配返回区域编号,未定位成功,后台根据ip定位返回区域编号。

    一个碰到三个坑:
    1.非中文处理
    2.定位服务没有开启,跳转到设置,系统版本判断问题,使用宏错误。正确使用iOS10。
    3.后台数据库,市升级区,匹配失败,返回数字0,类型错误,约定是字符串,约定完没有做异常判断。

    /// 使用iOS10 API时要加`ifdef IOS10_SDK_ALLOWED`的判断
    #ifndef __IPHONE_10_0
    #define __IPHONE_10_0 100000
    #endif
    #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
    #define IOS10_SDK_ALLOWED YES
    #endif
    
    #define iOS10 (([[[UIDevice currentDevice] systemVersion] floatValue] >= 10.0) ? YES : NO)
    
    // 地理位置反编码
    - (void)reverseGeocoderWithLocation: (CLLocation *)location complation: (void (^)(CLPlacemark * placeMark, NSError * error))complationBlock
    {
        // 反编码
        if (location) {
            // 保存 Device 的现语言 (英语 法语 ,,,)
            NSMutableArray *userDefaultLanguages = [[NSUserDefaults standardUserDefaults]
                                                    objectForKey:@"AppleLanguages"];
            // 强制 成 简体中文
            [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"zh-hans",nil]
                                                      forKey:@"AppleLanguages"];
            [[NSUserDefaults standardUserDefaults] synchronize];
            CLGeocoder * geocoder = [[CLGeocoder alloc] init];
            [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
                for (CLPlacemark * placeMark in placemarks) {
                    NSLog(@"%@", placeMark.postalCode);
                }
                if (!error) {
                    // 反编码成功
                    CLPlacemark * placeMark = [placemarks lastObject];
                    complationBlock(placeMark, nil);
                } else {
                    complationBlock(nil, error);
                }
                // 还原Device 的语言
                [[NSUserDefaults standardUserDefaults] setObject:userDefaultLanguages forKey:@"AppleLanguages"];
            }];
        }
    }
    

    3.tabbarvc 实例化 执行顺序不同

    一般主tabbarvc不会带属性,但是二级tabbarvc就可以能带上属性了,赋值值发现慢了一拍,发现不一样了,具体见下链接,不展开说明了。
    [http://blog.csdn.net/yuedong56/article/details/47123113]

    相关文章

      网友评论

          本文标题:记录一下一些项目碰到的小问题

          本文链接:https://www.haomeiwen.com/subject/krzvrttx.html