iOS开发
文章平均质量分 91
绍棠
生活的理想就是为了理想的生活
展开
-
[绍棠] WKWebView加载带#的url,无法访问
今天在做项目中,遇到用WKWebView加载url,无法访问。最后发现是url里面的#被编码成%23导致无法访问https://127.0.0.1/#/?name=绍棠编码之后:https://127.0.0.1/%23/?name=%E7%BB%8D%E6%A3%A0当#号被编译成%23之后无法访问解决办法:禁止 **# ** 号编译成 **%23 **OC- (NSString *)WM_FUNC_urlEncode:(NSString *)urlStr{...原创 2020-08-28 10:56:34 · 1144 阅读 · 0 评论 -
[绍棠] 项目中添加的第三方框架只能在真机运行,在模拟器上会报错
一些第三方库只支持真机, 不支持模拟器运行模拟器会报错Undefined symbols for architecture x86_64: ....................ld: symbol(s) not found for architecture x86_64解决办法只需要在相关的代码加上判断即可#if !TARGET_IPHONE_SIMULATOR 第三方代码#endif...原创 2020-07-03 09:51:23 · 403 阅读 · 0 评论 -
[绍棠] Xcode 11.4 模拟器编译报错 Building for iOS Simulator was built for iOS
xcode升级完成,选择模拟器编译,出现了报错。对此,苹果员工 edford 给出的答案是:Having x86_64 code is not sufficient to distinguish if a binary is intended for the iOS Simulator, a macOS app, or a Mac Catalyst app. Combing built binaries across different destinations (which includes .原创 2020-06-18 16:57:22 · 1624 阅读 · 0 评论 -
[绍棠]ios数据存储--事务简单使用
FMDB事务:在一个事务里面的操作,要么都成功,要么都不成功(不成功,数据库回滚)- (void)事务的用法{ FMDatabase *database = [FMDatabase databaseWithPath:[self databasePath]]; if (![database open]) { ...原创 2020-04-14 16:42:08 · 167 阅读 · 0 评论 -
[绍棠] device model name 设备名称最新
导入头文件#import <sys/utsname.h>+ (NSString *)deviceModelName { struct utsname systemInfo; uname(&systemInfo); NSString *deviceModel = [NSString stringWithCString:systemInfo.ma...原创 2020-04-02 16:21:42 · 1197 阅读 · 0 评论 -
[绍棠] 去除AFNetWorking中UIWebView分类
从2020年4月开始,苹果将停止接受使用UIWebView API的应用,打包的时候会给一个这样的提示:ITMS-90809: Deprecated API Usage** - Apple will stop accepting submissions of new apps that use UIWebView APIs starting from April 2020\. See [https...原创 2020-04-01 13:04:57 · 4192 阅读 · 0 评论 -
[绍棠] 捕捉侧滑返回事件
// 官方文档/* These two methods are public for container subclasses to call when transitioning between child controllers. If they are overridden, the overrides should ensure to call the super. The p...原创 2020-03-17 11:53:46 · 145 阅读 · 0 评论 -
[绍棠] UICollectionView添加headerView
#import "CollectionViewController.h"#import "HeaderReusableView.h"#import "ListCell.h"@interface HeaderReusableView : UICollectionReusableView@end@implementation HeaderReusableView- (id)i...原创 2019-12-19 13:57:50 · 5966 阅读 · 0 评论 -
[绍棠] iOS 在一个UILabel显示不同的字体和颜色
在一个UILabel 使用不同的颜色或不同的字体来体现字符串,在iOS 6 以后我们可以很轻松的实现这一点,官方的API 为我们提供了UILabel类的attributedText, 使用不同颜色和不同字体的字符串,我们可以使用NSAttributedText 和 NSMutableAttributedText 类来实现。原创 2016-03-02 20:57:47 · 553 阅读 · 0 评论 -
[绍棠] UIGestureRecognizer学习笔记
UIGestureRecognizer 是一个具体手势的基类,提供了较为简单的手势实现方式 UIGestureRecognizer 的子类分别有很多手势,通过 不用的手势可以执行不同的操作,下面来介绍下他们的基本使用方法所有手势配置基本相同,只是针对不同的手势里面有部分属性可以设置,比如说tap点进去看他有两个参数可以设置一个是点击次数,和点击手指数可设置。如果不知道这个原创 2016-02-26 08:57:33 · 637 阅读 · 0 评论 -
[绍棠] NSString 字符串处理:截取字符串、匹配字符串、分隔字符串
字符串处理:截取字符串、匹配字符串、分隔字符串原创 2016-03-04 09:02:37 · 754 阅读 · 0 评论 -
[绍棠]深究Block的实现
在局部函数里,定义block时,打印出来还是NSConcreteGlobalBlock类型的,而且只要用了外部变量,不管是assign还是week还是strong类型的,打印出来都是NSConcreteMallocBlock类型的。所以我猜测这会不会是苹果新版的改进,为了block在访问无效的变量,直接把block拷贝到堆上,从而也拷贝一份变量。或许是我忽略了中间的某个步骤其实到了这里,不用再描述,也知道为什么会发送死循环,又怎么解决了。当在block中用self的时候,block拷贝到堆上,首先,在栈上原创 2016-03-07 12:48:54 · 418 阅读 · 0 评论 -
[绍棠] 定制iOS 中的导航栏和状态栏
最近时常遇到导航栏中的状态栏的问题, 所以整理了下, 分享给大家,iOS中为开发人员提供新的自由定制的导航栏和状态栏的外观。如果您是从的iOS 6移植应用程序到iOS 7或创建一个全新的应用程序为iOS 7,我希望你会发现这些有用的技巧。原创 2016-03-09 13:09:23 · 435 阅读 · 0 评论 -
[绍棠] Xcode把应用程序打包成ipa
通常第三方需要安装你的app进行测试(这时候你的app肯定是还没传到app store之前)。 这种情况下,如果是企业账号就好办了, 随便安装.. 但是个人开发者账号呢?如果他的机子不是开发测试的 直接装包的, 那么可以通过导出一个ipa供他安装。当然,你必须知道别人设备的udid。原创 2016-03-09 20:52:51 · 500 阅读 · 0 评论 -
[绍棠] xcode APP 打包以及提交apple审核详细流程(新版本更新提交审核)
项目到了最后的阶段,测试完一切ok后,准备打包以及提交. 有关操作流程供大家学习原创 2016-03-09 21:01:52 · 1287 阅读 · 0 评论 -
[绍棠] iOS开发- 文件共享(利用iTunes导入文件, 并且显示已有文件) 以及 iOS App与iTunes文件传输的方法和对iOS App文件结构的说明
就像很多iOS上面的播放器App一样,本文编写一个程序可以通过iTunes往里面放文件,比如编写一个视频播放器程序,通过itune往里面放视频文件,然后通过这个App来播放这个视频。原创 2016-05-13 13:21:11 · 2360 阅读 · 0 评论 -
[绍棠] iOS远程推送原理及实现过程
苹果的推送服务通知是由自己专门的推送服务器APNs (Apple Push Notification service)来完成的,其过程是 APNs 接收到我们自己的应用服务器发出的被推送的消息,将这条消息推送到指定的 iOS 的设备上,然后再由 iOS设备通知到我们的应用程序,我们将会以通知或者声音的形式收到推送回来的消息。 iOS 远程推送的前提是,装有我们应用程序的 iOS 设备,需要向 APNs 服务器注册,注册成功后,APNs 服务器将会给我们返回一个 devicetoken,我们获取到这个 tok原创 2016-05-12 09:05:15 · 3953 阅读 · 0 评论 -
[绍棠] iOS获取各种文件目录路径的方法和NSFileManager类的有关用法
IOS中获取各种文件的目录路径的方法iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么.documents,tmp,app,Library。(NSHomeDirectory()),手动保存的文件在documents文件里Nsuserdefaults保存的文件在tmp文件夹里原创 2016-05-13 12:57:08 · 530 阅读 · 0 评论 -
[绍棠] iOS开发:获取设备IP地址
获取IP地址, 目的是为了在同一WIFI的网络情况下做文件上传, 有兴趣的朋友可以等待我接下来的更新原创 2016-05-16 13:33:00 · 662 阅读 · 0 评论 -
[绍棠] 利用CocoaHTTPServer实现WIFI局域网传输文件到iPhone, 实现文件上传
近日在做一个视频文件上传,其中涉及到WIFI局域网文件上传和iTunes文件导入,通过一周多的研究, 终于实现的该功能,我是用的框架是CocoaHTTPServer。具体原理是将手机作为服务器, 只要电脑和移动设备连入同一热点,即可使用电脑访问iOS服务器的页面,利用POST实现文件的上传,从而与网页端实现文件互传。iTunes文件上传:http://blog.csdn.net/happyshaotang2/article/details/51394538获取手机设备的IP地址:http://blog.原创 2016-05-17 07:39:11 · 6828 阅读 · 2 评论 -
[绍棠] ios常见问题解决
iOS问题中经常会遇到各种问题, 于是就将各种问题做了下汇总, 希望能帮到你们原创 2016-05-19 08:53:56 · 1736 阅读 · 0 评论 -
[绍棠] iOS开发零基础教程之上传AppStore流程
1、创建唯一标示符App ID2、申请发布证书3、申请发布描述文件4、iTunes Connect创建App并填写信息5、选择证书编译打包6、上传完成更新iTunes Connect信息,等待审核1、创建唯一标书符App ID首先打开开发者网站,进入证书页面,我们点击Identifiers下边App IDs选项,然后点击右原创 2016-05-19 22:44:56 · 378 阅读 · 0 评论 -
[绍棠]iOS开发-UITableViewCell(UICollectionViewItem)需要两个手指点击或者长按才可以选中,解决办法
今天写代码遇到一个特别诡异的问题,就是在我的cell中需要两个手指点击才可以选中先介绍下我的视图结构ViewController->UITableView->自定义Cell产生这样的原因是,我在ViewController.view上加了一个手势,导致了Cell不能点按的结果,把那个手势移除掉就好了同理CollectionView也不可以加原创 2016-06-29 12:55:16 · 368 阅读 · 0 评论 -
[绍棠] NSURL的scheme, path和query等各接口输出结果
例如:NSURL *url = [NSURL URLWithString:@"http://www.testurl.com:8080/subpath/subsubpath?uid=123&gid=456"]; 下面是常用的几个接口,和它们的输出。接口意思都符合相关RFC里的定义。OC代码 [url scheme]原创 2016-07-22 14:04:39 · 390 阅读 · 0 评论 -
[绍棠] APP跳转到手机QQ聊天界面如何跳转
UIWebView *webView = [[UIWebViewalloc] initWithFrame:CGRectZero]; NSURL *url = [NSURLURLWithString:@"mqq://im/chat?chat_type=wpa&uin=123456&version=1&src_type=web"];//uin=123456为你要跳转的QQ号码原创 2016-07-22 15:40:20 · 730 阅读 · 0 评论 -
[绍棠] ios9的设备为什么会收到了两条重复的推送
ios9以前的系统里面:一个设备的token是唯一的。除了升级系统等少量情况,基本不变。 而且在token变了以后,老的token,就被认为是无效了。 苹果不会对这部分无效的token推送。 ios9的系统:一个app每一次重新安装多会产生新的token。 而且老的token不会无效,还可以正常推送。 这个问题,在ios9刚发布的时候,已经就向苹果反馈过这个问题,也得到原创 2016-07-18 11:17:27 · 3021 阅读 · 0 评论 -
[绍棠] SDWebImage 手动清除缓存及SDWebImage缓存图片的机制
SDWebImage手动清理缓存和SDWebImage缓存机制原创 2016-07-07 11:35:32 · 578 阅读 · 0 评论 -
[绍棠] iOS开发常用的调试命令
常用的调试命令 popo是print-object的简写,可用来打印所有NSObject对象。sample code: (lldb) po self.view ; layer = ; contentOffset: {0, 0}> (lldb) po self pp是print的简写,可以用来打印所有的简单类型,如int, float,结原创 2016-07-18 14:53:08 · 336 阅读 · 0 评论 -
[绍棠] iOS开发经验总结
在iOS开发中经常需要使用的或不常用的知识点的总结,几年的收藏和积累原创 2016-07-08 17:50:19 · 616 阅读 · 0 评论 -
[绍棠] 学习网站
学习网站汇总整理:1、Webhttp://www.w3school.com.cn/博客:http://superbobogithub.github.io/简书专题:http://www.jianshu.com/collection/5d7f3285032e2、Mac软件http://www.macx.cn/portal.php3、新闻网址原创 2016-07-08 18:58:29 · 416 阅读 · 0 评论 -
媒体播放器 AVPlayer 与 AVPlayerViewController
简介AVPlayer是一个可以播放任何格式的全功能影音播放器,使用AVPlayer需导入AVFoundation.h。支持视频格式: WMV,AVI,MKV,RMVB,RM,XVID,MP4,3GP,MPG等。支持音频格式:MP3,WMA,RM,ACC,OGG,APE,FLAC,FLV等。在开发中,单纯使用AVPlayer类是无法显示视频的,要将转载 2016-07-20 17:01:55 · 2526 阅读 · 0 评论 -
[绍棠] 关于横屏后状态栏不显示的问题
在做一个页面强制横屏的操作后,发现状态栏不显示了,这是因为iOS系统(好像是iOS8之后)在视图横屏的时候默认把状态栏隐藏掉了,之后查了一些方法,总结如下:1.在info.plist文件中,添加View controller-based status bar appearance,属性为bool,设为NO;2.在需要显示的ViewController中设置[[UIApplicati原创 2016-08-03 17:51:28 · 2145 阅读 · 0 评论 -
[绍棠] 保持iOS设备屏幕常亮的方法
因为自己的应用程序运行的时候需要保持屏幕常亮,可以加入以下语句:(1)如果是在Xcode中做开发:[ [ UIApplication sharedApplication] setIdleTimerDisabled:YES ] ;设置为YES保持屏幕常亮.(2)iOS5中,可以调节亮度了,我没有试过,大家试试看[[UIScreen mainSc原创 2016-08-04 10:28:34 · 597 阅读 · 0 评论 -
[绍棠] 关于iOS9 出的3DTouch 功能Demo
前提:这个功能必须要iPhone6s iPhone6s plus 以上的机型才可以使用,在这里附上 有牛人搞了个模拟器也能支持3DTouch功能,具体查看https://github.com/DeskConnect/SBShortcutMenuSimulator效果图:首先有2种实现方式: 第一种是plist文件配置 第二种是代码动态创建这边文章说的是第二种转载 2016-08-05 10:48:32 · 358 阅读 · 0 评论 -
[绍棠] 详说CMDeviceMotion
对于使用了M7或者M8处理器的设备,Core Motion框架支持了一些预置的motion动作,比如脚步数、爬楼还有移动类型(行走、骑行等等)。Core Motion可以让开发者从各个内置传感器那里获取未经修改的传感数据,并观测或响应设备各种运动和角度变化。这些传感器包括陀螺仪、加速器和磁力仪(罗盘)。加速器和陀螺仪的数据都是描述沿着iOS设备三个方向轴上的位置,对于一个竖屏摆放的原创 2016-08-19 10:28:04 · 1007 阅读 · 0 评论 -
[绍棠] iOS 9 NetworkExtension使用
iOS 9 发布之后,推出NetworkExtension, 它可给系统WiFi列表列表里边的WiFi设置密码 、标签(副标题) 来直接点击连接。 还可获取整个WiFi列表。 首先,向苹果("networkextension@apple.com")发邮件申请使用权限(为什么申请之类的)。 之后苹果会回复一份邮件 类似调查问卷吧,全是单选 ,回答即可 通过之后会有邮件通知。转载 2016-08-19 11:25:42 · 3332 阅读 · 0 评论 -
[绍棠][数学] 欧拉角、四元数
方位、方向、角位移:方位:描述的是物体的朝向。要确定一个方位(orientation),却至少需要需要三个参数。方向:“方向”和“方位”并不完全一样。向量有“方向”但没有“方位”,因为让向量自转,但向量却不会有任何变化。只要用两个数字(例如:极坐标),就能用参数表示一个方向(direction)。角位移:我们描述物体位置时并不是绝对坐标,而是描述相对于给定参考点的位移。同样,描述物体方位时原创 2016-08-19 13:26:27 · 1296 阅读 · 0 评论 -
[绍棠] iOS10新特性
下面让我们盘点一下iOS10有哪些新特性。一、锁屏iOS10的UI设计在总体上没有明显的变化,但是锁屏界面还是做了重新设计,锁屏状态下可以显示更丰富的通知内容,向右滑动直接进入拍照界面,左滑则有丰富的插件集成。在锁屏状态下使用3D Touch,可以直接管理通知和各项操作,无需解锁进入系统。二、控制中心iOS0对控制中心作出了巨大改变,首先是改原创 2016-09-12 09:19:59 · 440 阅读 · 0 评论 -
[绍棠]bug malloc: *** mach_vm_map(size=1048576) failed(error code=3) *** err
malloc: *** mach_vm_map(size=1048576) failed(error code=3) *** err解决这个bug:判断数组的count属性是否大于0就可以啦,另一种bugerror: can't allocate region malloc: *** mmap(size=1431658496) f原创 2016-09-12 09:39:24 · 7156 阅读 · 3 评论 -
[绍棠] ios开发 获取本机的手机号码
步骤如下:1)导入CoreTelephony这个private framework (私有,appstore审核是不通过的)2)在xxx.m中加入红字部分:#import "xxx.h"extern NSString *CTSettingCopyMyPhoneNumber(); @implementation xxx+(NSSt原创 2016-08-22 17:39:36 · 12758 阅读 · 0 评论