- 博客(47)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 iOS上传图片到服务器
iOS上传图片或者头像到服务器。 这里介绍用AFN上传图片的例子,并给出注意事项,需要注意的地方已经以注释的方式写在代码中了。UIImage * image = [message valueForKey:@"originalImage"]; NSString *image_string=nil; if ([[UIDevice currentDevice].systemVersion f
2016-01-18 09:41:24
1282
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 iOS上传语音到服务器
iOS上传语音到服务器。 这里介绍用AFN上传语音文件到服务端。 如果不是NSData就要想办法把语音文件转化为NSData,然后才能上传服务器。首先我们拿到语音文件对应的NSData对象 NSData *voiceData = [message valueForKey:@"wavAudioData"]; //kHostURL为开发者公司的APP对应的主域名,比如http://xx
2016-01-18 09:40:31
1073
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 iOS上传视频到服务器
//视频转换为MP4 //转码操作... _hud.mode = MBProgressHUDModeIndeterminate; _hud.labelText = @"转码中..."; AVURLAsset *avAsset = [AVURLAsset URLAssetWithURL:_filePathURL options:nil]; NSDat
2016-01-18 09:39:30
1190
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 一般IOS项目中的滑动标签栏的实现
iOS中左右滑动切换,滑动标签页导航的设计思路iOS开发中经常(几乎每个APP都含有这样的页面吧,几乎!UI设计师也都是这样抄来抄去…..)估计很多人都会说,直接用第三方就可以了,很多人封装过,很好用。而且这样的页面用第三方2分钟搞定,省时省力。 笔者也曾用过第三方,但是屡屡出bug。而且不好修改。所以只能自己写,bug少,代码通俗易懂,童叟无欺。 这里介绍一个第三方DLS
2016-01-18 09:22:40
3181
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Your build settings specify a provisioning profile with the UUID, no provisioning profile was found
在Archive项目时,出现了“Your build settings specify a provisioning profile with the UUID “”, however, no such provisioning profile was found”的出错。一直提示指定UUID的provisioning profile找不到,感觉很奇怪。明明自己的provisioning pr
2015-12-14 11:22:46
347
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 sizeWithFont:方法使用明细
之前使用了NSString类的sizeWithFont:constrainedToSize:lineBreakMode:方法,但是该方法已经被iOS7 Deprecated了,而iOS7新出了一个boudingRectWithSize:options:attributes:context方法来代替。而具体怎么使用呢,尤其那个attributeNSDictionary *attrib
2015-12-03 09:11:21
351
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 很常用的第三方或者开源库
用到的组件1、通过CocoaPods安装项目名称项目信息AFNetworking网络请求组件FMDB本地数据库组件SDWebImage多个缩略图缓存组件UICKeyChainStore存放用户账号密码组件Reachability监测网络
2015-10-15 15:58:47
541
原创 Mac usr/bin 目录 权限问题
Mac进行 usr/bin 目录下修改权限问题,operation not permitted一般情况下我们在使用mac系统过程中下载一些文件、新建一些项目之后,这些文件都会默认是只读状态,这时我们只需要简单的一句权限设置命令就可以解决sudo chmod -R 777 你要修改文件上层目录的路径但是我们在对 usr/bin 目录下的文件进行操作的时候往往会出现这样的错误(上一篇博客...
2019-08-09 17:02:55
6386
原创 建立多人协作git仓库/git 仓库权限控制(SSH)
git仓库是多人协作使用的,可以基于很多种协议,例如http、git以及ssh等。ssh最为安全方便,配置起来也比较容易,但是权限控制是一个问题,比如下面的场景由两个用户st都给一个仓库贡献代码,那么如果通过ssh协议clone/push的话,会在git仓库的服务端新创建一些文件,主要是objects下面(refs下面文件也会做修改),这些文件的属主和属组就是你这个用户创建一个文件默认的属主和属组
2015-11-04 17:27:54
460
原创 IOS中设置全局变量
有几种方法some developers recommend use singleton patter (ref link http://blog.csdn.net/kmyhy/article/details/7026511)方法1:使用静态变量 (不推荐)方法2: 使用singleton pattern (ref link: http://nice.iteye.com/b
2015-11-02 17:56:26
723
原创 ios应用:release与debug编译方式的区别
Debug和Release仅仅是编译选项的不同,那么为什么要区分Debug和Release版本呢?Debug和Release,主要是针对其面向的目标不同的而进行区分的。Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发人员提供强大的应用程序调试能力。而Release通常称为发布版本,是为用户使用的,一般客户不允许在发
2015-11-02 10:34:01
867
原创 整理了一份react native 的学习资料
自己在学习React-Native过程中整理的一份学习指南,包含 教程、开源app和资源网站等,还在不断更新中。欢迎pull requests!React-Native学习指南本指南汇集React-Native各类学习资源,给大家提供便利。指南正在不断的更新,大家有好的资源欢迎Pull Requests!同时还有Awesome React-Native系列https
2015-10-29 14:09:30
346
原创 iTunes Connect 上传APP报错: Communication error. please use diagnostic mode to check connectivity.
iTunes Connect 上传APP报错: Communication error. please use diagnostic mode to check connectivity. you need to have outbound access to tcp port 443.错误原因: 此问题是翻墙代理问题.将代理关闭就ok了.解决办法: 打开网络偏好设置.将代理去掉.
2015-10-23 22:54:52
1829
原创 ios键盘在popViewControllerAnimated 时又弹起
做用户信息编辑时,常常用到键盘,在填写消息后如果popViewControllerAnimated时(键盘已升起)通常会一个弹出框确认框让用户确认下是退出。 本人用的UIAlertView做确认框,发现popViewControllerAnimated到上一个页面,键盘会莫名的出现消失。起刚是用的- (void)alertView:(UIAlertView *)alertView clicked
2015-10-19 17:17:21
502
原创 浅析最近很火的react-native技术
作为一个IOS 原生开发人员,当听到有技术能支持跨平台IOS和安卓,并且能用JS写原生应用的时候,我被震惊了,于是开始了重学react-native 之旅,我是强忍着使用oc 或者swift 的冲动将react-native慢慢的学了一遍。 React Native用iOS自带的JavaScriptCore作为JS的解析引擎,但并没有用到JavaScriptCore提供的一些可以让JS
2015-10-15 10:34:05
5411
原创 iOS开发——用keychain来保存更隐秘的数据
通常情况下,我们用NSUserDefaults存储数据信息,但是对于一些私密信息,比如密码、证书等等,就需要使用更为安全的keychain了。keychain里保存的信息不会因App被删除而丢失,在用户重新安装App后依然有效,数据还在。使用苹果官方发布的KeychainItemWrapper或者SFHFKeychainUtils很方便,后来看到 iphone使用keychain来存取用户
2015-10-13 11:45:19
344
原创 关于coreAnimation 核心动画的学习笔记(5)
3.5 图层的内容 图层的内容提供,是指通过一种方法来制定CALayer 实例的内容: 其中有一下三种方式来提供CAlayer的内容 (1)使用包含图片内容的 CGImageRef 来显式的设置图层的 contents 的属性。 (2)指定一个委托,它提供或者重绘内容。 (3)继承 CALayer 类重载显示的函数。 第四章 动画动画是当今用户界面的关键因素。当使用核心动画的时候,
2015-10-09 17:18:55
323
原创 关于coreAnimation 核心动画的学习笔记(4)
3.3 图层的几何变换图层一旦创建,你就可以通过矩阵变换来改变一个图层的几何形状。 CATransform3D 的数据结构定义一个同质的三维变换(4x4 CGFloat 值的矩阵),用于 图层的旋转,缩放,偏移,歪斜和应用的透视。图层的两个属性指定了变换矩阵:transform 和 sublayerTransform 属性。图层的 transform 属性指定的矩阵结合图层的 anchor
2015-10-09 17:18:04
246
原创 关于coreAnimation 核心动画的学习笔记(3)
第二章 核心动画渲染框架 可能有人会很好奇CoreAnimation是如何渲染动画,动画是如何生成的。 在core aniamtion和cocoa view之间有很大的相似之处,他们之间最大的概念上的分歧就是layer不直接渲染到屏幕上。在MVC的设计模式下,NSView和UIView是视图对象,core animation层实际上是模型对象。他们封装了几何图形,时间和可视属性,同时提供显示的内容
2015-10-09 17:17:13
323
原创 关于coreAnimation 核心动画的学习笔记(2)
1.1.1 图层类 层类(Layer Classes) Layer Classes是core animation的基础。Layer Classes提供了一个抽象的概念,这个概念对于那些使用NSview和UIview的开发者来说是很熟悉的。基础层是由CAlayer类提供的,CAlayer是所有Core Animation层的父类。 同一个视图类的实例一样,一个CA
2015-10-09 17:15:46
359
原创 关于coreAnimation 核心动画的学习笔记(1)
第一章 核心动画概念核心动画,开发人员可以为他们的应用创建动态用户界面,而无需使用低级别的图形 API,如 OpenGL 来获取高效的动画性能。 前言,核心动画的好处1.简单易用的高性能混合编程模型。2.类似视图一样,你可以通过使用图层来创建复杂的接口。 通过是CALayer来使用更复杂的一些动画。 3.轻量级的数据结构,它可以同时显示并让上百个图层
2015-10-09 17:14:56
335
原创 关于ssh key 的使用(git版本管理工具)
什么是ssh key?SSH key提供了一种与GitHub通信的方式,通过这种方式,能够在不输入密码的情况下,将GitHub作为自己的remote端服务器,进行版本控制步骤检查SSH keys是否存在生成新的ssh key将ssh key添加到GitHub中1. 检查SSH keys是否存在输入下面的命令,如果有文件id_rsa.pub 或 id
2015-10-09 17:10:02
437
原创 Xcode工程使用CocoaPods管理第三方库新建工程时出现错误
工程使用CocoaPods管理第三方库,在新的目录update版本的时候出现如下问题 问题1描述:diff: /../Podfile.lock: No such file or directory diff: /Manifest.lock: No such file or directory error: The sandbox is not in sync with th
2015-10-09 16:56:53
516
原创 关于IOS6的适配问题
现在大部分使用AFNetworing开源库的应用大部分是无法支持IOS6的,是因为在AFNetworking2.0 之后的版本使用了IOS6之后弃用的方法。如果要适配IOS6 除了其他方法外,需要改动网络开源库,比如将AFNetworing 改到2.0 (包括)之前的版本,或者使用ASI做网络请求部分,不过最好对每个系统版本做出判断,然后处理部分系统版本.例如#define IOS8_OR
2015-10-09 16:50:41
370
原创 IOS项目集成ShareSDK实现第三方登录、分享、关注等功能。
(1)官方下载ShareSDK iOS 2.8.8,地址:http://sharesdk.cn/(2)根据实际情况,引入相关的库,参考官方文档。(3)在项目的AppDelegate中一般情况下有三个操作,第一是注册ShareSDK,第二是注册各个平台的账号,第三是关于微信等应用的回调处理。// // AppDelegate.m
2015-10-09 16:40:19
319
原创 处理Xcode7 编译程序网络不可使用问题
出现 #warning: 获取app配置信息失败: The resource could not be loaded because the App Transport Security 我开始以为是xcode没优化好的缘故,其实这是苹果加大安全的管控,将以往HTTP协议强制改为HTTPS协议,以后的APP应该都是了,根本解决办法 改协议,临时解决办法在Info.plist中添加 NSA
2015-10-09 16:33:58
339
转载 搭建适合IOS的HTTP Live Streaming直播系统
最近,需要将苹果的HTTP Live Streaming系统搭建起来。完全没有头绪,故第一步就是学习。一、学习资料官网资料1. http://developer.apple.com/resources/http-streaming/具体的搭建方案 使用segmenter将现成的视频文件分割,并生成列表文件。1. http://blo
2015-09-15 14:34:10
976
原创 IOS获取设备中所安装的程序列表
runtime提供了一个方法直接可以获取已经安装app的bundle id#include Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");NSObject* workspace = [LSApplicationWorkspace_class performSelector:@sel
2015-09-14 10:03:12
455
原创 使用fir或者蒲公英来做分发测试
在这里主要介绍蒲公英这个分发测试的平台。生成 IPA 文件生成应用的 IPA 文件可以使用命令行 xcodebuild exportArchive -exportFormat ipa来完成,也可以使用 Xcode 提供的相应功能。相信大部分同学应该都用过,我就简单介绍一下。首先将编译的目标机器设置成 “iOS Device”,然后点击”Product”–>“Ar
2015-09-14 10:01:07
1076
原创 iOS自动处理键盘事件的第三方库:IQKeyboardManager
我们写界面要考虑很多用户体验问题,键盘事件的响应就是比较麻烦的一种。我们需要监听键盘事件,考虑点击背景收起键盘、考虑键盘遮挡输入框问题等等,而且每个界面都要做这么一套。这个库帮我们解决了这个事情。这个库的下载地址:https://github.com/hackiftekhar/IQKeyboardManager这个库是一个单例,它一旦生效,全项目任何界面都有效。让它生效的代码可以写
2015-09-14 09:59:29
354
原创 判断设备是否越狱
有时我们的应用希望知道安装的设备是否已经越狱了,显然,苹果官方不会给出解决方案来的,那么我们怎么办呢?因为越狱后会自动安装cydia,所以我们可以从这方面入手;也可以借助权限问题,去读取应用的列表;还可以去读环境变量,不越狱的机器应该是读取不到任何内容的。下面我们一个一个方法来讲:1. 判定常见的越狱文件/Applications/Cydia.app/Library/Mob
2015-09-14 09:57:57
558
原创 sqlite 操作(使用FMDB)
ALTER TABLE table-name ADD COLUMN column-name column-type 例如在student表中添加一列名为name,类型为varchar:alter table student add column name varchar;alter table student drop column name // 该行在SQlite中不能用,SQl
2015-09-14 09:52:20
323
原创 获取设备信息
1、获取设备的信息[objc] view plaincopyUIDevice *device = [[UIDevice alloc] int]; NSString *name = device.name; //获取设备所有者的名称 NSString *model = device.name; //获取设备的类别
2015-09-14 09:47:59
656
原创 IOS中http请求的cookie查看,删除,添加
一直以为ios的http请求这块很简单应该不支持记录,保存,或者使用cookie,可是想当然归想当然,真用的时候,真研究了一下发现还真强大。经过一番的研究简单说一下我的理解:当你访问一个网站时,不管你愿意或者不愿意,NSURLRequest都会帮你主动记录下来你访问的站点设置的cookie,而且很负责任的,当你下次再访问这个站点时,NSURLRequest会拿着上次保存下来了的cookie继续去请
2015-09-08 15:01:47
576
原创 ios开发出现 -[__NSDictionaryM isEqualToString:]: unrecognized selector sent to instance 错误
出现这种问题的原因是在于解析json时,你拿到的对象可能已经不再是NSString 类型,而是NSDictionary类型。 所以你在对这个你以为是NSString类型的对象进行isEqualToString 的判断时,因对象不是NSString类型,所以无法响应isEqualToString消息。故而报错。修正的方法是,确保你的这个类型是NSString类型。如果不能确保,在判断是否为空时,你
2015-09-07 17:02:24
2500
原创 关于appicon 大小和启动页大小的设置
最新的参考apple官网地址:https://developer.apple.com/library/ios/qa/qa1686/_index.html,网页下面有详细的使用方法(ios7以后的)Table 1 iPhone-only app icon requirements.Image Size (px)File Name
2015-09-06 15:37:59
1215
原创 IOS中宏定义
一直以来用宏定义#define也就是定义一些简单的常量,至多也就是定义一个函数,很少关注宏定义的用法。直到看到这样的代码:[cpp] view plaincopy#define PLAYSOUNDEFFECT(...) \ [[GameManager sharedGameManager] playSoundEffect:@#__VA_A
2015-09-06 15:11:40
543
原创 适用于IOS的几种必须会用的工具
下面介绍几种常用的IOS 开发必须会用的工具1.Alcatrazi是一个开源的Xcode管理器,可让你更快捷地发现和安装插件、模版和颜色方案。只需要简单地点击或者勾选,而无需手工克隆或拷贝文件。有了他,许多工具能简单的管理。 2.Git或者SVN:分布式版本控制系统和源码管理系统,其优点是:快和简单易用采用tower管理工具能简化git
2015-09-02 18:11:36
399
原创 一般企业如何处理IOS 检查更新
IOS 如今都不允许上架APP有检查更新字样,但市面上的大部分APP都有检查更新,这是为什么呢?IOS 一般情况下能推送APP版本更新的信息,但是如果想做到绕过苹果审核的检查更新,还需要服务端的配合。一般企业选择服务端开启INIT 接口,让APP获得是否有自动更新或者检查更新的字样,在审核的时候关闭服务器的init 接口,让APP关闭自动更新字样,当需要时在开启。下面介绍下如何具体实现
2015-09-02 17:56:24
633
原创 IOS (null )和<null>的处理
不小心在开发过程中,得到了(null)以及的返回值,找了好长时间只找到了一个关于的。由于要根据返回值进行判断,做出必要反应,因此必须知道返回值所代表的具体字符,在得到(null)后利用isEqual:和@“”,NULL,@“(nu
2015-09-02 14:29:26
476
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人