iOS篇
文章平均质量分 56
ismilesky
通往程序员之巅的路上没有什么捷径可走,只有靠自己,靠自己的积累,自己的努力,自己不断的学习。
展开
-
iOS App的转让/迁移和接收
开篇介绍最近, 在进行App的转让迁移工作,这里将转让和接收的流程进行记录。一般来说,将App从一个账号迁移到另一个账号一般有两种方法可用:将App从旧Apple ID的AppStoreConnect上下架,在新Apple ID的AppStoreConnect上重新发布上架从旧Apple ID上把App转让给新的Apple ID第一种方案对用户影响较大,要求用户卸掉旧的App再重新...原创 2019-02-20 16:46:41 · 4387 阅读 · 2 评论 -
关于Xcode8证书设置的问题
苹果终于将原来的证书管理机制换掉了,相信Xcode7.x的 fix issue 坑过好多人。伴随着Xcode8的发布,我们发现原来Xcode8也是坑很多,尤其是布局方面,我们今天主要说一下,管理证书出现的问题。别的可以后期慢慢聊。问题1: XXXXXXXX requires a provisioning profile. Select a provisioning profile in原创 2016-09-24 18:40:46 · 18097 阅读 · 2 评论 -
iOS关于MP3音频文件合并和MOV音频文件合并
最近项目中,需要将音频文件进行合并,在开发中,遇到了一些坑,在这里将这些问题整理记录一下。将若干.mp3文件合并,可以MP3文件转成NSData,然后再进行拼接处理,这样就可以合成一段完整的MP3文件。#import "ViewController.h"#define kCachesPath [NSSearchPathForDirectoriesInDomains(NSCachesDirecto原创 2016-10-10 18:06:13 · 3709 阅读 · 0 评论 -
IOS 中视频和音乐合成
因为最近在做关于视频相关的一些东西,有一个是给视频添加背景音乐或者配音,自己Google和百度了一些代码,将代码共享出来:/** 为了方便,我都将选取的视频和音乐文件以及导出的视频将路径设置在桌面上了,资源文件自己设置**/ NSString *inputFilePath = @"/Users/vs/Desktop/testvideo.mp4"; // 来源路径 NSString原创 2016-07-15 18:19:31 · 893 阅读 · 0 评论 -
IOS 中视频和音乐合成
因为最近在做关于视频相关的一些东西,有一个是给视频添加背景音乐或者配音,自己Google和百度了一些代码,将代码共享出来:/** 为了方便,我都将选取的视频和音乐文件以及导出的视频将路径设置在桌面上了,资源文件自己设置**/ NSString *inputFilePath = @"/Users/vs/Desktop/testvideo.mp4"; // 来源路径 NSString原创 2016-07-15 18:19:09 · 2782 阅读 · 0 评论 -
使用苹果自带的UIVideoEditController进行视频编辑
UIVideoEditorController类包含了由系统提供的界面,使用户可以交互式的剪切视频。UIVideoEditorController对象处理用户的交互并且提供把编辑后的视频的文件系统路径提供给UIVideoEditorControllerDelegate对象.UIVideoEditorController只支持能够支持视频编辑的设备. 我们设置好它的delegate及videoPat原创 2016-02-22 13:36:20 · 5946 阅读 · 1 评论 -
关于OC和Swift混编的基本使用
概述Swift的设计的初衷就是摆脱ObjC沉重的历史包袱,毕竟ObjC的历史太过悠久,相比于很多现代化语言它缺少一些很酷的语法特性,而且ObjC的语法和其他语言相比差别很大。随着Swift的改进及Swift开源项目剧增,越来越多的Objective-C工程开始使用Swift混编,不管是在基于Swift工程中或者Objective-C工程中,Swift和Objective-C文件都可以无缝结合。本文原创 2016-06-14 16:42:28 · 3350 阅读 · 0 评论 -
关于友盟IM自定义表情包的使用
介绍友盟的IM是支持自定义表情的,在友盟IM自定义表情包里面,是有一个淘公仔的表情包,为了我们可以自己添加自己的的表情包,我们先看一下友盟提供的淘公仔表情包的相关文件配置。首先我们先看一下自定义表情所在的位置,我是直接在下载的SDK的Demo里面改的,在下面的代码里面实现自定义表情:- (void)exampleShowCustomEmotionWithConversationController:原创 2016-06-07 18:54:03 · 3476 阅读 · 0 评论 -
IOS自动布局之Autoresizing
IOS自动布局之Autoresizing对于现在的iOS开发,随着技术的不断升级,我们实现的功能也在不断的增多,但考虑到开发的便捷和高效性,很多人开始了可视化编程(当然也不排除有的依然钟爱纯代码)StoryBoard,Xib。一般用过的人都说好。既然提到了可视化编程,那UI布局就浮出水面了,IOS中的两大自动布局利器:Autoresizing 和 Autolayout。Autolayout的功能确实原创 2016-05-24 13:57:35 · 879 阅读 · 0 评论 -
关于iOS获取音乐库的音乐信息 (获取本地音乐文件)
年前在项目开发的时候,当时有一个上传本地音乐文件的一个功能。需求是从本地获取音乐文件,并对音乐文件进行截取。实现获取本地音乐文件的方法的代码如下:MPMediaQuery *allMp3 = [[MPMediaQuery alloc] init]; // 读取条件 MPMediaPropertyPredicate *albumNamePredicate =原创 2016-02-18 17:23:04 · 12234 阅读 · 4 评论 -
iOS开发视频分解成图片
视频其实就是一张张图片组成的,将视频拆分成图片。这里视频分解图片使用的是AVAssetImageGenerator,利用这个类可以很方便的实现不同时间戳下,视频帧的抓取。注意一般这种视频分解图片帧的方法都是放在子线程中的,而UI更新操作都是放在主线程中的。使用下面方法获取视频的每一帧图片进行处理:/*! @method generateCGImagesAsynchronous原创 2016-10-10 22:37:53 · 5196 阅读 · 0 评论 -
Cocoapods安装步骤
一般,在我们开发中需要一些开源的第三方框架,或者是第三方集成的框架。比如谷歌地图,我们需要导入一些库,但一个个导入又很麻烦,这里介绍一个快速管理第三方集成的框架工具!1、升级Ruby环境终端输入:$ gem update --system此时会出现ERROR: While executing gem ... (Gem::FilePermissionError)原创 2015-09-23 23:12:31 · 462 阅读 · 0 评论 -
公司/组织苹果开发者账号申请流程
开篇最近,公司准备重新申请一个开发者账号,网上的资料大多都是申请个人的居多,这边记录一下申请公司/组织开发者账号的流程。其实,申请开发者账号还有一部分原因是公司现有的账号,因为苹果审核被警告14天封号,我们一方面向苹果申诉,另一方面申请另外一个开发者账号,做两手准备,以备不时之需。有点扯远了,切入正题。准备工作申请的AppleID邓白氏编码(没有的话可以看这篇申请帮助文档申请邓白氏编...原创 2019-02-19 17:17:40 · 2442 阅读 · 0 评论 -
使用tinify批量压缩图片
开篇不管是开发还是美工在使用图片时避免不了会对图片进行压缩等操作,TinyPNG 是一个压缩利器。TinyPNG网站提供了压缩和优化.png 格式图片的功能。虽然可以很轻松地使用网页版进行操作着了介绍一个根据tinify 批量压缩图片的脚本。安装使用tinify 就是由TinyPNG提供的使用Python调用Tiny PNG API的模块网页版的使用介绍戳这里 TinyPNG—一个压缩PNG的神站原创 2017-08-24 13:53:44 · 1841 阅读 · 0 评论 -
自动打包ipa文件,上传fir.im托管平台
介绍每次新版本开始提交测试上传fir.im托管平台,或者提交AppStore的时候,都免不了一套打包操作, 时间短还好说,时间一长好伤心,还不能走开,还要进行一下操作,真麻烦! 所以,整理出了一个可以自动打包ipa文件,并且能够自动上传到fir.im的脚本。 自动打包时间去喝杯咖啡吧。。。�� �� ��准备工作了解知识官方文档 Workspace、Project、Scheme、TargetXc原创 2017-08-04 18:03:47 · 8401 阅读 · 0 评论 -
MQTTClient的使用介绍
开篇最近在使用MQTTClient实现一个类似于消息推送的服务,说实话,真没怎么使用过MQTTClient,也不知道这是个啥? 上网了解了一下,发现MQTT功能挺强(牛)大(逼),既能做即时通讯,又能搞消息推送等功能。这里我使用的是消息推送服务,通过和服务器端协商,终于能够与服务器连接,并且能够收发消息了。 所以,简单总结了一下,有了这篇文章。MQTT介绍MQTT MQTT基于订阅者原创 2017-08-08 15:04:33 · 65683 阅读 · 2 评论 -
关于Xcode提高读写速度遇到的问题和一些想法
前言开发过程中,编译项目有时候要等很长的时间,因为Xcode是要进行读写操作,存取文件等操作,若项目中图片资源或者文件过多,那等待编译的时间会很长,这一点,我深有体会。看到这么一篇文章是关于提高Xcode读写速度的,http://www.cocoachina.com/ios/20170425/19116.html ,就按照文章所写尝试了一下,途中确实遇到一些问题,在这里记录一下。原理和问题Xcode原创 2017-04-26 16:15:36 · 852 阅读 · 0 评论 -
关于Gif播放的实现
最近看了一下Gif播放,因为iOS是没有可以直接播放Gif资源的控件的,所以,这就需要我们想办法了。。。准备通过上网Google,也查到了一些相关方法,下面列举一下:UIWebView播放 NSString *path = [[NSBundle mainBundle] pathForResource:@"niconiconi" ofType:@"gif"]; NSData *gif原创 2017-05-17 16:46:55 · 2459 阅读 · 0 评论 -
FFFramework的实现
前言最近,结合公司的项目,在前人的基础上整理了一个Framework的一个东西,主要包含了一些常用的category 整理; model 基类的使用,基于MJExtension 实现一个model 基类,模型数据的使用可以继承该基类;网络请求的使用,对于 AFNetworking 的封装,可实现数据请求和网络下载;第三方分享的封装,可以直接使用,分享到QQ,微信, 微博;View的一些使用,1)UI原创 2017-05-05 23:30:26 · 756 阅读 · 0 评论 -
NSTimer方法不执行的问题
最近, 在使用NSTimer的时候,发现了一个问题,在当前界面NSTimer的方法是可以执行的,但是当我push到下一界面, 做完相关操作,pop回来的时候,UI刷新,再次调用定时器时,发现方法竟然不执行了, 开始以为是线程阻塞,后来发现是NSTimer创建的问题。NSTimer 创建是有两种方式的: + (NSTimer *)timerWithTimeInterval:(NSTimeInterva原创 2016-12-08 14:04:07 · 6729 阅读 · 0 评论 -
iOS中SSZipArchive解压带中文名称乱码、解压失败、丢失文件的问题
在开发中,使用SSZipArchive这个第三方库,可以很好对文件进行压缩和解压缩,基本的压缩和解压缩很简单,根据相关API实现就可以。现在,我们说一下,使用SSZipArchive解压缩过程中出现的问题。当你当对要压缩或者要解压的文件的文件名包含有中文文字时,这个时候会出现文件名乱码的问题,或者在目的路径下未能找到解压后的文件的问题。这时候解压后的文件会缺少文件或某一文件夹。这是因为我们加压的文原创 2016-10-09 16:21:34 · 5326 阅读 · 2 评论 -
iOS 内购 开发
一、 常用产品介绍非消耗品(Nonconsumable)指的是在游戏中一次性购买并拥有永久访问权的物品或服务。非消耗品物品可以被用户再次下载,并且能够在用户的所有设备上使用消耗品(Consumable)专为支持可消耗的物品或服务设计的,消耗品购买不可被再次下载,根据其特点,消耗品不能在用户的设备之间跨设备使用,除非自定义服务在用户的账号之间共享这些信息 二、配置iTunes Connect1原创 2015-12-10 17:47:24 · 955 阅读 · 0 评论 -
关于 “does not contain bitcode.”的错误解决办法
Xcode7运行项目时出现了如下的错误:does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for原创 2016-02-23 10:43:40 · 10980 阅读 · 0 评论 -
swift编码出现Call can throw, but it is not marked with 'try' and the error is not handled错误的解决
最近使用Swift编程中,遇到一个问题,就是出现了Call can throw, but it is not marked with ‘try’ and the error is not handled的错误。 我做的是获取视频的首帧图片,在使用到 copyCGImageAtTime(requestedTime: CMTime, actualTime: UnsafeMutablePointer<C原创 2015-12-08 14:04:26 · 5238 阅读 · 0 评论 -
单例宏的抽取(用于ARC和非ARC)
在项目开发,难免会用到单例,也就是SingleTon,一旦创建单例,除非完全将程序退出,否则单例对象会一直存在!开发中,也许我们会使用多个单例,但一次次创建又很麻烦,但万一遇到MRC 与 ARC混编,再设置单例会更头疼!这里是一个单例宏的抽取,写入到 .h 文件,使用时,导入该文件即可!singleTon.h// 帮助实现单例设计模式// .h文件的实现#define SingletonH(met原创 2015-09-26 20:16:18 · 527 阅读 · 0 评论 -
iOS9.0网络问题,苹果将原http协议改成了https协议
在使用Xcode7时,运行程序会报错,原因如下:错误描述:App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app‘s Info.plist file原创 2015-09-24 21:47:53 · 1808 阅读 · 1 评论 -
iOS整体框架图
iOS学习的整体框架图:原创 2015-09-25 22:54:40 · 460 阅读 · 0 评论 -
推送流程图解
推送流程好多人都很乱,所以自己做了一个图解,希望会有帮助!原创 2015-09-09 22:25:03 · 1813 阅读 · 0 评论 -
iOS整理 -- 多线程之 NSOperation
NSOperation的作用配合使用NSOperation和NSOperationQueue也能实现多线程编程 NSOperation和NSOperationQueue实现多线程的具体步骤: 先将需要执行的操作封装到一个NSOperation对象中 然后将NSOperation对象添加到NSOperationQueue中 系统会自动将NSOperationQueue中的NSOperation原创 2015-09-09 16:17:20 · 361 阅读 · 0 评论 -
iOS整理 -- 多线程之NSThread
多线程 —- NSThread3种创建线程的方式 : NSThread , NSOperation , GCD1> NSThread 有两种直接创建方式:实例方法: (id)initWithTarget:(id)target selector:(SEL)selector object:(id)argument 类方法: (void)detachNewThreadSelector:(SEL)a原创 2015-09-09 11:59:08 · 493 阅读 · 0 评论 -
UIKit类关系总览
UIKit框架下的各个UI控件类的关系图:原创 2015-09-09 16:32:02 · 456 阅读 · 0 评论 -
UI学习1 ——UIWindow ,UIView , UILable
UIView UILable 学习原创 2015-07-04 17:49:21 · 577 阅读 · 0 评论 -
iOS整理 -- 多线程之 GCD
GCD Grand Central Dispatch纯C语言,提供了非常多强大的函数GCD的优势:GCD是苹果公司为多核的并行运算提出的解决方案 GCD会自动利用更多的CPU内核(比如双核、四核) GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程) 程序员只需要告诉GCD想要执行什么任务,不需要编写任何线程管理代码 任务和队列GCD中有2个核心概念任原创 2015-09-09 19:45:45 · 406 阅读 · 0 评论 -
关于设置applicationIconBadgeNumber提醒数字的问题
在日常开发中,当我们需要设置appIcon右上角的提示数字时,难免会用到UIApplication的applicationIconBadgeNumber的属性,但是,也许有人比较粗心,没有仔细看完苹果官方给的代码注释,就会着急使用这个属性,但是呢,运行时会发先在控制台会打印一串英文异常: Attempting to badge the application icon but haven’t re原创 2015-09-12 22:56:34 · 10690 阅读 · 0 评论 -
常用宏的使用
///////////////////////////////////////////////////release 模式下NSlog不输出debug 模式下NSlog输出//////////////////////////////////////////////////#ifndef DEBUG#define NSLog(...) NSLog(__VA_ARGS__)#else#define NS原创 2015-09-14 19:10:50 · 448 阅读 · 0 评论 -
关于视频压缩处理
最近在做关于视频压缩剪切的模块,开始时是完全没有思路,太费劲了,没办法静下心来继续研究,终于有点小成果,在此做个记录,为了自己下次的使用方便,也为了能帮助到别人吧! 说一下需求: 我的需求是将一段视频压缩成指定格式(比如320 X 480)下面上代码:#import <AVFoundation/AVFoundation.h>#import "ParseViewController.h"@i原创 2015-12-04 18:29:19 · 2099 阅读 · 0 评论 -
项目中某些静态库缺少,或者编译环境的问题造成的相关编译错误(Undefined symbols for architecture x86_64:)
项目工程中导入了很多库,有时候会出现一些问题,解决办法如下:解决办法:选中Targets—>Build Settings—>Architectures把build active architectures only 改为 NO,把的Valid Architectures选项中的arm64参数删掉就可以了,或者:双击Architectures,选择other,删除$(AR原创 2015-10-28 16:04:53 · 2139 阅读 · 0 评论 -
系统实现邮件、拨号、SMS、浏览器的调用
在iOS开发中,经常需要调用其它App,如拨打电话、发送邮件等。UIApplication:openURL:方法是实现这一目的的最简单方法,该方法一般通过提供的url参数的模式来调用不同的App。有些功能需要真机才能使用。调用邮件客户端(Apple Mail)URL模式:mailto://<strong>${EMAIL_ADDRESS}</strong>代码示例:[[UIApplication转载 2015-09-23 22:25:54 · 656 阅读 · 0 评论 -
RegexKitLite的配置
在开发中,我们难免会遇到一些对邮箱,QQ,地址等的一些验证,这时我们就会考虑到正则表达式,正则表达式在多门语言内通用的,而在Xcode中,也集成了正则表达式的使用,但是功能可能比较单一,用起来也不方便,推荐一个第三方叫RegexKitLite,使用正则表达式,需要对正则表达式有一定的了解,这些可以网上搜资料. 由于RegexKitLite是支持MRC,若我们开发用的ARC,需要去转换,怎样实现AR原创 2015-09-21 09:27:49 · 846 阅读 · 0 评论 -
地图的相关使用(定位,地理编码,导航)
概述在移动互联网时代,很多社交类,团购类app都引入了地图,地图能解决用户的很多生活琐事,比如: 导航:去任意陌生的地方,汽车导航等 周边:找餐馆、找酒店、找银行、找电影院 总之,目前地图和定位功能已经大量引入到应用开发中。 在上述应用中,都用到了地图和定位功能,在iOS开发中,要想加入这2大功能,必须基于2个框架进行开发, Map Kit :用于地图展示 , C原创 2015-09-15 16:55:08 · 3369 阅读 · 0 评论