iOS文档、经验组
文章平均质量分 64
iOS开发的面试、代码构建等软技能经验
小飞work
ios、flutter、hmos、processing
展开
-
构建CICD
整个流程都是使用脚本实现,包括软管平台脚本和打包脚本/bin/bash#Note:#1、jenkins调用命令为./buildPCI.sh ${buildType} ${WORKSPACE}/${outputDir} ${userDefined}#2、${WORKSPACE}/${outputDir}为绝对路径;${userDefined}为可选自定义参数,例子:userDefined="a b c" 则${3}=a、${4}=b、${5}=c。原创 2024-04-11 10:32:22 · 714 阅读 · 0 评论 -
腾讯云在线直播一
这几天一直在研究在线直播的东西,由于公司服务器方面还不是很完善,项目也是刚开始起步,所以就先研究起了第三方的库。公司本来介绍了网易和金山以及腾讯三个方案。最后领导决定用腾讯的库,至于原因无非是听说某某用过,某某作出什么了。我们技术也就开始专注研究腾讯云了。其实做IOS三年多了,感觉虽然没有大神级别的底层代码那么透彻的领悟,但是研究第三方这种东西,无非就是文档,demo跟公司的需求结合起来就OK了,没原创 2016-05-14 11:30:13 · 3528 阅读 · 0 评论 -
qq空间、微信好友、邮件、短信分享
首先要在qq和微信开发者平台申请key才可以用,qq的key我们这里用qq123456789。微信的key我们用wx12345679下载微信和qq开发者中心的类库在appdelegate.h文件中导入#import "WXApi.h"#import #import #import "sdkCall.h"然后在appdelegate.m文件中的- (BOOL)applic原创 2013-10-17 16:33:34 · 2992 阅读 · 0 评论 -
左侧所有菜单项隐藏怎么办
昨天下班后项目关闭时还好好的,不知道怎么的,今天打开电脑后左侧导航菜单消失了,没有左侧菜单可怎么做项目啊!心里着急的狠啊!上网查看了一下解决办法。其实很简单。所有的隐藏项目的按钮都在view这个选项下。点击view我们会发现有个Navigators选项选中后它下面的子菜单你看到后就知道怎么操作了!!!!!!!!!隐藏效果:如图所示原创 2014-01-03 08:39:54 · 2038 阅读 · 0 评论 -
腾讯云在线直播四
经过几天不间断的学习,将腾讯云的独立模式下的登录,开创房间,收看直播等等相继克服。这个过程确实是让人很蛋疼,没有逻辑的混乱demo代码。没有完整成篇的直播文档,只能逐行的推敲demo中的代码,一遍又一遍的调试功能,才最终完成这个对大家说过的解决独立模式下的直播方案。 在这个过程中遇到了些许问题,一会逐步讲解代码再说出遇到的问题,以及大概说下原因和解决的方法。 关于导入工程包,之前在我原创 2016-05-21 14:14:43 · 4337 阅读 · 2 评论 -
选择人脸识别第三方平台
Face++旷视人脸识别人体识别证件识别图像识别人脸识别 检测一张图片上的人脸,并用方框标识出来 对比两张照片中的人物,判断是否同一个人 将一张照片作为索引对象,从多张照片中找出索引对象中的人。人体识别 检测出图片中的人体,用方框圈出 将图片中的人体显示出来,其他的物体全部虚化证件识别 识别出身份证,并将身份证...原创 2018-03-12 17:17:09 · 4286 阅读 · 0 评论 -
腾讯云在线直播三
登陆和注册都已经在上篇文章讲过,下面这个文章是重点,但是也是很简单的点,因为用到的基本都是demo里面的东西。因为登陆和注册这个东西需要保存的个人信息太重要,创建直播和看直播都需要这些东东,所以才会引起之前说的很多人吐槽demo可以成功,但是自己写的就会有问题等等,一个原因是自己将demo里面的逻辑搞乱了,另一个就是使用方法不当,因为demo是使用的托管模式,而有的需求可能会是独立模式,所以才会引起原创 2016-05-14 17:42:30 · 1231 阅读 · 0 评论 -
腾讯云在线直播二
书接上文,将环境配置好以后就可以开发云视频的各个流程了。首先我们从注册开始。目前为止我做好的只有手机号登录注册到在线直播这个流程。以后会陆续补充其他的登录注册方式。腾讯云登录注册包含了手机号、普通账号、邮箱以及第三方的方式。在腾讯云平台的文档里面我看到腾讯云要支持的第三方有微信、qq、人人网、新浪微博等等。但是代码里面暂时只看到了微信和qq的登录验证。可能是后续会支持那么多平台但是现在还没写出来(是原创 2016-05-14 17:23:43 · 2375 阅读 · 2 评论 -
腾讯云IM浅谈
前面几篇文章讲过了腾讯云的视频直播,既然有直播肯定也得需要聊天模块了,在我的项目需求中需要的有群聊和私聊,目前没有要求推送。虽然推送已经做过很多次了,但是由于项目紧张,就只写无推送功能的聊天内容了。 之前用过的推送有极光、友盟的第三方,也二次封装过网上的XMPP的demo。总的来说,推送这个东西对ios只有一套就是下载并安装推送证书,有了这个东西一切推送就跟非推送的聊天类似了。好了,今天就先原创 2016-06-17 11:14:09 · 22389 阅读 · 0 评论 -
ios端集成ijkplayer
视频直播这两年是异常火爆啊,之前由于公司一直没有涉足视频直播,所以也没有仔细研究过,只是在前段时间看了看第三方的直播开放平台,结果是个人感觉体验不太好,延迟很严重,手机发热也很严重。今天开始不引用第三方的开放平台研究下直播。网上有很多大神已经讲解的非常好的了,我只是将自己的开发和学习同步进行记录下。首先去下载ijkplayerijk下载地址解压下载的压缩包,可以看到代码文件夹如下: 第二步:我们需原创 2017-06-27 11:00:37 · 749 阅读 · 0 评论 -
IJKplayer播放
前文我们讲述了如何在mac推流操作。做这些的目的就是为了今天的成果。如果你们后台已经完成了推流代码,并保证完全测通,那么就可以从这篇文章看起。开始做我们客户端的事,否则,就需要我们客户端自己推流来测试拉流播放效果。 安装nginx服务器用于rtmp(ios端)推流测试 下面开始今天的主角,客户端引入ijkplayer,并测试拉流播放。第一步:我们需要合成ijkplayer的framework。这个在原创 2017-07-06 11:00:21 · 1283 阅读 · 0 评论 -
mac推流验证
周末的时候讲了下如何搭建mac上的推流服务器nginx。现在我们测试下,如果没有搭建好nginx的可以查看我的博客 安装nginx服务器用于rtmp(ios端)推流测试 现在开始在终端测试如何推流 1.首先我们需要打开服务器nginx。如果出现如下这样的错误,我们需要重新配置nginx.conf文件.nginx: [error] open() "/usr/local/var/run/nginx.p原创 2017-07-03 10:10:03 · 1011 阅读 · 0 评论 -
GPUImage部分头文件的作用
#import “GPUImageBrightnessFilter.h” //亮度美白滤镜29 #import “GPUImageExposureFilter.h” //曝光 30 #import “GPUImageContrastFilter.h” //对比度 31 #import “GPUI原创 2017-08-02 15:52:23 · 490 阅读 · 0 评论 -
ios端ijkplayer编译
第一步:打开IJKMediaPlayer,找到Edit Scheme,在Info选项下的Build Configuration中选择Release后关闭窗口。第二步:分别在模拟器和真机下编译IJKMediaPlayer,并找到模拟器和真机对应的IJKMediaFramework.framework。如下所示: 第三步:合成模拟器和真机下的framework,这样才可以在真机和模拟器下同时使用。我这原创 2017-06-27 11:42:25 · 6210 阅读 · 0 评论 -
IJKPlayer如何支持https
给ijkplayer安装支持https 首先使用如下终端命令安装yasm 第一:原创 2017-08-02 15:47:53 · 3667 阅读 · 0 评论 -
安装nginx服务器用于rtmp(ios端)推流测试
今天本来周末,在家里没什么事,这几天正在研究直播的问题,对这个很感兴趣,所以在自己的电脑上又重新搭建了一次环境,顺便给大家记录下安装流程。安装nginx首先要确保已经安装了homebrew。至于具体的安装步骤很简单,这里都记录下来各自的安装命令。1.安装homebrew:在打开的命令行工具中输入如下语句:ruby -e "$(curl --insecure -fsSL https://raw.git原创 2017-07-01 09:54:13 · 1342 阅读 · 0 评论 -
Past duration 0.666664 too large
在终端构建的直播推流过程中总是会出现,Past duration 0.666664 too large这样的警告,例如我这里就是使用的这样的推送命令ffmpeg -f avfoundation -framerate 30 -video_size 1280x720 -i "0:0" -vcodec libx264 -preset ultrafast -acodec libmp3lame -ar 441原创 2017-07-10 14:37:12 · 8658 阅读 · 0 评论 -
ffmpeg推流代码样例
ffmpeg在Mac上测试推流代码ffmpeg -f avfoundation -framerate 30 -video_size 640x480 -i "0" -vcodec libx264 -preset ultrafast -acodec libfaac -f flv rtmp://localhost:1935/sqflive/roomffmpeg -f avfoundation -fram原创 2017-07-01 11:20:56 · 2788 阅读 · 0 评论 -
IOS 面试题汇总2017
一.搜狐快站1.谈谈你做过的项目; 2.项目中最有成就感的部分; 3.倒计时如何实现?(NSTimer,还有其他的实现方式吗);原创 2017-04-26 15:42:32 · 3943 阅读 · 0 评论 -
N个iOS面试的问题【有工作经验的】
不管对于招聘和应聘来说,面试都是很重要的一个环节,特别对于开发者来说,面试中的技术问题环节不仅是企业对应聘者技能和积累的考察,也是一个开发者自我检验的好机会。对于iOS和Mac开发来说,因为本事还算比较新,企业对于这方面的开发者需求也比较大,所以面试时的要求可能并不是很高,一般能知道一些Cocoa和OC的基本知识也就认为可以了。但是对于一个希望拥有技术力基础的企业的iOS或者Mac开发来说,两到三转载 2013-11-20 14:30:44 · 980 阅读 · 0 评论 -
所谓五险一金
养老保险: 一般要交满15年,到退休的时候才能终生享受养老金,所以想拿养老金的人请务必在自己退休前15年就开始交。如果到退休年龄交养老保险不满15年,那等到你退休的时候国家会把你个人帐户上存的8%的养老金全部退给你。那单位给你交的21%到哪里去了?国家把单位为你交的21%的钱全部划到国家的养老统筹基金里了。国家规定,退钱的时候只退给个人自己扣交的钱,单位为他交的钱全部都为国家做贡献。退休时候的原创 2014-02-08 16:55:27 · 1255 阅读 · 0 评论 -
几个经典app制作网站
1、http://www.25xt.com/2、http://www.appcan.cn/3、http://www.html5cn.org/4、http://www.bootcss.com/p/flat-ui/5、http://appnow.com.cn/6、http://www.cutt.com/app7、http://app.chinasky.net/8、https原创 2013-11-21 09:08:58 · 5681 阅读 · 1 评论 -
framework的制作
通过 Framework 可以在物理上实现 iOS 程序的模块化。好处: 1、如果模块间接口定义的比较完善,模块化的程序具有很好的可扩展性与内聚性; 2、物理上的模块化便于开发过程的管理与测试,尤其是在程序规模相对大。 3、如果可以使用胶水语言作为粘合剂,程序可以用很少的代价适应未来的变化。不足: 1、由于是静态库,应该不会有什么运行转载 2013-11-20 16:06:24 · 865 阅读 · 0 评论 -
IOS面试题目(稍微深度型)
1.把block保存到对象中去,等到恰当的时机再使用(外部调用),可以用来传值。2.把block当成方法的参数使用,外部不调用,外部只是实现,函数内部调用3.block作为返回值原创 2017-09-06 10:34:01 · 5203 阅读 · 0 评论 -
iOS使用ffmpeg播放rstp实时监控视频数据流
一、编译针对iOS平台的ffmpeg库(kxmovie)近期有一个项目,需要播放各种格式的音频、视频以及网络摄像头实时监控的视频流数据,经过多种折腾之后,最后选择了kxmovie,kxmovie项目已经整合了ffmpeg和简单的播放器,具体可以参考kxmovie主页:https://github.com/kolyvan/kxmovie 编译kxmovie很简单,已经支持iOS 6.1转载 2014-05-14 09:20:22 · 1238 阅读 · 0 评论 -
Mantle 初步使用
最近接触到了Mantle这个东西,感觉很不错,在此与各位分享一下。前言在开发的过程中,我们常常会从网络获取数据,而数据通常又为JSON格式。 这时比较常见的做法是把JSON数据转为Model对象,这样我们可以从Model对象的属性读取数据。 但是常常会面临如下一些问题:每次都要用 -initWithDictionarty:(NSDictionary *)dict转载 2016-07-01 16:02:30 · 593 阅读 · 0 评论 -
MJExtension对象归档
MJExtension很强大,几乎支持现有所有的模型、字典、json数据转换,而且效率非常高以前写对象归档的时候,需要让这个对象实现NSCoding协议,而且要对每一个需要归档的属性做一些encode和decode操作,例如你之前的代码可能是这样子的Person.h文件#import "Person.h"@interface Person : NSObject NS转载 2016-07-01 16:03:58 · 582 阅读 · 0 评论 -
IT职场求生法则
本文转载自张传波的博客 《IT职场救生法则》已经升级为加强版了,增加了更多的法则,并加入了一些必要的说明。第一版发出后受到不少朋友的反馈,一些朋友指出文章似乎有点 “灰暗”,现实是残酷的,但我们应该以积极阳光的心态来应对,故此本文增加了更多的“阳光”要素,心态应该是第一位的,让我们享受人生吧! 我在IT职场打滚超过10年了,从小小的程序员做到常务副总。相对于其它行业,IT职场应该转载 2013-12-04 16:14:23 · 967 阅读 · 0 评论 -
RSA+DES+AES
之前做的SSL生成秘钥对,并用RSA和AES相结合的加密算法,并用另一种算法保存私钥。现在只是简单的将加密解密转过来转载 2016-08-08 18:27:28 · 1740 阅读 · 0 评论 -
面试题搜集
一般性问题最近这两天你有学到什么知识/技能么?最近有做过比较酷或者比较有挑战的项目么?最近看过的书/文章有哪些?如何向一个只接触过互联网的孩子解释「电视」?为什么要学习编程,编程对你而言的乐趣在哪儿?如果一个函数10次中有7次正确,3次错误,问题可能出现在哪里?自身最大优点是什么,怎么证明?有没有在 GitHub 上发布过开源代码,参与过开源项目?你最近遇到过的一个技术挑战是什么?怎原创 2017-09-15 10:56:41 · 1229 阅读 · 0 评论 -
成为IT经理必备的十大软技能
摘要:可能你是一名普通的IT从业员,一个小小的程序员,可随着社会的发展和科技的进步,对人才的要求越来越高,你可能通过技术获得了职位,但你若想升职加薪却少不了软技能:谈判技巧、积极倾听、演讲技巧以及领导能力等。对于一个IT从业者,让你谋得工作的也许是技术能力,但有助于提升职业生涯的却是软技能。步步高升的人都是那些发表文章、在会议上积极发言以及关注客户的员工(程序员)。与此同时转载 2013-11-20 13:30:22 · 936 阅读 · 0 评论 -
【引用】iPhone开发内存管理
原文地址:http://www.robinlu.com/blog/archives/392 开发iPhone 应用程序并不难,基本上就是三个词 - “memory, memory, memory” 。iPhone OS 对内存的要求很严格,有memory leak ,杀掉; 内存使用超限额,杀掉。一个经过测试的程序,在使用过程中90%以上的崩溃都是内存问题造成的。在这里简单总结一下Object转载 2013-12-03 14:52:12 · 777 阅读 · 0 评论 -
查询某个项目的代码行数
例如我的项目放在桌面上(项目的整个文件夹复制到桌面上也行)我的项目名称是Demo然后我在终端输入cd Desktop然后点击回车就会进入桌面路径紧接着再输入cd Demo/然后点击回车就会进入项目路径。最后再输入find . "(" -name "*.m" -or -name "*.mm" -or -name "*.cpp" -or -name "*.h" -or -name "*.r原创 2013-12-25 17:24:58 · 3993 阅读 · 0 评论 -
用xcode自动检测内存泄露
在project setting 中找到Run Static Analyzer 键,然后把值修改为YES这样重新build你的程序就会看到内存泄露了原创 2013-10-16 08:37:36 · 791 阅读 · 0 评论 -
app发布的问题简析
前段时间发布了公司的app,期间被打回来三次,原因都是使用了私有API,最主要的是我们运用了第三方的登录系统,却没有自己的用户信息的记录。我们的app是阅读类的产品,这样的产品是主要供用户阅读使用的,而用户登录的关键作用只是一个收藏,将用户的阅读爱好记录下来而已。方便换手机登录的时候将历史记录同时找到。然而不登录的用户也需要有收藏和赞的功能的,这里就说到了重点,我们使用第三方登录就是为了获取头像和用原创 2016-10-14 14:02:06 · 479 阅读 · 0 评论 -
安装cocopods遇到新问题
在我们大天朝,使用网络都是被监控的,我们安装cocopods的时候之前都会从网上搜索很多解决办法,但是发现新的https://ruby.taobao.org/已经不再维护了。所以我们在安装的时候会一直遇到证书问题。同时我们公司的网络同样存在动态修改用户host的功能(这个好像有),所以被迫使用新的网络,然后将错误提示和新的请求办法贴出来。 执行sudo gem install cocoapods的原创 2016-12-16 10:05:50 · 4117 阅读 · 0 评论 -
xcode自动检测内存泄露
xcode5.0以及之后的版本一般用这种方法:点击xcode,然后点击屏幕上面的Product会有一个下拉菜单选择Analyze就可以检测出内存泄露,同时也可以用快捷键shift+command+B就可以xcode5.0之前的版本一般用这种方法即可:以xcode4.1为例,在build Settings下,找到build Options,有一个选项是Run Static原创 2014-02-25 16:20:43 · 986 阅读 · 0 评论 -
安装xcode5.0.2后发现没有了coomand line developer tools了
升级了XCode5之后发现command line tools的安装选项消失了,出现在了原创 2014-02-09 11:27:29 · 3416 阅读 · 0 评论 -
使用git(sourcetree)
马上又要开始新项目了,做新项目必然用到git去管理代码。在使用git的时候,如果后台服务器账号是自己管理的话一切都好说。但是一般主程序员只有建立工程的资格,没有去管理后台所有的代码的资格。反正我现在就是,估计是害怕公司很多项目的代码被我看到吧。因为我们的Android和java的代码也是在这个账号下建立的。下面我就说一下git刚开始建立工程的时候如何操作。当我们的“头头”建立了一个git路径以后,他原创 2016-07-13 14:44:06 · 625 阅读 · 0 评论 -
准备ipa发布app
今天写一下上Appstore的流程,其实这些流程网上有太多的例子了,今天就权当自己遇到问题的一个记录吧。 1.打包的时候出现了copypng·······这样的报错,但是不妨碍我们打包,这样的原因在网上也搜索到了对应的结果,其实就是美工粗心或者贪图省事直接把jpeg改成了png后缀名发给你,打发你的结果。 2.如果你用了cocopods并且一开始创建项目导入了很多你想引用的第三方库,到最后你发现原创 2016-08-24 15:38:33 · 650 阅读 · 0 评论