記錄和統(tǒng)計(jì)一下一些項(xiàng)目碰到的小問題,想起時(shí)會記錄更新一下。一般都是通用部分,部分業(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ū)域編號。
一個(gè)碰到三個(gè)坑:
1.非中文處理
2.定位服務(wù)沒有開啟,跳轉(zhuǎn)到設(shè)置,系統(tǒng)版本判斷問題,使用宏錯(cuò)誤。正確使用iOS10。
3.后臺數(shù)據(jù)庫,市升級區(qū),匹配失敗,返回?cái)?shù)字0,類型錯(cuò)誤,約定是字符串,約定完沒有做異常判斷。
/// 使用iOS10 API時(shí)要加`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"];
// 強(qiáng)制 成 簡體中文
[[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 實(shí)例化 執(zhí)行順序不同
一般主tabbarvc不會帶屬性,但是二級tabbarvc就可以能帶上屬性了,賦值值發(fā)現(xiàn)慢了一拍,發(fā)現(xiàn)不一樣了,具體見下鏈接,不展開說明了。
[http://blog.csdn.net/yuedong56/article/details/47123113]