lib(a)导致的duplicate-symbol的问题
lib(a)导致的duplicate-symbol的问题链接: iOS lib(.a)库冲突解决办法 iOS 两个静态库存在同名文件冲突解决方案 说明 首先你要确定是这个类型的错误 然后开始,可以按照第一个链接进行修改,也可以看下面 在引入第三方lib(.a)库时,经常会由于第三方lib库中又引入同你现有工程相同的开源代码而造成.o冲突 依次查看lib库所支持的框架类型。i386:模拟器;armv7:iphone4;armv7s:iphone5,iphone5s;arm64:iphone6,iphone6p。 首先,将冲突的那个.a文件单独拷贝到一个文件夹,然后用命令行进入到那个文件夹 查看lib库支持的框架类型,注意下面的lib.a或者libRyFitLibrary.a是我出错的.a文件 12admin-imac:testlib admin$ lipo -info lib.a 2 Architectures in the fat file: lib.a are: armv7armv7s arm64 3 admin-imac:testlib admin$ fa...
MagicalRecord的使用
创建数据库1. 首先分析清楚自己需要什么 我的目的是要缓存信件列表界面,新建列表界面的model就是letter,所以我需要一个Letter的实体(entity),那这个Letter有哪些属性呢?写信的人(sender)、信的内容(content)、信的时间(dateString)、信的已读未读状态(isRead)、发信还是收信(incoming);所以我Letter的entity创建之后是这样: 这样就好了吗,并没有,如果是普通的展示界面,只有letter的实体,这样就足够了;但是对于我的这个项目来说,是展示信件的,是比较私人的,我缓存的信件列表应该只有我能看到,如果别人在我的手机上登陆了呢?因为我没有做区分,所以,当他登入的时候,他能看到我的数据,因为数据是缓存在手机上的! 所以,我需要一个User的Entity,这个User的Entity的目的是:跟Letter绑定,保证每个人都看到自己应该看到的;user有两个attribute:accout和writeName,(正常情况下应该是uid,但是我的这个是比较简单,所以没有uid); 紧接着问题是,Let...
轮播图实现的三种方式
轮播图实现的三种方式假设有5张图片,分别是:12345,实现轮播图 方法1:用scrollView加NSTimer实现,思路:12345五张图片,实现轮播,我添加两张,变成5123451,当滑到最后一个1时,无动画位移回第一个1;当倒着滑到5时,无动画回最后的5。 难点在于:给定数组的个数,及两个边界的判断 方法2:用collectionView加NSTimer实现,思路:12345五张图片,对应collectionView的1个section,即一个section有5个row;至于有多少个section,尽量设置的大一些,eg:100;(collectionView有重用机制)所以不用担心内存问题。 难点在于:滑动的逻辑处理;如果你把section设置的非常大,就不用担心倒着滑的问题,毕竟不是每个人都那么闲。 1234567891011121314151617181920- (void)nextPage:(id)sender { // 1. 得到当前正在显示的cell的indexPath,(只有一个) NSIndexPath *currentI...
实现Button文字(titleLabel)和图片(imageView)上下排列
实现Button文字(titleLabel)和图片(imageView)上下排列 1、我最开始实现这个采用的方法:重新自定义一个view,然后有两个属性label和imageView,然后设置位置布局,再添加单击手势,用代理回传点击方法。 2、第二种方法:自定义一个Button继承Button,有两个属性label和imageView,然后设置布局。这样就不用添加单击手势。 3、第三种方法:直接用Button自带的titleLabel和imageView,写个Category,用来设置label和image的排列方式,eg:上下、左右 明显前两种是很不好的,所以这里只说第三种: Button有两个属性:titleEdgeInsets和imageEdgeInsets,通过设置这两个,就可以实现所有需要的Button的样式,如:image在上、image在下、image在左、image在右。 在设置这两个之前,我们先要理解Button上面的titleLabel和imageView的位置关系(想象Button默认的image和label的显示): titleEdg...
iOS开发——扫码界面实现
类似下面这样一个收款界面的实现 界面分析 黑色半透明背景 navgationBar下面绿色的那个headerView 扫码框,及绿色动态扫码线的实现 扫码框下面的提示文字 黑色背景的实现,可能跟想象的不同,见下图(图中的1/2/3只是标识不同部分,不是顺序),先是需要放一个backView,然后是放中间的扫码框3,再然后上下左右四个1,最后放headerView和提示文字2; 实现
iOS开发知识点3——键盘
iOS开发知识点3——键盘 点击屏幕回收键盘是很简单的,但是在scrollView上点击回收键盘,直接调用那个方法就不能实现了 123456789101112131415161718192021222324252627282930313233// 我的实现是这样的// 首先实现一个继承自UIScrollView的Category,.m文件的实现#import "UIScrollView+UITouch.h"@implementation UIScrollView (UITouch)- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [[self nextResponder] touchesBegan:touches withEvent:event]; [super touchesBegan:touches withEvent:event];}- (void)touchesMoved:(NSSet *)touches withEvent:(UI...
iOS开发知识点2——登陆界面
iOS开发知识点2——登陆界面 按钮的实时响应:登陆的时候,需要当用户有输入时按钮才能响应(可点击),如果有一个输入框为空,则按钮不可响应。以前我以为用的是textfield的代理方法直接判断,后来发现那样不好。有另一种方法 12345678910111213141516171819// 首先给textfield添加addTarget方法,注意最后的controlEvents是EditingChanged[self.accountTextField addTarget:self action:@selector(handleTextDidChange:) forControlEvents:UIControlEventEditingChanged];[self.passwordTextField addTarget:self action:@selector(handleTextDidChange:) forControlEvents:UIControlEventEditingChanged];// 然后实现这个方法- (void)handleTextDidChange:(i...
iOS开发知识点
iOS开发知识点今天整理项目,为项目添加注释,发现有些东西需要保存一下,将来好使用。 设置navBar的背景,去掉黑线,试了好长时间,查了好多,这个对我适用 设置navBar上item的颜色,以及nav Title的颜色和字体大小 替换系统返回按钮的图片,设计说自带的太丑,一开始是自定义返回的View,后来发现不用那么麻烦,直接有方法可以替换 123456789101112131415// 设置navBar背景,这样设置可去掉那个黑线[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"bg_bar"] forBarMetrics:UIBarMetricsDefault];[[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]];[[UINavigationBar appearance] setTranslucent:NO]; // 设置navBar的按钮的tintColor,...
无标题
网络货运平台SDK初始化失败修改背景之前集成了网络货运平台SDK,已经成功初始化,调试过。后来由于变动,这个功能搁置了,最近重新启用这个功能,发现初始化失败。报错如下: code = 100018, fail = “公钥为空”, message = “服务开启失败”。 如下图: 排查排查一由于报错公钥为空,所以首先排查初始化时传入的appId、appSecurity、enterpriseSenderCode,确认这些值没有错误,且正常可用(安卓端可以初始化成功),然后排查初始化方法,确认方法调用没有错误。 然后陷入了疑惑,为什么SDK 集成成功,所有需要的值没有错误的情况下,SDK初始化失败,且提示公钥为空呢? 排查二无奈,再次下载 QQ,联系网络货运平台 SDK 的技术支持,答复说:100018是加密 pod可能有问题(这里建议联系的时候要有耐心,且要有悟性),距离我上次集成已经过去一年了,已经忘记了当时集成的时候都有哪些 Pod 库,技术支持指明了方向,余下的只能自己查了。再次查看集成文档发现,SDK 依赖了GMObjC和GMOpenSSL两个库。且提供的文档里指定的版...