iOS开发
Raymon-lau
做个有情怀的攻城狮
展开
-
iOS开发---获取当前日期是星期几
+ (NSString *)currentDateWithFormatter:(NSString *)formatter{ NSDate *date = [NSDatedate]; NSDateFormatter *dateformatter = [[NSDateFormatteralloc] init]; [dateformatter原创 2016-02-23 16:24:07 · 5346 阅读 · 0 评论 -
安卓/iOS获取唯一标识码
苹果生成唯一标识码UDID是Unique Device Identifier的缩写,中文意思是设备唯一标识. 在很多需要限制一台设备一个账号的应用中经常会用到,在Symbian时代,我们是使用IMEI作为设备的唯一标识的,可惜的是Apple官方不允许开发者获得设备的IMEI苹果公司建议使用UUID【一种开放的软件构建标准】来替代: -(NSString*) uuid { CFUUID原创 2016-11-03 14:47:17 · 2187 阅读 · 0 评论 -
Xcode8导入框架报错Use Legacy Swift Language Version
升级xcode后一直都赶项目,今天有时间弄了下荒废许久的RAC,结果刚导入框架变提示Swift版本问题,我选择的是没有更新,后面就继续报错了 Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift. Use the [E原创 2016-11-30 16:28:28 · 1370 阅读 · 0 评论 -
iOS开发支付宝支付
今天做支付宝支付用的不是原生集成,搞得有点懵,之前做集成的都是直接根据文档走就好了,在这里记录下遇到的问题调用支付接口,后台返回一段form表单,开始总是已集成的逻辑去考虑,怎么转换成json格式,就开始各种转html,发现怎么都不会自动输出,看了下前段代码发现这里是带脚本可以自动跳转操作的,就试了下用webview进行处理,web view处理html的方法 [self.w原创 2016-11-23 16:35:04 · 472 阅读 · 0 评论 -
iOS使用web端调用客户端APP(支付宝)
这次做支付宝没有做集成,只是调用web端,然后提交form表单,在这里遇到了个问题,如果移动端安装了支付宝的前提下如何在web端调用客户端APP,不多说,直接上方法: 在URL Types里不需要填写任何东西原创 2016-11-30 11:15:39 · 7452 阅读 · 4 评论 -
使用WebViewJavascriptBridge进行iOS与H5交互
iOS与H5的交互方式大致分为三种:有很多的app直接使用在webview的代理中通过拦截的方式与native进行交互,通常是通过拦截url scheme判断是否是我们需要拦截处理的url及其所对应的要处理的功能是什么。任意版本都支持。iOS7之后出了JavaScriptCore.framework用于与JS交互,但是不支持iOS6,对于还需要支持iOS6的app,就不能考虑这个了。(想了解的可原创 2016-12-08 17:52:00 · 2873 阅读 · 0 评论 -
Please sign in with an app-specific password
今天要更新APP,发现Xcode上传APP登录错误提示信息:Please sign in with an app-specific password. You can create one at appleid.apple.com网上查了下发现是由于账号开启了二重验证,所以才导致在xcode上无法登陆解决办法如下:在Apple官网登陆你的账号,在管理密码的地方有一个Generate原创 2016-12-21 16:43:16 · 7492 阅读 · 0 评论 -
SVN报错Node remains in conflict解决办法
处理方式:#cd /home/svn/app/#mkdir /root/bak#mv /home/svn/app/* /root/bak/#svn revert .#svn up如果还是不可以,出绝招:svn remove --force filenamesvn resolve --accept=working filename原创 2016-12-30 09:37:33 · 26601 阅读 · 1 评论 -
Attempt to set a non-property-list object
NSUserDefaults 数据保存报错 原因:插入了不识别的数据类型,NSUserDefaults支持的数据类型有NSString、 NSNumber、NSDate、 NSArray、NSDictionary、BOOL、NSInteger、NSFloat等系统定义的数据类型。自定义的类型需要转成NSData再存入。 解决:打印数据会发现对象中存在Null的值,把这个值替换掉就好了原创 2016-12-20 19:43:15 · 635 阅读 · 0 评论 -
微信小程序编译提示设置启动页
昨天看了下小程序,结果编译的时候总是提示设置启动页,一直以为是没有appid的原因,最后发现是编写后没有对当前文件进行编译保存,网上一直没有找到解决方案,只能说不太熟悉,慢慢学习吧,碰到相关问题的可以试试 当有绿点的时候代码没有保存,需要保存后再进行编译原创 2017-01-11 17:10:15 · 3259 阅读 · 0 评论 -
升级Xcode8后不能注释和控制台日志显示问题及解决方案
1.在xcode8中发现command+/没作用,可以在终端输入sudo /usr/libexec/xpccachectl 然后重启电脑2.证书已经可以自动化了,直接勾选开发帐号就可以,但是想要打包,还要去setting里把证书换成distribution,然后在general中关闭自动管理证书,选择发布证书即可3.xcode8中在会生成log日志,感觉看着不舒服的可以用下面方式原创 2016-11-03 13:48:18 · 516 阅读 · 0 评论 -
iOS开发规范学习总结与框架搭建
iOS 开发规范 以MVC开发模式为主,根据模块化+MVC思想 一.模块化思想创建目录路径(创建真实路径,再拖到项目中不要直接创建Group) M —— 模型,模型对象封装了应用程序的数据,并定义操控和处理该数据的逻辑和运算。 V —— 视图,显示数据,是应用程序中用户可以看见的对象。 C —— 控制器,在应用程序的一个或多个视图对象和一个或多个模型对象之间,控制器对象充当媒介。原创 2016-09-07 15:55:29 · 389 阅读 · 1 评论 -
封装UIDatePicker,日期选择器
在做日期选择中经常会用到UIDatePicker这个控件,在此简单封装了下 .h文件中import import “RMDateView.h”CGFloat const kButtonHeightInDateView = 30; CGFloat const kButtonwidthInDateView = 50; CGFloat const kPickViewBackViewInDateVie原创 2016-08-30 21:40:23 · 993 阅读 · 0 评论 -
封装CLLocationManager定位获取经纬度
创建调用方法#import @interface RMMapLocation : NSObject{ void (^saveGpsCallBack)(double lattitude,double longitude);}+ (void)getGps:(void(^)(double lattitude,double longitude))block;+ (void)stop原创 2016-04-14 15:58:27 · 2238 阅读 · 0 评论 -
UIBezierPath + CAShapeLayer的简单使用
先看看UIBezierPath的基础概念 UIBezierPath是CGPathRef数据类型的封装。使用UIBezierPath可以创建基于矢量的路径,此类是Core Graphics框架关于路径的封装。使用此类可以定义简单的形状,如椭圆、矩形或者有多个直线和曲线段组成的形状等所以在这里我想到的是用UIBezierPath进行绘图实现.h(先引入QuartzCore/QuartzCore原创 2016-06-07 19:05:33 · 620 阅读 · 0 评论 -
iOS开发---MJRefresh下拉刷新/下拉加载
引入MJRefresh.h后只需设置(这里是上拉加载,如果是下拉刷新调用header方法即可)想添加图片 [self.tableView.gifHeadersetImages:imageArray forState:MJRefreshHeaderStateIdle];) [self.tabelViewaddLegendFooterWithRefreshi原创 2016-03-15 11:36:57 · 777 阅读 · 0 评论 -
将16进制颜色值转换成UIColor
+ (UIColor *)getColorWithHexString:(NSString *)hexColor{ if ([hexColor hasPrefix:@"#"]) { hexColor = [hexColor substringFromIndex:1]; } unsigned int red,green,blue; NSRange ra原创 2016-07-14 10:53:59 · 406 阅读 · 0 评论 -
webview的使用
创建webview@property (strong, nonatomic) UIWebView *webView;- (UIWebView *)webView{ if (_webView) { return _webView; } _webView = [[UIWebView alloc] initWithFrame:self.bounds]; _原创 2016-07-14 11:29:34 · 328 阅读 · 0 评论 -
商品添加购物车实现动画效果
在应用商场的时候,发现淘宝和京东在往购物车添加商品时,会有商品缩略图跑到购物车的效果,特此做了个小Demo,便于学习和应用在controller的.h文件中@interface ViewController ()@property (nonatomic,strong) UIBezierPath *path;@end@implementation ViewController{原创 2016-07-28 13:59:54 · 1161 阅读 · 0 评论 -
iOS防止(按钮)UIButton多次点击造成多次响应
因为类别无法给类添加属性,这里主要利用runtime给button添加属性的方法给button设置响应间隔时间1.创建UIButton的类别在.h文件中#import <UIKit/UIKit.h>#define defaultInterval .7// 默认间隔时间@interface UIButton (touch)/** * 设置点击时间间隔 */@property (nona原创 2016-06-08 13:48:00 · 3525 阅读 · 0 评论 -
手动打包.a静态库
1.新建.a静态库工程 2.实现需要打包的类 3.编译静态库 没有编译时是红色,编译成功后为黑色 当你选择编译器为模拟器时,编译出来的就是模拟器版本.a静态库 当你选择编译器为设备时,编译出来的就是真机版本.a静态库 这时候就可以分别适配真机或者模拟器静态库了 但是为了方便我们通常会将两个版本综合到一起,这里就需要打开终端输入lipo -create "真机版本.a静态库路径"原创 2016-09-10 17:22:54 · 503 阅读 · 0 评论 -
makeObjectsPerformSelector方法使用
nsarray 实例方法1. makeObjectsPerformSelector:@select(aMethod)简介:让数组中的每个元素 都调用 aMethod 2. makeObjectsPerformSelector:@select(aMethod) withObject:oneObject简介:让数组中的每原创 2016-09-13 15:52:06 · 1055 阅读 · 0 评论 -
iOS开发中setValue和setObject的区别
在使用NSMutableDictionary的时候遇到setValue forKey和setObject forKey混合使用,有时候感觉一样,就容易忽略些问题--- setObject:forkey:中value是不可以是nil的,否则会报错。--- setValue:forKey:中value可以是nil,但是当value为nil的时候,会自动调用setValue:forUnd原创 2017-01-20 15:20:34 · 634 阅读 · 0 评论 -
iOS 如何返回(pop)到指定页面
APP开发的过程中会遇到跳转问题,我们大部分是调回到上一个页面,可所有时候也会遇到跳转到指定页面的需求,苹果给我们提供了几种跳转方式1.退出到跟视图控制器popToRootViewControllerAnimated:(BOOL)animated;2.返回到上个页面popViewControllerAnimated:(BOOL)animated;原创 2017-03-29 10:39:05 · 5382 阅读 · 0 评论 -
解决返回数据中存在Null而导致的错误问题
最近做新项目又遇到了后台数据出现Null的问题,之前都是用MJ或者让后台返回的时候直接将null置为空,对于目前项目这样改的代价有点大,原本项目中继承了yykit,寄希望与yymodel,可是更新后发现里面方法和之前接触的不一样,直接是modelwithDictionary而不是yy_modelWithDictionary(怀疑遇到了假yy-.-,心疼自己两秒),下面就出现这个转换方法//替换数据中原创 2017-12-04 15:19:14 · 2772 阅读 · 0 评论 -
git出现fatal: unable to access '***': The requested
git config --global http.sslVerify false轻松搞定原创 2018-01-02 16:19:40 · 6564 阅读 · 0 评论 -
可滑动刻度尺
没什么好解释的了吧,直接代码了,有需要的可以参考,Demo地址下载的是纯oc写的,本博客内容为swift创建下载地址:http://download.csdn.net/download/sinat_28585351/10229670github:https://github.com/Raymon-lau/sliderProgressDemo.git封装刻度尺.h@interface RMScrol...原创 2018-01-29 14:15:48 · 3310 阅读 · 0 评论 -
git failed to parse '=' as an integer (-1)
今天提交代码的时候遇到了这个报错可以在终端中 $git config --edit --global这个是我的结果把红框中的删除后push就成功了,而且再次执行上面命令,查看结果如下也有些执行命令后是下面这样的结果,如果http和ssh种的数字不一致,修改下再尝试也可以把红框中的删除后push就成功了,而且再次执行上面命令,查看结果如下...原创 2018-04-11 10:33:24 · 277 阅读 · 0 评论 -
RAC+MVVM项目实践--将商品添加购物车
只是实现了这样一个简单的效果,在项目中使用的mvvm模式,这也是mvvm的一个好处吧,很方便的直接将这一段抽离了出来,具体查看项目中的README文件,可留言随时交流下载地址: https://github.com/Raymon-lau/RAC_Demo...原创 2018-05-18 18:32:31 · 481 阅读 · 0 评论 -
iOS在UIView遮罩层上截取一块透明区域(新手引导页)
用于设置新手引导页 设置方法- (CAShapeLayer *)addTransparencyViewWith:(UIBezierPath *)tempPath{ UIBezierPath *path = [UIBezierPath bezierPathWithRect:[UIScreen mainScreen].bounds]; [path appendP...原创 2018-07-25 14:51:47 · 5116 阅读 · 0 评论 -
ld: library no found for -lstdc++.6.0.9错误解决方案
今天升级xcode 10.0发现项目报错如下图 这是因为iOS12.0中采用libc++代替lstdc++的动态库,我们可以在target-build Phases-Link Binary With Libraries中将libstdc++.6.0.9.tbd移除掉就可以了 注:有的项目可能在link Binary With Libraries中没有引入6.0.9还会出现报错情...原创 2018-09-18 17:30:46 · 4223 阅读 · 0 评论 -
关于siri的新特性-Shortcuts(oc版)
因为官方Demo是swift版,学习之前整理出了个oc版(看来有时间要把swift捡起来了...)苹果官方Demo: https://developer.apple.com/documentation/sirikit/soup_chef_accelerating_app_interactions_with_shortcuts?language=objc首先在info.plist中添加相关的...原创 2018-09-28 17:37:04 · 2135 阅读 · 0 评论 -
reveal20 真机/模拟器调试
1.com+8到断点调试界面,添加Symbolic Breakpoint2.创建后再对应位置输入对应内容3.创建好后,右键此断点,进行下一步操作,选择User4.在项目打target中进入Build Phases,点击+,天津New Run Script Phase,将对应位置信息改为如图信息***可以直接将下面内容拷贝到上图中***REVEAL_APP_PA...原创 2019-01-22 17:36:53 · 501 阅读 · 0 评论 -
iOS侧滑返回
@interface ViewController ()@end@implementation ViewController(void)viewDidLoad { [super viewDidLoad];id target = self.navigationController.interactivePopGestureRecognizer.delegate;// handleNavigati原创 2017-05-17 17:36:12 · 1027 阅读 · 0 评论 -
好友推荐---环信发送名片(自定义视图)消息
在集成环信即时通讯的基础上,要做好友推荐的功能,查了下SDK发现里面提供了自定义消息的接口,接下来我们就可以根据自己的需要去自定义消息视图了- (UITableViewCell *)messageViewController:(UITableView *)tableView cellForMessageModel:(id<IMessageModel>)messageModel{环信的注释是: 获取原创 2017-04-02 11:05:54 · 3614 阅读 · 9 评论 -
适配iOS11 - UITableview UICollectionView MJRefresh下拉刷新错乱
升级Xcode 9 + iOS 11后,发现原本没问题的collectionView和tableView像是中了风一样,头部刷新UI出现了错乱。查阅发现 iOS11弃用了automaticallyAdjustsScrollViewInsets属性,新增contentInsetAdjustmentBehavior来替代它关于 contentInsetAdjustmentBehavio转载 2017-09-21 10:35:12 · 3437 阅读 · 0 评论 -
tableview删除分组内的cell
报错:Assertion failure in -[UITableView _endCellAnimationsWithContext:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3600.6.21/UITableView.m:1610或者The number of sections co原创 2017-03-30 17:18:34 · 1145 阅读 · 0 评论 -
环信更多功能添加标签
环信EaseUI自带的功能方法中没有提供显示标签,只有像相册那种,不带文字标签的视图,有需要的可以试试使用方法: [self.chatBarMoreView updateItemWithImage:[UIImage imageNamed:@"shouyeliaotianpaishe"] highlightedImage:[UIImage imageNamed:@"shouyeliaotianp原创 2017-04-02 18:24:41 · 501 阅读 · 0 评论 -
Your app, extension, and/or linked framework appears to contain code designed explicitly with the ca
最近苹果禁止了热更新行为,如果项目中没有加JSPatch那么可能原因就是高德地图了,遇到此问题的可以更新下SDKhttp://lbs.amap.com/dev/room?id=47&sa=a825e49fddf2cf9bc14ed957b192774b 高德地图的问题如果还有想继续用热更新功能的,可以看下这里http://www.mamicode.com/i原创 2017-03-24 11:49:07 · 1032 阅读 · 0 评论 -
解决导入ReactiveCocoa框架报错问题
今天更新了下xcode到8.3.1,发现报错 “Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift. Use the [Edit > Convert > To Current Swift Syntax…] menu原创 2017-04-13 13:31:47 · 4420 阅读 · 1 评论