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

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

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]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在此特此声明:一下所有链接均来自互联网,在此记录下我的查阅学习历程,感谢各位原创作者的无私奉献 ! 技术一点一点积...
    远航的移动开发历程阅读 11,234评论 12 197
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,482评论 25 708
  • 0参考代码 蓝牙(BLE)模块及协议.pdf:在电脑内,有助于理解ble BLE蓝牙在Android开发中的应用 ...
    kamin阅读 3,492评论 0 20
  • 或许 离你越远的距离才是 最近的距离 心与心的相系 怎能阻断盼望的相聚 似乎听到了 你紧张的呼吸 蓝蓝的天空 镶嵌...
    A小天鹅阅读 220评论 2 3
  • 突然间发现自己很愚钝的地方在于360的手机居然抢不到?此时只怪自己没有头脑去抢,唉…… 刚开始我是做好了提前准备进...
    一个人的独行阅读 286评论 0 0