
ios开发
文章平均质量分 66
哒哒哒达达
ios开发
展开
-
sizeWithFont:方法使用明细
之前使用了NSString类的sizeWithFont:constrainedToSize:lineBreakMode:方法,但是该方法已经被iOS7 Deprecated了,而iOS7新出了一个boudingRectWithSize:options:attributes:context方法来代替。而具体怎么使用呢,尤其那个attributeNSDictionary *attrib原创 2015-12-03 09:11:21 · 408 阅读 · 0 评论 -
关于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 · 456 阅读 · 0 评论 -
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 · 544 阅读 · 0 评论 -
处理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 · 362 阅读 · 0 评论 -
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 · 1893 阅读 · 0 评论 -
关于coreAnimation 核心动画的学习笔记(1)
第一章 核心动画概念核心动画,开发人员可以为他们的应用创建动态用户界面,而无需使用低级别的图形 API,如 OpenGL 来获取高效的动画性能。 前言,核心动画的好处1.简单易用的高性能混合编程模型。2.类似视图一样,你可以通过使用图层来创建复杂的接口。 通过是CALayer来使用更复杂的一些动画。 3.轻量级的数据结构,它可以同时显示并让上百个图层原创 2015-10-09 17:14:56 · 350 阅读 · 0 评论 -
IOS项目集成ShareSDK实现第三方登录、分享、关注等功能。
(1)官方下载ShareSDK iOS 2.8.8,地址:http://sharesdk.cn/(2)根据实际情况,引入相关的库,参考官方文档。(3)在项目的AppDelegate中一般情况下有三个操作,第一是注册ShareSDK,第二是注册各个平台的账号,第三是关于微信等应用的回调处理。// // AppDelegate.m原创 2015-10-09 16:40:19 · 337 阅读 · 0 评论 -
关于coreAnimation 核心动画的学习笔记(4)
3.3 图层的几何变换图层一旦创建,你就可以通过矩阵变换来改变一个图层的几何形状。 CATransform3D 的数据结构定义一个同质的三维变换(4x4 CGFloat 值的矩阵),用于 图层的旋转,缩放,偏移,歪斜和应用的透视。图层的两个属性指定了变换矩阵:transform 和 sublayerTransform 属性。图层的 transform 属性指定的矩阵结合图层的 anchor原创 2015-10-09 17:18:04 · 266 阅读 · 0 评论 -
关于coreAnimation 核心动画的学习笔记(5)
3.5 图层的内容 图层的内容提供,是指通过一种方法来制定CALayer 实例的内容: 其中有一下三种方式来提供CAlayer的内容 (1)使用包含图片内容的 CGImageRef 来显式的设置图层的 contents 的属性。 (2)指定一个委托,它提供或者重绘内容。 (3)继承 CALayer 类重载显示的函数。 第四章 动画动画是当今用户界面的关键因素。当使用核心动画的时候,原创 2015-10-09 17:18:55 · 344 阅读 · 0 评论 -
关于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 · 384 阅读 · 0 评论 -
iOS开发——用keychain来保存更隐秘的数据
通常情况下,我们用NSUserDefaults存储数据信息,但是对于一些私密信息,比如密码、证书等等,就需要使用更为安全的keychain了。keychain里保存的信息不会因App被删除而丢失,在用户重新安装App后依然有效,数据还在。使用苹果官方发布的KeychainItemWrapper或者SFHFKeychainUtils很方便,后来看到 iphone使用keychain来存取用户原创 2015-10-13 11:45:19 · 365 阅读 · 0 评论 -
很常用的第三方或者开源库
用到的组件1、通过CocoaPods安装项目名称项目信息AFNetworking网络请求组件FMDB本地数据库组件SDWebImage多个缩略图缓存组件UICKeyChainStore存放用户账号密码组件Reachability监测网络原创 2015-10-15 15:58:47 · 575 阅读 · 0 评论 -
iOS上传图片到服务器
iOS上传图片或者头像到服务器。 这里介绍用AFN上传图片的例子,并给出注意事项,需要注意的地方已经以注释的方式写在代码中了。UIImage * image = [message valueForKey:@"originalImage"]; NSString *image_string=nil; if ([[UIDevice currentDevice].systemVersion f原创 2016-01-18 09:41:24 · 1334 阅读 · 0 评论 -
iOS上传语音到服务器
iOS上传语音到服务器。 这里介绍用AFN上传语音文件到服务端。 如果不是NSData就要想办法把语音文件转化为NSData,然后才能上传服务器。首先我们拿到语音文件对应的NSData对象 NSData *voiceData = [message valueForKey:@"wavAudioData"]; //kHostURL为开发者公司的APP对应的主域名,比如http://xx原创 2016-01-18 09:40:31 · 1107 阅读 · 0 评论 -
iOS上传视频到服务器
//视频转换为MP4 //转码操作... _hud.mode = MBProgressHUDModeIndeterminate; _hud.labelText = @"转码中..."; AVURLAsset *avAsset = [AVURLAsset URLAssetWithURL:_filePathURL options:nil]; NSDat原创 2016-01-18 09:39:30 · 1229 阅读 · 0 评论 -
一般IOS项目中的滑动标签栏的实现
iOS中左右滑动切换,滑动标签页导航的设计思路iOS开发中经常(几乎每个APP都含有这样的页面吧,几乎!UI设计师也都是这样抄来抄去…..)估计很多人都会说,直接用第三方就可以了,很多人封装过,很好用。而且这样的页面用第三方2分钟搞定,省时省力。 笔者也曾用过第三方,但是屡屡出bug。而且不好修改。所以只能自己写,bug少,代码通俗易懂,童叟无欺。 这里介绍一个第三方DLS原创 2016-01-18 09:22:40 · 3235 阅读 · 0 评论 -
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 · 366 阅读 · 0 评论 -
IOS中设置全局变量
有几种方法some developers recommend use singleton patter (ref link http://blog.youkuaiyun.com/kmyhy/article/details/7026511)方法1:使用静态变量 (不推荐)方法2: 使用singleton pattern (ref link: http://nice.iteye.com/b原创 2015-11-02 17:56:26 · 743 阅读 · 0 评论 -
ios应用:release与debug编译方式的区别
Debug和Release仅仅是编译选项的不同,那么为什么要区分Debug和Release版本呢?Debug和Release,主要是针对其面向的目标不同的而进行区分的。Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发人员提供强大的应用程序调试能力。而Release通常称为发布版本,是为用户使用的,一般客户不允许在发原创 2015-11-02 10:34:01 · 929 阅读 · 0 评论 -
浅析最近很火的react-native技术
作为一个IOS 原生开发人员,当听到有技术能支持跨平台IOS和安卓,并且能用JS写原生应用的时候,我被震惊了,于是开始了重学react-native 之旅,我是强忍着使用oc 或者swift 的冲动将react-native慢慢的学了一遍。 React Native用iOS自带的JavaScriptCore作为JS的解析引擎,但并没有用到JavaScriptCore提供的一些可以让JS原创 2015-10-15 10:34:05 · 5483 阅读 · 0 评论 -
关于coreAnimation 核心动画的学习笔记(3)
第二章 核心动画渲染框架 可能有人会很好奇CoreAnimation是如何渲染动画,动画是如何生成的。 在core aniamtion和cocoa view之间有很大的相似之处,他们之间最大的概念上的分歧就是layer不直接渲染到屏幕上。在MVC的设计模式下,NSView和UIView是视图对象,core animation层实际上是模型对象。他们封装了几何图形,时间和可视属性,同时提供显示的内容原创 2015-10-09 17:17:13 · 345 阅读 · 0 评论 -
关于IOS6的适配问题
现在大部分使用AFNetworing开源库的应用大部分是无法支持IOS6的,是因为在AFNetworking2.0 之后的版本使用了IOS6之后弃用的方法。如果要适配IOS6 除了其他方法外,需要改动网络开源库,比如将AFNetworing 改到2.0 (包括)之前的版本,或者使用ASI做网络请求部分,不过最好对每个系统版本做出判断,然后处理部分系统版本.例如#define IOS8_OR原创 2015-10-09 16:50:41 · 392 阅读 · 0 评论 -
建立多人协作git仓库/git 仓库权限控制(SSH)
git仓库是多人协作使用的,可以基于很多种协议,例如http、git以及ssh等。ssh最为安全方便,配置起来也比较容易,但是权限控制是一个问题,比如下面的场景由两个用户st都给一个仓库贡献代码,那么如果通过ssh协议clone/push的话,会在git仓库的服务端新创建一些文件,主要是objects下面(refs下面文件也会做修改),这些文件的属主和属组就是你这个用户创建一个文件默认的属主和属组原创 2015-11-04 17:27:54 · 485 阅读 · 0 评论 -
IOS中宏定义
一直以来用宏定义#define也就是定义一些简单的常量,至多也就是定义一个函数,很少关注宏定义的用法。直到看到这样的代码:[cpp] view plaincopy#define PLAYSOUNDEFFECT(...) \ [[GameManager sharedGameManager] playSoundEffect:@#__VA_A原创 2015-09-06 15:11:40 · 584 阅读 · 0 评论 -
让自己的scrollview中的button 也能有点击效果
很多人发现,在scrollview中放入了button之后,button 的点击效果都没有了,这是因为什么原因呢? 这里教大家将其点击效果显示出来。首先,如果你的图片是一张png 格式的非正方形的图片,你会发现你点击的时候整个图片只有有显示部分的颜色发生了改变。首先,你需要为你的button填充满,用全色填充,我写了以下分类:#import "UIButton+FillColor.h"原创 2015-08-20 16:04:31 · 4237 阅读 · 1 评论 -
适用于IOS的几种必须会用的工具
下面介绍几种常用的IOS 开发必须会用的工具1.Alcatrazi是一个开源的Xcode管理器,可让你更快捷地发现和安装插件、模版和颜色方案。只需要简单地点击或者勾选,而无需手工克隆或拷贝文件。有了他,许多工具能简单的管理。 2.Git或者SVN:分布式版本控制系统和源码管理系统,其优点是:快和简单易用采用tower管理工具能简化git原创 2015-09-02 18:11:36 · 425 阅读 · 0 评论 -
一般企业如何处理IOS 检查更新
IOS 如今都不允许上架APP有检查更新字样,但市面上的大部分APP都有检查更新,这是为什么呢?IOS 一般情况下能推送APP版本更新的信息,但是如果想做到绕过苹果审核的检查更新,还需要服务端的配合。一般企业选择服务端开启INIT 接口,让APP获得是否有自动更新或者检查更新的字样,在审核的时候关闭服务器的init 接口,让APP关闭自动更新字样,当需要时在开启。下面介绍下如何具体实现原创 2015-09-02 17:56:24 · 665 阅读 · 0 评论 -
IOS 使用支付宝的注意事项
下载官方sdk要注意很多东西,首先要确认你的软件是调用支付宝的什么支付方式,目前,我所知的有调用支付宝,支付宝钱包,支付宝网页,支付宝快捷支付,每种使用方式的代码和逻辑都不太一样,使用时要注意。这里简述一下如何使用支付宝接口。解压接口压缩文件(文件名是 WS_MOBILE_PAY_SDK_BASE.zip),找到iOS的压缩文件(文件名是支付宝钱包支付开发包标准版(iO原创 2015-08-19 12:44:59 · 3837 阅读 · 0 评论 -
IOS (null )和<null>的处理
不小心在开发过程中,得到了(null)以及的返回值,找了好长时间只找到了一个关于的。由于要根据返回值进行判断,做出必要反应,因此必须知道返回值所代表的具体字符,在得到(null)后利用isEqual:和@“”,NULL,@“(nu原创 2015-09-02 14:29:26 · 495 阅读 · 0 评论 -
关于NSError
Foundation Constants ReferenceNSError Codes NSError codes in the Cocoa error domain.enum { NSFileNoSuchFileError = 4, NSFileLockingError = 255, NSFileReadUnknownError =翻译 2015-08-27 09:46:13 · 419 阅读 · 0 评论 -
如何跳转到appstore或其他app
NSString * url=[NSStringstringWithFormat:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id;=%@",appid];附上自己的appid 便能够跳转到appstore 里面NSStr原创 2015-08-26 17:10:30 · 1019 阅读 · 0 评论 -
关于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 · 1241 阅读 · 0 评论 -
IOS中http请求的cookie查看,删除,添加
一直以为ios的http请求这块很简单应该不支持记录,保存,或者使用cookie,可是想当然归想当然,真用的时候,真研究了一下发现还真强大。经过一番的研究简单说一下我的理解:当你访问一个网站时,不管你愿意或者不愿意,NSURLRequest都会帮你主动记录下来你访问的站点设置的cookie,而且很负责任的,当你下次再访问这个站点时,NSURLRequest会拿着上次保存下来了的cookie继续去请原创 2015-09-08 15:01:47 · 602 阅读 · 0 评论 -
ios开发出现 -[__NSDictionaryM isEqualToString:]: unrecognized selector sent to instance 错误
出现这种问题的原因是在于解析json时,你拿到的对象可能已经不再是NSString 类型,而是NSDictionary类型。 所以你在对这个你以为是NSString类型的对象进行isEqualToString 的判断时,因对象不是NSString类型,所以无法响应isEqualToString消息。故而报错。修正的方法是,确保你的这个类型是NSString类型。如果不能确保,在判断是否为空时,你原创 2015-09-07 17:02:24 · 2569 阅读 · 0 评论 -
ios键盘在popViewControllerAnimated 时又弹起
做用户信息编辑时,常常用到键盘,在填写消息后如果popViewControllerAnimated时(键盘已升起)通常会一个弹出框确认框让用户确认下是退出。 本人用的UIAlertView做确认框,发现popViewControllerAnimated到上一个页面,键盘会莫名的出现消失。起刚是用的- (void)alertView:(UIAlertView *)alertView clicked原创 2015-10-19 17:17:21 · 525 阅读 · 0 评论 -
搭建适合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 · 1006 阅读 · 0 评论 -
使用fir或者蒲公英来做分发测试
在这里主要介绍蒲公英这个分发测试的平台。生成 IPA 文件生成应用的 IPA 文件可以使用命令行 xcodebuild exportArchive -exportFormat ipa来完成,也可以使用 Xcode 提供的相应功能。相信大部分同学应该都用过,我就简单介绍一下。首先将编译的目标机器设置成 “iOS Device”,然后点击”Product”–>“Ar原创 2015-09-14 10:01:07 · 1140 阅读 · 0 评论 -
判断设备是否越狱
有时我们的应用希望知道安装的设备是否已经越狱了,显然,苹果官方不会给出解决方案来的,那么我们怎么办呢?因为越狱后会自动安装cydia,所以我们可以从这方面入手;也可以借助权限问题,去读取应用的列表;还可以去读环境变量,不越狱的机器应该是读取不到任何内容的。下面我们一个一个方法来讲:1. 判定常见的越狱文件/Applications/Cydia.app/Library/Mob原创 2015-09-14 09:57:57 · 585 阅读 · 0 评论 -
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 · 338 阅读 · 0 评论 -
IOS获取设备中所安装的程序列表
runtime提供了一个方法直接可以获取已经安装app的bundle id#include Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");NSObject* workspace = [LSApplicationWorkspace_class performSelector:@sel原创 2015-09-14 10:03:12 · 487 阅读 · 0 评论