iOS
liu_bin_home
ios新手
展开
-
IOS9 适配
IOS9以后需要在“Info.plist”中将要使用的URL Schemes列为白名单,才可正常检查其他应用是否安装。下面是常用白名单的配置:LSApplicationQueriesSchemes wechat weixin sinaweibohd sinaweibo原创 2016-05-04 09:39:42 · 366 阅读 · 0 评论 -
IOS中的一些细节
1.跳转到应用商店下载的两种方式:NSString *str=@"https://itunes.apple.com/cn/app/appName/idappID"; [[UIApplicationsharedApplication] openURL:[NSURLURLWithString:str]];appname可以填可不填 appid是自己Itune原创 2016-09-28 17:40:38 · 290 阅读 · 0 评论 -
iOS GCD dispatch多线程 同步异步
dispatch_sync 同步请求//异步请求dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // 耗时的操作 dispatch_async(dispatch_get_main_queue(), ^{ // 更新界面原创 2016-06-08 15:31:22 · 493 阅读 · 0 评论 -
IOS UIWebView转WKWebView中的js交互问题
1.UIWebView占用的内存比WKWebView多不少,IOS8以后使用WKWebview。2.在UIWebView中html中的alert、confirm、prompt会弹出窗口,但是在WKWebView中不会弹出了,转换成了ios中WKUIDelegate回调,WKUIDelegate主要处理与JS交互的,WKNavigationDelegate主要处理WKWebView的一些网页加载原创 2016-10-20 14:11:34 · 1360 阅读 · 0 评论 -
IOS 集成百度地图 自定义显示标签 点击事件不响应
1.集成百度地图时需要在地图上显示多个地点的自定义标签,popView满足不了需求,一次只能出现选中的一个,我们需要自定义标签。2.自定义View继承自BMKPinAnnotationView,可以显示多个自定义的view,但发现view中的按钮以及手势事件都没效果不响应。应该是百度地图的BMKPinAnnotationView重写了hitTest方法导致不响应,自己可以测试,在这个view中原创 2016-12-07 09:30:20 · 2926 阅读 · 0 评论 -
集成两方sdk出现库文件冲突解决
1.首先把其中一个冲突的库文件拷贝到一个新的文件夹里,用命令cd切换到当前文件夹,用 lipo -info libx.a(这个.a文件就是冲突的库文件名)查看是否支持多平台,例如armv7,arm64等,如果支持多平台,需要我们逐一进行解包重打包操作,如果不支持多平台,只需执行一次以免的操作[1-6]即可。支持多平台armv7执行[1-6]后,把下面的armv7换成arm64在执行一遍。原创 2016-05-04 08:54:18 · 2202 阅读 · 0 评论 -
IOS 微信获取accesstoken 40029
微信授权根据code获取accesstoken时报40029 不合法的code 在浏览器中是可以获取到token的 因为在客户端@"https://api.weixin.qq.com/sns/oauth2/access_token?appid=%@&secret=%@&code=%@&grant_type=authorization_code"请求时重定向了,第二次的时候code参数差了导致原创 2017-02-09 17:37:55 · 2005 阅读 · 0 评论 -
IOS JS与客户端交互
1.大部分注册JSContext以及对象的时候都是在webview的webViewDidFinishLoad中注册的,但有些JS界面界面没有加载完就开始调用客户端方法了导致调不起来。最近项目碰到这种情况,改在shouldStartLoadWithRequest中注册,还有的调用让JS端延迟了一点调用。2.有的JS通过对象的方式注册的接口,我们客户端也需要对象的方式调用,注册对象原创 2016-08-12 15:03:45 · 864 阅读 · 0 评论 -
不拉伸button中的图片 button响应区域变大
1.是设置按钮的frame大,设置按钮中的图片区域小(不是背景图),这有两种实现方法 第一种:button.imageEdgeInsets=UIEdgeInsetsMake(15, 15,15, 15);设置按钮中的imageview区域距离按钮吃内间距个方向都是15,使图片区域变小。这也可以用来保证按钮中间的图片不会被拉伸,计算内间距是按钮中的图片区域正好是图片的此处。第原创 2017-02-22 20:51:29 · 2278 阅读 · 0 评论 -
微信 40029 微博 集成sdk的遇到的问题
最近在工作总结,很多以前遇到的坑没有记录,发现这次又遇到了同样的坑,有必要做下记录1.微信idk授权code换token的时候按官网的请求地址去换取返回40029,请求重定向了导致code被使用过了,code只能用一次,请求地址最后加上&connect_redirect=1。下面两种情况一般都是人员流动比较大,项目配置和开发人员分离出现的2.微博分享的时候sso package or原创 2017-02-23 16:20:55 · 484 阅读 · 0 评论 -
IOS 连接(浏览器)唤醒应用 openURL 回调不走
1.首先要在info.plist文件中配置要唤醒的字段如testApp。在URL Schemes中添加一个要唤醒的字段如testApp。当浏览器中输入以testApp://开通的连接后,就能唤醒我们的应用。2.处理连接唤醒应用的连接。 在协议方法里- (BOOL)application:(UIApplication *)application openURL:(NS原创 2016-05-09 15:01:12 · 4221 阅读 · 0 评论 -
iOS 微信支付 调不起来微信客户端
1.检查url schemes里是否配置了申请的aped。2.如果使用了shareSDK分享的,会被覆盖掉,把Library_search_paths中的shareSDK下的extend下微信路径删除,shareSDK里的微信库文件不带支付功能会掉不起来。原创 2016-06-08 15:07:41 · 5050 阅读 · 2 评论 -
iOS 10 notification extension总结
1.在serviceExtension中做附件资源的下载,注意下载资源的保存文件类型需要处理下temporaryFileLocation 默认是.tmp的 ,我们需要和服务的约定好字段代表推送的类型,用来保存文件的。2.推送的时候需要带"mutable-content": "1"字段,标识推送是内容可变的,我们在推送弹出来之前有30秒处理,可以用来下载附件,高清图、小视频、音乐。3.con原创 2017-06-20 16:34:15 · 1339 阅读 · 0 评论 -
iOS ARC与非ARC的混合使用
1.如果当前项目使用的是ARC模式,需要在个别文件使用非ARC模式,在Build Phases下的Compile Sources下,找到对应的资源文件.m文件或则.mm文件(.mm文件是可以在文件里使用C语言),双击打开,在输入框里添加-fno-objc-arc指令。2.如果当前项目是非ARC模式,需要在个别文件里使用ARC模式,在Build Phases下的Compile Sources原创 2016-06-13 10:01:42 · 348 阅读 · 0 评论 -
IOS 监测网络状态
1.注册网络状态改变触发的监控方法。[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(netStateChanged:)name:kReachabilityChangedNotificationobject:nil]; //先触发网络状态改变的方法 _原创 2016-08-09 14:41:16 · 318 阅读 · 0 评论 -
IOS推送以及个推中的需要注意的
1.苹果自带的推送,测试的时候我们客户端的证书是开发者证书 IOS Development证书,需要给服务端的证书是推送功能的证书,切记不是我们客户端的证书导出的P12文件,是Apple push notification service SSL证书导出的给客户端。2.关于证书的创建,推荐友盟官网的文档,很详细,按着这文档来几乎证书方面不会出问题,地址:http://dev.umeng.com原创 2016-08-05 14:03:44 · 3964 阅读 · 0 评论 -
iOS 声音和音效
声音1.声音需要导入AVFoundation框架。#import 2.需要从Bundle(即app包下的资源)或则本地以及网络资源加载文件,prepareToPlay准备播放//设置背景音乐 NSString *path=[[NSBundlemainBundle] pathForResource:@"背景音乐"ofType:@"caf"];转载 2016-04-27 20:35:02 · 857 阅读 · 0 评论 -
调试加载第三方sdk nib资源失败的坑
集成sdk的时候有的会报加载nib失败找不到的情况,有的你看bundle包里命名有nib文件,但注意:有的sdk里只支持iphone只做了XXX~iphone.nib资源没有适配pad,用pad调试的时候就会报错。pad调试ipone的sdk时需要注意,ipone调试pad的sdk时需要注意。苦逼的公司没有设备,pad调到底的苦坑啊。原创 2016-04-28 20:39:07 · 683 阅读 · 0 评论 -
IOS 手势学习网址
http://www.cnblogs.com/kenshincui/p/3950646.html转载 2016-04-28 21:50:45 · 287 阅读 · 0 评论 -
被释放遇到的Crash message sent to deallocated instance
1.今天在调试UIWebview发现在释放的时候[webview release];webview=nil;webview.delegate=nil;在IOS9.3没有crash崩溃,在低版本崩溃了。webview已经被释放了,在设置他的属性delegate就崩溃了,需要先释放他的属性在释放它。不知道是不是低版本释放比较快,而高版本会慢一点导致低版本崩溃了高版本没事。修改后:w原创 2016-05-24 10:16:53 · 595 阅读 · 0 评论 -
IOS 添加自定义字体font
1.ios应用中可以使用自定义字体,我们可以下载ttc或则otf格式的字体。(可以在mac上的应用字体侧上找字体 show in finder 找到添加到应用中去)。2.在info.plist文件中添加下列代码:UIAppFontsPingFang.ttcSanFranciscoText-Regular.otf或则如下图:3.原创 2016-05-11 09:01:12 · 548 阅读 · 0 评论 -
根据域名查找IP地址
1.在http://www.ip138.com/ 在这个网站的确能查到~~ 2.命令行查询 运行/ ping +域名 比如 ping www.sina.com 它就会出现 202.205.3.142 可能时间很短,但这时 你可以按 pause/break键(键盘右上角) 然后 慢慢看吧~~原创 2016-05-05 10:12:51 · 1457 阅读 · 0 评论 -
IOS 本地推送UILocalNotification时间长不弹通知的
1.老的项目有的用的还是废弃的API notification.fireDate = [[NSDate date] addTimeInterval:seconds];如果时间短,比如一分钟内这个本地推送是正常的可以弹通知栏的。但时间长了例如超过5分钟,本地通知就不会弹通知栏了。维护老项目的时候注意。改成 : notification.fireDate = [NSDate原创 2016-05-17 19:30:24 · 759 阅读 · 0 评论 -
iOS AFNetWorking 3.0
1.而从iOS7.0开始,苹果推出了新的网络库继承者NSURLSession后,AFNetworking也毫不犹豫地加入了对其的支持。3.0+更加提供了NSURLSession的支持。2.我们知道iOS9+,NSURLSession开始正式支持HTTP /2,比HTTP/1.1速度有很大提升,速度更快。3.尽量共享Session,而不是每次新建Session,因为每次都新建Session的转载 2016-06-12 16:55:16 · 298 阅读 · 0 评论 -
iOS tableView和pickerView
1.pickerView的item有两种显示,一种是返回字符串使用默认的,一种是返回一个自定义的View。2.tableView的header和footer显示也有两种,一种是返回字符串使用默认的样式,一种是返回一个自定义的view,注意返回自定义的view需要在返回对应的headr或则footer的高度,不然会出现布局错乱问题。3.tableviewCell自定义视图view有过高度不是原创 2016-06-16 17:22:46 · 674 阅读 · 0 评论 -
iOS arm64 armv7指令集
目前ios的指令集有以下几种:armv6iPhoneiPhone2iPhone3G第一代和第二代iPod Toucharmv7iPhone4iPhone4Sarmv7siPhone5iPhone5Carm64iPhone5S 机器对指令集的支持是向下兼容的,因此armv7的指令集是可转载 2016-07-15 15:06:06 · 647 阅读 · 0 评论 -
ios 优化概念
1. 1)关于图片优化,本地图片尽量使用PNG格式,网络上的图片使用JPEG格式,因为JPEG格式大小比PNG小不少。 2)本地图片经常使用的用ImageNamed方法添加到内存中去,应用结束时才会被释放,经常使用的图片比如导航图、logo使用此方法。图片资源大的使用initWithContentOfFile 来实例化,用完释放。2.内存优化:autoreleas原创 2016-06-21 21:45:35 · 312 阅读 · 0 评论 -
iOS 添加事件到系统日历中
-(void)saveEventToCalendarTomorrow:(id)event{ //事件市场 EKEventStore *eventStore = [[EKEventStorealloc] init]; //6.0及以上通过下面方式写入事件 if ([eventStore respondsToSelec原创 2016-07-09 11:09:09 · 1926 阅读 · 0 评论