![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
Lucky_JimSir
人生最终的价值在于觉醒和思考的能力,而不只在于生存。—— 亚里士多德
展开
-
gogoBody Support
Q&A:1. If you operate the 3D model quickly? Single machine selected structure Any rotation angle Double finger translation position Zoom size Double click the structure to quickly zoom in on the display structure and rotate around it.2. H原创 2021-10-15 15:39:44 · 207 阅读 · 0 评论 -
iOS AVPlayer使用总结
目录1、AVPlayer的创建2、AVPlayer的配置 -- `AVPlayerLayer`3、`AVPlayerItem` 加载视频资源4、播放控制5、监听播放状态1、AVPlayer的创建AVPlayer *player = [[AVPlayer alloc] init];2、AVPlayer的配置 – AVPlayerLayer//创建AVPlayerLayerAVPlayerLayer * playerLayer = [AVPlayerLayer playerLayerWithPlay原创 2021-05-13 17:23:27 · 2586 阅读 · 1 评论 -
AVPlayer 播放的时候有黑色边
iOS视频开发中,使用系统的AVPlayer的几率非常高。然 在部分Plus机型会出现黑边的情况,平时不容易发现,但你的视频若是白色色调,就比较明显。解决方法:修改AVPlayerLayer的属性//使playerLayer光栅化(即位图化),关闭了图层的blending。self.playerLayer.shouldRasterize = YES;//显式指定光栅化的范围,这样能保证视频的显示质量,不然容易出现视频质量显示不佳。self.playerLayer.rasterizationSc转载 2021-05-13 16:01:45 · 1164 阅读 · 0 评论 -
苹果开发者账号实名认证相关问题
大概是在19年左右,苹果的AppleID申请成为开发者的流程发生了改变,加入了更加严格的实名认证,怎么说呢,苹果粑粑要求你干什么,你照干就行了,不要抱怨,不要感觉痛苦,因为根本没有用,习惯了就好了!!!流程如下:1、准备苹果的 AppleID2、登录苹果的开发者网站,申请成为开发者,按照提示操作3、到注册的那一步会提示,要求在苹果设备(iPhone、iPad)上下载一个App,名字叫做 Apple Developer4、在 Apple Developer 上,找到账户页面,登录需要申请的Apple原创 2021-03-10 16:38:53 · 4001 阅读 · 0 评论 -
iOS 减少ipa包的大小
1、舍弃架构armv7valid archs : arm64 arm64e armv7s2、配置编译选项 :generate debug symbols release 设置为No3、编译器级别优化:optimization level release 设置为fastest, smallest[-Os]4、去除符号信息Strip Debug Symbols During Copy 和 Symbols Hidden by Default 在release版本应该设为y.原创 2020-10-27 11:47:22 · 301 阅读 · 0 评论 -
iOS 指定页面支持横竖屏切换
项目要在配置里只支持竖屏1.首先在appdelgate里添加一个属性@property(nonatomic, assign) BOOL allowRotation; 2.在.m文件中添加一下两个方法- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{ if (self.allowRotation == 1) {转载 2020-08-12 14:34:33 · 618 阅读 · 0 评论 -
iOS runtime的通俗理解
runtime 在程序开发中的定位:在计算机领域中,代码从编写到执行得出结果,中间会有编译、链接、运行等过程,这样我们的代码才可以转换成计算机所识别的指令等,然后达成我们期望的效果。而runtime 就是处于运行的这个阶段。基本上每个平台都有自己的runtime,比如Android等。引用网上看到的一个说法,不知道是否准确,可以做个参考“runtime 是一个通用的抽象的术语,指的是计算机程序运行的时候所需要的一切代码库,框架,平台等。”Apple 中对runtime的描述将尽可能多的决策从原创 2020-08-12 10:35:44 · 500 阅读 · 0 评论 -
iOS面试题(每日一更)2020.8.10
标题事件传递,响应者链条参考博客:https://blog.csdn.net/qq_42792413/article/details/97135509原创 2020-08-10 13:57:28 · 160 阅读 · 0 评论 -
iOS使用xcode 打包上传app遇到的问题
由于新的app里面集成了七牛的直播功能,涉及到 PLPlayerKit.framework报错截图:首先我尝试了升级mac 系统 和 xcode版本(实际上xcode只提示了需要安装一个插件),重新编译,结果还是一样的错误,于是到网上查资料,得到下面的解决方法:APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"# This script loops through the frameworks embedded in the application an原创 2020-07-15 10:11:46 · 469 阅读 · 0 评论 -
iOS面试题(每日一更)2020.6.4
一、iOS面试题:Autoreleasepool所使用的数据结构是什么?AutoreleasePoolPage结构体了解么?https://www.jianshu.com/p/0afda1f23782每创建一个池子,会在首部创建一个 哨兵 对象,作为标记最外层池子的顶端会有一个next指针。当链表容量满了,就会在链表的顶端,并指向下一张表。在没有手加Autorelease Pool的情况下,Autorelease对象是在当前的runloop迭代结束时释放的,而它能够释放的原因是系统在每个runloo原创 2020-06-04 22:42:11 · 463 阅读 · 0 评论 -
iOS面试题(每日一更)2020.6.2
一、讲一下atomic的实现机制;为什么不能保证绝对的线程安全(最好可以结合场景来说)?atomic是在setter和getter方法里会使用自旋锁spinlock_t来保证setter方法和getter方法的线程的安全。可以看做是getter方法获取到返回值之前不会执行setter方法里的赋值代码。如果不加atomic,可能在getter方法读取的过程中,再别的线成立发生setter操作,从而出现异常值。加上atomic后,setter和getter方法是线程安全的,原子性的,但是出了getter方法原创 2020-06-02 22:27:12 · 488 阅读 · 0 评论 -
iOS面试题(每日一更)2020.5.28
一、DNS是什么?名称:DNS(Domain Name System),域名解析系统。由来:网络上的资源,包括网页、图片、文字、视频等等,这些内容并不是虚拟的存在网络空间中,网络是由无数的主机也就是真实的一台台的电脑相互连接组成的。当我们需要访问这些资源的时候,就需要访问资源所在的主机,而区分每一台主机就要有唯一的标识,现在已有的标识分为两种,一种是主机名,也就是通常所说的域名(比如:www.baidu.com等)是一串字符串;另一种是IP地址,也就是我们见到的 xxx.xxx.xxx.xxx 由数原创 2020-05-28 23:33:05 · 216 阅读 · 0 评论 -
iOS面试题(每日一更)2020.5.27
一、DNS解析过程1、浏览器输入域名,到本地DNS服务器(中国电信、中国移动等)请求解析,若有域名与IP的对应关系则直接返回;2、若无,则本地DNS服务器继续向根DNS服务器请求解析,根DNS服务器不会记录域名与IP的对应关系,但是会返回域DNS服务器地址;3、本地DNS服务器继续向域DNS服务器请求解析,域DNS服务器若存在则直接返回域名与IP的对应关系,若不存在则返回该域名不存在;4、本地DNS服务器会在缓存中保存该域名和IP的对应关系,以便下次访问速度快一些...原创 2020-05-27 22:57:31 · 163 阅读 · 0 评论 -
iOS -UITabBarViewController/UINavigationController
持续更新中~~~使用UITabBarViewController 时的注意事项1、 当从二级界面跳转到根部tabbar界面的时候,需要注意代码顺序,否则会出现tabbar 隐藏的问题正确的做法:self.navigationController.tabBarController.selectedIndex = 0;[self.navigationController popToRoo...原创 2020-04-13 16:14:58 · 293 阅读 · 0 评论 -
Xcode 安装问题
我的mac pro 电脑,内存128G的,把所有文件都删除,只留下一些app应用,剩余空间也只剩下28G,不得不说作为一个开发人员,选择一个内存大一点的电脑有多重要。对于iOS开发来说,Xcode 是绕不开的开发工具,它是整个电脑里面占用空间最大的软件,如果不注意清理,电脑动不动只剩几十兆的空间是常有的事儿。每次更新手机系统,Xcode基本上也要同步更新,不然没办法真机测试,而Xcode的安装...原创 2020-04-08 16:21:10 · 1692 阅读 · 2 评论 -
iOS WKWebView监听video和键盘相关问题
当h5里面有video 标签的时候,监听video播放进入全屏,和退出全屏通知1、添加监听UIWindowDidResignKeyNotification、UIWindowDidBecomeHiddenNotification [[NSNotificationCenter defaultCenter] addObserver:self ...原创 2020-04-08 11:10:47 · 1437 阅读 · 0 评论 -
关于苹果内购问题游客登录的解决过程
文章目录背景iOS 内购开发流程九次被拒的痛苦经历第一次第二次第三次第四次第五次第六次第七次第八次第九次结局感想背景公司研发新产品,在苹果开发者平台上申请了开发者账号,在完成开发过程以及开发者平台上一系列的配置之后,卡在了最后一个环节----上架, 期间关于内购的问题,前前后后被拒绝了9次之多,历时1个月,其中的波折简直让人抓狂。为此记录并总结这个过程,防止将来遇到类似情况不知从何处入手,...原创 2020-04-06 01:00:57 · 7108 阅读 · 0 评论 -
iOS 自定制UITextField的clearButton
背景:当UITextField的rightView被占用的时候,clearButtonMode就失效了,这时就需要自定制一个clearBtn了,要想实现和系统clearBtn一样的效果还得多调试一下,下面是我写好的跟系统一样效果的代码://遵守协议<UITextFieldDelegate>//创建clearBtnUIView * phoneRight = [[UIView ...原创 2020-03-30 14:34:40 · 1526 阅读 · 0 评论 -
iOS - 修改状态栏和导航栏注意事项
当修改导航栏、状态栏的时候,一定要慎重,因为这个可能会影响所有页面的内容。基本的修改有以下两个步骤:1、在 viewWillAppear 中修改,记录下修改前的状态- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self.navigationController setNav...原创 2020-03-28 16:19:40 · 440 阅读 · 0 评论 -
苹果开发者证书相关问题
报错:has xxx apple distribution certificates but their private keys are not installed. contact the creator of one of these certificates to get a copy of the private keystatus Not in keychain看到这个报错很懵,...原创 2020-03-19 16:26:55 · 2777 阅读 · 4 评论 -
iOS 内购开发流程(简洁版)
内购开发流程一、在开发者账号里面设置协议、税务和银行信息二、在开发者账号里面创建内购的项目三、代码集成注意事项必须用真机测试;测试的时候必须退出自己的apple ID,弹出页面后登陆沙盒的测试apple id;在需要修改已经上线的内购的时候需要重新创建新的内购条目,然后重新提交;要区分apple pay 和 内购 的差别参考链接1、https://www.cnblogs.c...原创 2020-03-18 16:18:09 · 2212 阅读 · 0 评论 -
更新cocoapods,修复系统更新后pod不能使用的问题
Pod错误:zsh: /usr/local/bin/pod: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: no such file or directory出错原因:这是Mac升级系统后出现的,当你的Mac系统升级为macOS Catalina 的时候,别忘记更新c...原创 2020-03-14 18:26:11 · 582 阅读 · 0 评论 -
github clone报错error: RPC failed; result=56, HTTP code = 200
报错信息为:error: RPC failed; result=56, HTTP code = 200fatal: The remote end hung up unexpectedlyfatal: early EOFfatal: index-pack failedGoogle后知道:Error code 56 indicates a curl receive error of CUR...转载 2019-04-27 00:23:47 · 1261 阅读 · 0 评论 -
CocoaPods中的‘*.h’文件引用不到的解决办法
暴力解决思路(虽然粗暴,但是能解决很多的烦人的问题,就好比是电脑出现莫名其妙的问题,重启电脑或重装系统,):把原先通过cocoapods安装好的第三方库都删除,重新安装。在工程文件夹中,删除除了Podfile文件之外,跟pod有关的相关文件,第一步:删除如下文件Podfile.lockPods文件夹“.xcworkspace”第二步:重新安装第三方库终端输入: pod instal...原创 2019-04-27 00:09:10 · 1544 阅读 · 2 评论 -
iOS ---- Xcode Search Paths相关配置
开发的过程当中,导入第三方库(framework/.a)或者下载使用别人的demo会经常会遇到一些关于库的导入的问题。而导入第三方库后,这写库的路径应该现在在导入当前项目target的Search Paths中,具体的设置路径:target -> Build Settings -> Search Paths -> Framework Search Paths 或者 Library...原创 2019-04-26 14:48:53 · 802 阅读 · 0 评论 -
iOS 常见Bug汇总
1、解析友盟错误:Application received signal SIGABRT解决办法: 查看(转载自:https://www.jianshu.com/p/1f473e7bbd9f)原创 2019-04-12 19:15:21 · 775 阅读 · 0 评论 -
iOS 设备型号
设备表链接:https://www.theiphonewiki.com/wiki/Models#import <sys/utsname.h>/** 获取设备名称 */- (NSString *)iphoneName{ struct utsname systemInfo; uname(&systemInfo); // 获取系统设备信息 NSSt...原创 2019-04-12 19:11:36 · 139 阅读 · 0 评论 -
iOS 集成websocket
1、搜索websocket 的原理https://www.cnblogs.com/mike123/p/8596550.html2、找到适合iOS应用的优秀开源库,SocketRockethttps://github.com/facebook/SocketRocket#srwebsocket3、找到该库的使用教程https://www.jianshu.com/p/cb047e08f2bc...原创 2019-04-12 17:44:27 · 759 阅读 · 0 评论 -
git ---- github提交代码时如何省去输入用户名密码?
缘由:每次向github提交代码时都要输入用户名密码,太麻烦了,影响效率解决方案:方案一:在你的用户目录下新建一个文本文件.git-credentialsWindows:C:/Users/usernameMac OS X: /Users/usernameLinux: /home/username注意:鼠标右键新建文件重复命名是成功不了的,需要借助Sublime等I...原创 2019-04-27 00:31:36 · 289 阅读 · 0 评论 -
细聊 Cocoapods 与 Xcode 工程配置
前言文章比较长,所以在文章的开头我打算简单介绍一下这篇文章将要讲述的内容,读者可以选择通篇细度,也可以直接找到自己感兴趣的部分。既然是谈 Cocoapods,那首先要搞明白它出现的背景。有经验的开发者都知道 Cocoapods 在实际使用中,经常遇到各种问题,存在一定的使用成本,因此衡量 Cocoapods 的成本和收益就显得很关键。Cocoapods 的本质是一套自动化工具。那么了解自动化...原创 2019-04-27 23:22:42 · 205 阅读 · 0 评论 -
Xcode workSpace 多个project联编
在了解xcode构建原则之前,需要熟悉workspace相关的概念,即workspace,project和target。targettarget指定了构建的product,包含将workspace或project中的一组文件构建成product的指令。单个target定义一个product,它将输入(源文件和处理这些源文件的指令(包含所设定的构建settings和phases))组织进构建...转载 2019-04-27 23:27:37 · 1132 阅读 · 0 评论 -
iOS 获取网络图片的尺寸
通过SDWebImage方法获取图片举例如下:UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight-KNavBarHeight-KTabBarHeight)];[self.view addSubview: scrollView];...原创 2019-04-23 19:56:26 · 753 阅读 · 0 评论 -
iOS SDWebImage缓存
[[SDImageCache sharedImageCache] getSize] 上面获取缓存的方法已经不存在了,改变为如下方法:[[SDImageCache sharedImageCache] calculateSizeWithCompletionBlock:^(NSUInteger fileCount, NSUInteger totalSize) { }];...原创 2019-04-25 17:11:36 · 920 阅读 · 0 评论 -
iOS 监听用户点击屏幕次数(防止用户开挂)
一. 问题背景我们app的其中一个功能是让用户抢单,而有的用户使用 外挂 抢单,导致其他用户抢不到单,对其他用户不公平,需要 找出 这些开挂的用户,并制止这种行为。二. 解决方案监听用户点击屏幕的次数,由于单独监听某个控件的话,一来控件很多容易遗漏,二来用户不确定点击那个位置,复杂度较高而且容易出错,因此决定统计点击整个屏幕的次数。如果某个用户连续点击 N 次,并且这 N 次当...原创 2019-05-09 19:24:42 · 1975 阅读 · 0 评论 -
Xcode 从硬件层面提升运行速度
参考网址:https://blog.csdn.net/olsq93038o99s/article/details/84453809问题来源这里是引用我们都知道 Xcode 在运行或编译时,会有大量的读写操作。例如从硬盘中调用图片,我们会这么操作:let image = UIImage(named: "imageName")这时候 Xcode 就会去电脑的硬盘中去找到图片,完成读写操作...原创 2019-05-17 14:56:28 · 540 阅读 · 0 评论 -
iOS 实用第三方库
DZNEmptyDataSet :空白数据集显示框架 https://www.jianshu.com/p/f70dc3e0f436原创 2019-07-18 11:46:03 · 170 阅读 · 0 评论 -
iOS ---- 使用Cordova 开发iOS项目
Cordova 官方文档: http://cordova.axuer.com/docs/zh-cn/latest/guide/platforms/ios/plugin.html1、cordova 入门(内容很丰富): https://blog.csdn.net/csdn100861/article/details/785853332、按照该教程操作:https://www.jianshu.co...原创 2019-04-12 17:42:56 · 448 阅读 · 0 评论