ios開發(fā)常用,iOS用什么開發(fā)

IOS開發(fā)筆記整理

在項目功能中有一個定位CLLocation的需求,遇到了一些知識難點,經(jīng)過各位大俠的幫助,問題解決,特此分享供大家學(xué)習(xí),希望大家共同學(xué)習(xí)進(jìn)步。

創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,提供成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);可快速的進(jìn)行網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,是專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!

一、簡單說明

1.CLLocationManager

CLLocationManager的常用操作和屬性

開始用戶定位- (void)startUpdatingLocation;

停止用戶定位- (void) stopUpdatingLocation;

說明:當(dāng)調(diào)用了startUpdatingLocation方法后,就開始不斷地定位用戶的'位置,中途會頻繁地調(diào)用代理的下面方法

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations;

每隔多少米定位一次

@property(assign, nonatomic) CLLocationDistance distanceFilter;

定位精確度(越精確就越耗電)

@property(assign, nonatomic) CLLocationAccuracy desiredAccuracy;

使用定位功能,首先要導(dǎo)入框架,遵守CLLocationManagerDelegate協(xié)議,再創(chuàng)建位置管理器CLLocationManager

在iOS8.0后,定位功能需要在info.plist中加入NSLocationWhenInUseUsageDescription和NSLocationAlwaysUsageDescription這兩個NSString類型字段,才能夠使用定位功能

代碼貼出來與大家共勉,各位看官自行研究

{ self.locationManager = [[CLLocationManager alloc] init]; _locationManager.delegate = self; if([CLLocationManager locationServicesEnabled] == NO) { // NSLog(@"沒有GPS服務(wù)"); } //地理位置精確度 _locationManager.desiredAccuracy=kCLLocationAccuracyNearestTenMeters; //設(shè)置距離篩選器,double類型,只要距離變化多少,就調(diào)用委托代理 self.locationManager.distanceFilter = kCLDistanceFilterNone; // meters [_locationManager requestWhenInUseAuthorization];// 前臺定位 [_locationManager startUpdatingLocation];}- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{ NSLog(@"longitude = %f", ((CLLocation *)[locations lastObject]).coordinate.longitude); NSLog(@"latitude = %f", ((CLLocation *)[locations lastObject]).coordinate.latitude); CGFloat longTI=((CLLocation *)[locations lastObject]).coordinate.longitude; CGFloat latTI=((CLLocation *)[locations lastObject]).coordinate.latitude; //將經(jīng)度顯示到label上 _longitudeLabel.text = [NSString stringWithFormat:@"%f",longTI]; //將緯度現(xiàn)實到label上 _latitudeLabel.text = [NSString stringWithFormat:@"%f",latTI]; // 獲取當(dāng)前所在的城市名 CLGeocoder *geocoder = [[CLGeocoder alloc] init]; //根據(jù)經(jīng)緯度反向地理編譯出地址信息 [geocoder reverseGeocodeLocation:locations.lastObject completionHandler:^(NSArray *array, NSError *error) { if (array.count 0) { CLPlacemark *placemark = [array objectAtIndex:0];// //將獲得的所有信息顯示到label上// self.location.text = placemark.name; //獲取城市 NSString *city = placemark.locality; if (!city) { //四大直轄市的城市信息無法通過locality獲得,只能通過獲取省份的方法來獲得(如果city為空,則可知為直轄市) city = placemark.administrativeArea; } // NSLog(@"city = %@", city); _cityName=city; } else if (error == nil [array count] == 0) { // NSLog(@"No results were returned."); } else if (error != nil) { // NSLog(@"An error occurred = %@", error); } }]; //系統(tǒng)會一直更新數(shù)據(jù),直到選擇停止更新,因為我們只需要獲得一次經(jīng)緯度即可,所以獲取之后就停止更新 [manager stopUpdatingLocation];}

以上是關(guān)于我給大家整理的IOS開發(fā)之詳解定位CLLocation,后續(xù)還會持續(xù)更新,希望大家能夠喜歡。

iOS開發(fā)中常用的函數(shù)

rand() ---- 隨機(jī)數(shù)

abs() / labs() ---- 整數(shù)絕對值

fabs() / fabsf() / fabsl() ---- 浮點數(shù)絕對值

floor() / floorf() / floorl() ---- 向下取整

ceil() / ceilf() / ceill() ---- 向上取整

round() / roundf() / roundl() ---- 四舍五入

sqrt() / sqrtf() / sqrtl() ---- 求平方根

fmax() / fmaxf() / fmaxl() ---- 求最大值

fmin() / fminf() / fminl() ---- 求最小值

hypot() / hypotf() / hypotl() ---- 求直角三角形斜邊的長度

fmod() / fmodf() / fmodl() ---- 求兩數(shù)整除后的余數(shù)

modf() / modff() / modfl() ---- 浮點數(shù)分解為整數(shù)和小數(shù)

frexp() / frexpf() / frexpl() ---- 浮點數(shù)分解尾數(shù)和二為底的指數(shù)

sin() / sinf() / sinl() ---- 求正弦值

sinh() / sinhf() / sinhl() ---- 求雙曲正弦值

cos() / cosf() / cosl() ---- 求余弦值

cosh() / coshf() / coshl() ---- 求雙曲余弦值

tan() / tanf() / tanl() ---- 求正切值

tanh() / tanhf() / tanhl() ---- 求雙曲正切值

asin() / asinf() / asinl() ---- 求反正弦值

asinh() / asinhf() / asinhl() ---- 求反雙曲正弦值

acos() / acosf() / acosl() ---- 求反余弦值

acosh() / acoshf() / acoshl() ---- 求反雙曲余弦值

atan() / atanf() / atanl() ---- 求反正切值

atan2() / atan2f() / atan2l() ---- 求坐標(biāo)值的反正切值

atanh() / atanhf() / atanhl() ---- 求反雙曲正切值

iOS開發(fā)中常用命令工具(xcode-select、lipo、xcrun等)

當(dāng)安裝多個xcode的版本,使用該工具使用指定的版本。

-p 或者 --print-path 查看當(dāng)前開發(fā)者目錄,也即是xcode的版本目錄。print the path of the active developer directory

-s path 或 --switch path 選擇xcode的版本

--install 安裝

--version 查看版本

--reset 恢復(fù)默認(rèn)

sudo rm -rf /Library/Developer/CommandLineTools 強(qiáng)制刪除安裝目錄下的文件

是管理Fat File的工具, 可以查看cpu架構(gòu), 提取特定架構(gòu),整合和拆分庫文件。

Mac OS X下二進(jìn)制可執(zhí)行文件的動態(tài)鏈接庫是dylib文件。所謂dylib,就是bsd風(fēng)格的動態(tài)庫?;究梢哉J(rèn)為等價于windows的dll和linux的so。mac基于bsd,所以也使用的是dylib。

Linux下用 ldd 查看,蘋果系統(tǒng)用 otool 。

otool命令介紹

MobSF

Mach-O 文件格式解析

xcodebuild :通過工程文件,生成app文件。

xcrun :通過app文件,來生成ipa文件(包含了簽名的過程)。

通過app文件生成ipa文件

libtool是一個通用庫支持腳本(/usr/bin/libtool),將使用動態(tài)庫的復(fù)雜性隱藏在統(tǒng)一、可移植的接口中。

可以在不同平臺上創(chuàng)建并調(diào)用動態(tài)庫,我們可以認(rèn)為libtool是gcc的一個抽象,也就是說,它包裝了gcc或者其他的任何編譯器,用戶無需知道細(xì)節(jié), 只要告訴libtool說我需要要編譯哪些庫即可,并且,它只與libtool文件打交道,例如lo、la為后綴的文件。

libtool工具的使用

庫是一單獨的文件,里面包含了按照特定的結(jié)構(gòu)組織起來的其它的一些文件(稱做此庫文件的member)。原始文件的內(nèi)容、模式、時間戳、屬主、組等屬性都保留在庫文件中。

詳細(xì)命令參見, 菜鳥網(wǎng)絡(luò)-ar命令

可以用來創(chuàng)建、修改庫,也可以從庫中提出單個模塊。

lipo libAFNetworking.a -thin arm64 -output lib-arm64.a 生成Arm64包

ar -t lib-arm64.a 輸出包含的.o文件 和 otool -L libAFNetworking.a 一樣。

ar -x lib-arm64.a 解壓出包里面的.o文件

在iOS開發(fā)中,常常用來分析二進(jìn)制和靜態(tài)庫文件。

列出 .o .a .so 中的符號信息,包括諸如符號的值,符號類型及符號名稱等。所謂符號,通常指定義出的函數(shù),全局變量等等。

iOS開發(fā)中,可以用來查看.a靜態(tài)庫所有打包進(jìn)去的.o文件和函數(shù)接口信息,幫助我們定位崩潰信息。

例如: nm -u libAFNetworking.a 列出某個.o文件的接口信息。

二進(jìn)制查看命令,將文件顯示為16進(jìn)制字符串表示形式。

例如: xxd libYTKNetwork.a | grep "net" 查看YTKNetwork.a文件里面包含net字符串的,幫助我們分析一些二進(jìn)制文件。

DWARF文件初探——提取輕量符號表

Mac系統(tǒng)下lipo, ar, nm等工具的使用簡介

美團(tuán) iOS 工程 zsource 命令背后的那些事兒

Linux工具參考篇

iOS 靜態(tài)庫沖突 兩個不同的.o 文件沖突 ,靜態(tài)庫分離

ios的開發(fā)框架有哪些

ios的開發(fā)框架有很多,常用的框架有Foundation、UIKit、CoreData和CoreGraphics等。

Foundation框架可以為所有的應(yīng)用程序提供基本系統(tǒng)服務(wù);UIKit提供了在屏幕上繪制的機(jī)制,捕獲事件,和創(chuàng)建通用用戶界面元素,所有的iOS應(yīng)用程序都基于UIKit。

CoreData提供對象的管理,使用CoreData,可以創(chuàng)建模型對象并管理這些對象;高質(zhì)量的圖形對于所有的iOS應(yīng)用程序很重要,CoreGraphics則提供了更底層的庫來幫助創(chuàng)建復(fù)雜圖形。

總結(jié):

ios的開發(fā)框架有很多,常用的框架有Foundation、UIKit、CoreData和CoreGraphics等。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:0731-84117792E-MAIL:11247931@qq.com

iOS開發(fā)八種系統(tǒng)常見鍵盤

1、英文鍵盤:

UIKeyboardTypeAlphabet(Alphabet字母)

UIKeyboardTypeASCIICapable

UIKeyboardTypeDefault

這三個默認(rèn)都顯示字母表。默認(rèn)下面第一幅圖,點左下角切換到下面第二幅圖。

2、數(shù)字鍵盤

UIKeyboardTypeDecimalPad (Decimal十進(jìn)制)

3、電子郵箱鍵盤

UIKeyboardTypeEmailAddress

4、沒有符號的英文鍵盤

UIKeyboardTypeNamePhonePad

這個類型默認(rèn)顯示第一幅圖片,如果點擊123按鈕則會顯示第二副鍵盤。

5、沒有小數(shù)點的數(shù)字鍵盤

UIKeyboardTypeNumberPad

6、全鍵盤的數(shù)字鍵盤

UIKeyboardTypeNumbersAndPunctuation

默認(rèn)顯示下面第一幅圖,切換顯示第二幅

7、帶符號的數(shù)字鍵盤

UIKeyboardTypePhonePad

默認(rèn)顯示下面第一幅圖,切換顯示第二幅

8、推特鍵盤

UIKeyboardTypeTwitter

默認(rèn)顯示下面第一幅圖,切換顯示第二幅

當(dāng)前名稱:ios開發(fā)常用,iOS用什么開發(fā)
網(wǎng)頁鏈接:http://muchs.cn/article40/phedeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、搜索引擎優(yōu)化、網(wǎng)頁設(shè)計公司、關(guān)鍵詞優(yōu)化、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站