記錄和統(tǒng)計一下一些項目碰到的小問題在孝,想起時會記錄更新一下硕糊。一般都是通用部分嬉荆,部分業(yè)務(wù)不涉及。
1.富文本下劃線响蓉,在10.3系統(tǒng)不正常
1.人民幣符號修改成英文
2.NSBaselineOffsetAttributeName : @(NSUnderlineStyleSingle)
http://blog.csdn.net/Yj_sail/article/details/70257128
2.定位地址語言問題硕勿,定位出的地址需要傳中文到后臺匹配返回區(qū)域編號,未定位成功枫甲,后臺根據(jù)ip定位返回區(qū)域編號源武。
一個碰到三個坑:
1.非中文處理
2.定位服務(wù)沒有開啟,跳轉(zhuǎn)到設(shè)置想幻,系統(tǒng)版本判斷問題粱栖,使用宏錯誤。正確使用iOS10脏毯。
3.后臺數(shù)據(jù)庫闹究,市升級區(qū),匹配失敗食店,返回數(shù)字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 的現(xiàn)語言 (英語 法語 ,自娩,,)
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 實例化 執(zhí)行順序不同
一般主tabbarvc不會帶屬性椒功,但是二級tabbarvc就可以能帶上屬性了捶箱,賦值值發(fā)現(xiàn)慢了一拍,發(fā)現(xiàn)不一樣了动漾,具體見下鏈接丁屎,不展開說明了。
[http://blog.csdn.net/yuedong56/article/details/47123113]