快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

ios开发常用,iOS用什么开发

IOS开发笔记整理

在项目功能中有一个定位CLLocation的需求,遇到了一些知识难点,经过各位大侠的帮助,问题解决,特此分享供大家学习,希望大家共同学习进步。

创新互联网站建设公司,提供成都网站设计、网站建设,网页设计,建网站,PHP网站建设等专业做网站服务;可快速的进行网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,是专业的做网站团队,希望更多企业前来合作!

一、简单说明

1.CLLocationManager

CLLocationManager的常用操作和属性

开始用户定位- (void)startUpdatingLocation;

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

说明:当调用了startUpdatingLocation方法后,就开始不断地定位用户的'位置,中途会频繁地调用代理的下面方法

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

每隔多少米定位一次

@property(assign, nonatomic) CLLocationDistance distanceFilter;

定位精确度(越精确就越耗电)

@property(assign, nonatomic) CLLocationAccuracy desiredAccuracy;

使用定位功能,首先要导入框架,遵守CLLocationManagerDelegate协议,再创建位置管理器CLLocationManager

在iOS8.0后,定位功能需要在info.plist中加入NSLocationWhenInUseUsageDescription和NSLocationAlwaysUsageDescription这两个NSString类型字段,才能够使用定位功能

代码贴出来与大家共勉,各位看官自行研究

{ self.locationManager = [[CLLocationManager alloc] init]; _locationManager.delegate = self; if([CLLocationManager locationServicesEnabled] == NO) { // NSLog(@"没有GPS服务"); } //地理位置精确度 _locationManager.desiredAccuracy=kCLLocationAccuracyNearestTenMeters; //设置距离筛选器,double类型,只要距离变化多少,就调用委托代理 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; //将经度显示到label上 _longitudeLabel.text = [NSString stringWithFormat:@"%f",longTI]; //将纬度现实到label上 _latitudeLabel.text = [NSString stringWithFormat:@"%f",latTI]; // 获取当前所在的城市名 CLGeocoder *geocoder = [[CLGeocoder alloc] init]; //根据经纬度反向地理编译出地址信息 [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); } }]; //系统会一直更新数据,直到选择停止更新,因为我们只需要获得一次经纬度即可,所以获取之后就停止更新 [manager stopUpdatingLocation];}

以上是关于我给大家整理的IOS开发之详解定位CLLocation,后续还会持续更新,希望大家能够喜欢。

iOS开发中常用的函数

rand() ---- 随机数

abs() / labs() ---- 整数绝对值

fabs() / fabsf() / fabsl() ---- 浮点数绝对值

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

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

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

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

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

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

hypot() / hypotf() / hypotl() ---- 求直角三角形斜边的长度

fmod() / fmodf() / fmodl() ---- 求两数整除后的余数

modf() / modff() / modfl() ---- 浮点数分解为整数和小数

frexp() / frexpf() / frexpl() ---- 浮点数分解尾数和二为底的指数

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() ---- 求坐标值的反正切值

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

iOS开发中常用命令工具(xcode-select、lipo、xcrun等)

当安装多个xcode的版本,使用该工具使用指定的版本。

-p 或者 --print-path 查看当前开发者目录,也即是xcode的版本目录。print the path of the active developer directory

-s path 或 --switch path 选择xcode的版本

--install 安装

--version 查看版本

--reset 恢复默认

sudo rm -rf /Library/Developer/CommandLineTools 强制删除安装目录下的文件

是管理Fat File的工具, 可以查看cpu架构, 提取特定架构,整合和拆分库文件。

Mac OS X下二进制可执行文件的动态链接库是dylib文件。所谓dylib,就是bsd风格的动态库。基本可以认为等价于windows的dll和linux的so。mac基于bsd,所以也使用的是dylib。

Linux下用 ldd 查看,苹果系统用 otool 。

otool命令介绍

MobSF

Mach-O 文件格式解析

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

xcrun :通过app文件,来生成ipa文件(包含了签名的过程)。

通过app文件生成ipa文件

libtool是一个通用库支持脚本(/usr/bin/libtool),将使用动态库的复杂性隐藏在统一、可移植的接口中。

可以在不同平台上创建并调用动态库,我们可以认为libtool是gcc的一个抽象,也就是说,它包装了gcc或者其他的任何编译器,用户无需知道细节, 只要告诉libtool说我需要要编译哪些库即可,并且,它只与libtool文件打交道,例如lo、la为后缀的文件。

libtool工具的使用

库是一单独的文件,里面包含了按照特定的结构组织起来的其它的一些文件(称做此库文件的member)。原始文件的内容、模式、时间戳、属主、组等属性都保留在库文件中。

详细命令参见, 菜鸟网络-ar命令

可以用来创建、修改库,也可以从库中提出单个模块。

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开发中,常常用来分析二进制和静态库文件。

列出 .o .a .so 中的符号信息,包括诸如符号的值,符号类型及符号名称等。所谓符号,通常指定义出的函数,全局变量等等。

iOS开发中,可以用来查看.a静态库所有打包进去的.o文件和函数接口信息,帮助我们定位崩溃信息。

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

二进制查看命令,将文件显示为16进制字符串表示形式。

例如: xxd libYTKNetwork.a | grep "net" 查看YTKNetwork.a文件里面包含net字符串的,帮助我们分析一些二进制文件。

DWARF文件初探——提取轻量符号表

Mac系统下lipo, ar, nm等工具的使用简介

美团 iOS 工程 zsource 命令背后的那些事儿

Linux工具参考篇

iOS 静态库冲突 两个不同的.o 文件冲突 ,静态库分离

ios的开发框架有哪些

ios的开发框架有很多,常用的框架有Foundation、UIKit、CoreData和CoreGraphics等。

Foundation框架可以为所有的应用程序提供基本系统服务;UIKit提供了在屏幕上绘制的机制,捕获事件,和创建通用用户界面元素,所有的iOS应用程序都基于UIKit。

CoreData提供对象的管理,使用CoreData,可以创建模型对象并管理这些对象;高质量的图形对于所有的iOS应用程序很重要,CoreGraphics则提供了更底层的库来帮助创建复杂图形。

总结:

ios的开发框架有很多,常用的框架有Foundation、UIKit、CoreData和CoreGraphics等。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:0731-84117792E-MAIL:11247931@qq.com

iOS开发八种系统常见键盘

1、英文键盘:

UIKeyboardTypeAlphabet(Alphabet字母)

UIKeyboardTypeASCIICapable

UIKeyboardTypeDefault

这三个默认都显示字母表。默认下面第一幅图,点左下角切换到下面第二幅图。

2、数字键盘

UIKeyboardTypeDecimalPad (Decimal十进制)

3、电子邮箱键盘

UIKeyboardTypeEmailAddress

4、没有符号的英文键盘

UIKeyboardTypeNamePhonePad

这个类型默认显示第一幅图片,如果点击123按钮则会显示第二副键盘。

5、没有小数点的数字键盘

UIKeyboardTypeNumberPad

6、全键盘的数字键盘

UIKeyboardTypeNumbersAndPunctuation

默认显示下面第一幅图,切换显示第二幅

7、带符号的数字键盘

UIKeyboardTypePhonePad

默认显示下面第一幅图,切换显示第二幅

8、推特键盘

UIKeyboardTypeTwitter

默认显示下面第一幅图,切换显示第二幅


当前文章:ios开发常用,iOS用什么开发
文章转载:http://6mz.cn/article/phedeo.html

其他资讯