iOS(一)
LoveHaloK
有道无术,术尚可求;有术无道,止于术!
展开
-
强引用和弱引用(__strong和__weak)
初学者干货 在OC ARC模式下开发:id objcA =[ [NSObject alloc] init];默认声明的一个对象就为__strong强引用,等价于:id __strong objcA =[ [NSObject alloc] init]; 注:在强引用中,有时会出现循环引用的情况,这时就需要弱引用(__weak)来帮忙 ,如本博客里面提到的block的循环引原创 2015-11-29 11:58:43 · 1226 阅读 · 0 评论 -
iOS 原生二维码扫描crush([AVCaptureMetadataOutput setMetadataObjectTypes:] - unsupported type found. Use -)
描述:按照标准流程,将添加扫码支持类型放在添加输出设备方法后面但依旧会报错:[AVCaptureMetadataOutput setMetadataObjectTypes:] - unsupported type found. Use -availableMetadataObjectTypes.’解决办法:1.在’***’行后面任意地方打上断点,crush后看_input是否为nil ...原创 2016-03-22 13:04:20 · 3406 阅读 · 2 评论 -
iOS app 打包上传 问题 ERROR-ITMS 90060(the bundle is invalid .the value for ker CFBundleShortVersionStrin)
更新版本1.2.2->1.2.3打包好后直接用Xcode提交bundle(包)最后时刻返回:ERROR-ITMS 90060(感觉是其他报错条目网上搜索解决方案一大把,而我的这个问题没人认碰见过~~)先看字面意思:the bundle is invalid .the value for ker CFBundleShortVersionString ‘4.0.4-alpha-4’in the ...原创 2016-03-23 18:16:30 · 11988 阅读 · 0 评论 -
ERROR ITMS-90034:”Missing or invalid signature.the bundle ‘com.vs.JiuDing’at bundle path ‘Payload/Ji
问题:ERROR ITMS-90034:”Missing or invalid signature.the bundle ‘com.vs.JiuDing’at bundle path ‘Payload/JiuDing.app’is not signed using an Apple submission certificate ”方法:两个证书的信任设置系统默认...原创 2016-03-23 18:20:38 · 2245 阅读 · 0 评论 -
理解"unrecognized selector sent to instance 0x1412c "异常
unrecognized selector sent to instance 0x1412c'我们朝地址为"0x1412c"的实例对象发送了不属于这个对象的方法,这句话不是 0x1412c called unrecognized selector,而是消息发送错误....原创 2016-05-24 11:31:22 · 611 阅读 · 0 评论 -
Error ITMS-90635 invalid Mach-o format. the mach-o in hundle “*** ***.app/Frameworks/Result.framewor
项目更新:上传返回:Error ITMS-90635 - Invalid Mach-O in bundle - submitting to App storeinvalid Mach-o format. the mach-o in hundle “*** ****.app/Frameworks/Result.framework” isn’t consistent with the mach-o i...原创 2016-06-06 11:54:56 · 3609 阅读 · 2 评论 -
轻松制作 macOS Sierra 正式版 USB 安装盘!
本文转自:http://www.iplaysoft.com/macos-usb-install-drive.html,感谢异次元分享!正在赶项目,Mac mini 不能正常启动(启动报错“因电脑有问题需要重新启动、、、、、、”然后按照提示启动,又报同样地错!)因timeMachine没备份,在线安装验证失败,因此只能做一个系统U盘,重装系统!注意:1、先备份好U盘资料,后面会将U盘抹掉,数据会被删...转载 2016-10-11 17:04:34 · 26895 阅读 · 0 评论 -
怎样理解iOS CGAffineTransform API 传参?
iOS CGAffineTransform API 里面的参数是怎么来的?原创 2017-05-22 16:45:36 · 331 阅读 · 0 评论 -
微信截屏分享、图片压缩处理!
情景 项目当中需要截取当前屏幕图片,然后处理分享到微信朋友或朋友圈。微信分享图片需要设置一张不超过32K大小的缩略图,超过32K将导致分享失败。功能是已经上线,过程中有些细节和注意的地方,在这里分享下(不妥之处,望指正!)。正文1、关于UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale)参原创 2017-05-27 16:17:51 · 5174 阅读 · 0 评论 -
APP store 审核指南(中文版)
APP store 审核指南(中文版)链接:https://developer.apple.com/cn/app-store/review/guidelines/原创 2018-03-21 09:34:14 · 663 阅读 · 1 评论 -
苹果 iTunes connect 下架APP
苹果 iTunes connect 下架APP(有内购)应公司需求,对一款已上架的APP进行下架操作。如下:step1 : 点击“价格与销售范围”,在销售范围栏,勾选“下架”按钮,再点击保存。如下图: step2: 在点击左边栏“APP信息”,在最下面会出现一个“删除App”按钮,点击,会弹出一个对话框,让用户再次确认,即可。 step3 : 问题来了,在上一步确认删除...原创 2018-03-15 10:30:49 · 2485 阅读 · 1 评论 -
修改readonly修饰属性的值!
readonly情景当我们的对象的某些个属性不需要对外提供set方法修改赋值时,那么我们在定义属性时会给属性添加readonly。问题1.那么是不是只要添加readonly后就不能改属性值了呢?下面先定义一个Animal类.h文件#import <Foundation/Foundation.h>@interface Animal : NSObjec...原创 2018-04-26 14:41:26 · 4182 阅读 · 0 评论 -
iOS 枚举 (enum)
枚举/* 在Mac OS 10.8后apple引入两个宏来定义枚举类型: 1、NS_ENUM 是通用情况 2、NS_OPTIONS 定义具有位移操作的或特点的情况 位运算 1、&:两个都为1时,才为1,反之为0; 2、|:有一个为1时,才为1,反之为0; 3、^:两个不同为1,反之为0; 4、~:取反 5、<<:左位移,空位补0; 6、>&...原创 2018-05-03 14:32:42 · 301 阅读 · 0 评论 -
iOS 多线程编程技术--NSThread、Cocoa NSOperation、GCD
多线程篇(一)以下是对多线程的一些理解,如果有失偏颇之处,还望各位大神指出.话不多说,直接进入!1.什么是进程?我们手机里面每一个应用程序称一个进程.每个进程都至少会有一个主线程(main),需要时可以创建多个线程. 2.线程?线程是程序中一个单一的顺序控制流程,单个进程中可以有多个线程来完成不同的任务.(注:程序启动后,系统就会创建一个主线程(main),所有的UI控件都必须在主线程创建,因此也...原创 2015-11-15 16:15:26 · 724 阅读 · 1 评论 -
iOS多线程编程技术之NSThread、Cocoa NSOperation、GCD
多线程篇(一)1.什么是进程?我们手机里面每一个应用程序称一个进程.每个进程都至少会有一个主线程(main),需要时可以创建多个线程. 2.线程?线程是程序中一个单一的顺序控制流程,单个进程中可以有多个线程来完成不同的任务.(注:程序启动后,系统就会创建一个主线程(main),所有的UI控件都必须在主线程创建,因此也叫主线程为UI线程) 3.多线程?单个进程中同时运行多个线程,完成不同的工作,称多...原创 2015-11-15 17:59:08 · 456 阅读 · 0 评论 -
微信sharesdk
初学者干货: 最近接到一个项目要求分享到微信和facebook,查找网上后,推荐使用sharesdk。 1.首先到官网http://sharesdk.cn/Download下载对应的sharesdk。2.根据官网的开发文档http://wiki.sharesdk.cn/iOS%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E6%8C%87%E5%8D%97#.E7.AC....转载 2015-12-03 13:04:40 · 679 阅读 · 0 评论 -
xcode 真机运行报错“resource fork, Finder information, or similar detritus not allowed”
xcode 真机运行报错“resource fork, Finder information, or similar detritus not allowed”情景替换工程启动图片,然后运行报错。解决方案:1、/Library/Developer/Xcode/DerivedData/ 前往这个文件,将DerivedData下文件删除(不影响)2、打开终端 cd进项目 ...转载 2017-12-27 15:13:39 · 995 阅读 · 0 评论 -
cocos2dx 3.15版本ios热更编译jsc
cocos2dx 3.15版本ios热更编译jsccocos2dx 3.15版本开始,需进行此编译,否则影响ios端的热更新。1.打开终端;2.cd 进入“…frameworks\cocos2d-x\cocos\scripting\js-bindings”3.cocos jscompile -s script -d script...原创 2018-02-01 13:44:00 · 528 阅读 · 0 评论 -
苹果内购报错NSURLErrorDomain Code=-1005 “无法连接到 iTunes Store”
NSURLErrorDomain Code=-1005 “无法连接到 iTunes Store”/Domain=NSURLErrorDomain Code=-1001场景下午使用A沙箱测试账号顺利购买虚拟商品,然后突然发现A账号购买失败,一直提示”NSURLErrorDomain Code=-1005 “无法连接到 iTunes Store”“,然后立马切换另一个沙箱测试账号B测试,然...原创 2018-03-09 20:52:34 · 5330 阅读 · 0 评论 -
更新(D-U-N-S)邓白氏码公司信息(注册勿看)
公司需申请一个苹果企业开发账号,提交申请后,苹果返回说“我们发现贵公司在 D&B 资料库的电话尚未填写完整”,导致企业账号审核无法通过,最重要的是,必须要等邓白氏资料都完善后,才可提交苹果企业账号申请!网上搜了下如何更新在邓白氏注册的公司信息,基本只是如何注册邓白氏码流程。。。。。经过摸索,在这里告诉大家:请拨打此号码:021-2610 7504 (他们会告诉你原创 2017-01-04 10:38:47 · 9405 阅读 · 0 评论 -
苹果企业开发账号申请三步走
网上关于怎样申请一个苹果企业开发者账号教程很多,也很细致!但苹果官方回复的邮件将其分为三大步骤,让人一看便明白需要做什么,准备什么!在这里贴出来跟大家分享。您好:感谢您联系 Apple Developer Program Support。我是 ****,很荣幸能协助您。关于 Apple Developer Enterprise Program 的申请基本流程,请原创 2017-01-04 10:23:42 · 1437 阅读 · 0 评论 -
iOS各个控件之间通信有哪些模式
初学者干货:1、代理模式,2、监听器模式,3、观察者模式。原创 2015-11-30 15:14:08 · 426 阅读 · 0 评论 -
iOS开发网络—数据安全
iOS开发网络篇—数据安全一、简单说明1.说明在开发应用的时候,数据的安全性至关重要,而仅仅用POST请求提交用户的隐私数据,还是不能完全解决安全问题。如:可以利用软件(比如Charles)设置代理服务器,拦截查看手机的请求数据“青花瓷”软件因此:提交用户的隐私数据时,一定不要明文提交,要加密处理后再提交2.常见的加密算法MD5 \ SHA \ DES \ 3DES \ RC2和RC4 \ RSA...转载 2015-11-30 20:07:51 · 510 阅读 · 0 评论 -
iOS 设置个人头像
初学者干货:在使用app时,从相册中选取图片作为头像是很常用的操作。1、首先打开相册选择图片,2、然后将图片保存至本应用的document,3、最后将document中图片的路径保存至NSUserDefaults和服务器。 //从相册中选取图片或拍照 - (void)btnActionForEditPortrait:(id) sender { UIImag原创 2015-11-30 18:41:08 · 2445 阅读 · 0 评论 -
FMDB&EGODatabase(数据持久化)
初学者思路干货: FMDB不支持多线程同时使用同一个数据库连接进行操作,否则会有线程安全问题,有可能导致数据库文件损坏。EGODatabase则引入了多线程的支持,部分代码借鉴了FMDB,两者在使用上非常的相似。另EGODatabase提供了异步数据库操作的支持,将数据库操作封装成数据库请求(其继承于NSOperation),数据库请求创建好了,丢到一个OperationQueue原创 2015-11-30 17:25:04 · 1199 阅读 · 0 评论 -
iphone和iPad开发的区别
初学者干货:iPhone与IPA开发区别:一、关于iphone和iPad说明:iPhone是手机,iPad、iPad Mini是平板电脑iPhone和iPad开发的区别 屏幕的尺寸 \分辨率 UI元素的排布 \设计 键盘 API 屏幕方向的支持详细 :(1)屏幕的尺寸 \分辨率 在iOS开发中,只需要关注以下几种情况iPhone转载 2015-11-30 14:57:57 · 928 阅读 · 0 评论 -
ARC和非ARC(-fobjc-arc和-fno-objc-arc)
初学者干货(简介明了):一、项目使用的非ARC模式,则为ARC模式的代码文件加入-fobjc-arc标签。二、项目使用的ARC模式,则为非ARC模式的代码文件加入 -fno-objc-arc标签。三、添加标签的方法:Frst step 、打开:你的target - Bulid Phases -Compile Sources。Second step、双击对应的*.m文件原创 2015-11-29 11:40:04 · 1019 阅读 · 0 评论 -
堆和栈的区别
堆和栈的区别主要有以下五点:1、管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来讲,释放工作由程序员控制,容易产生memory leak (内存泄露)。2、申请大小:栈是向低地址扩展的数据结构,是一块连续的内存区域。这句话的意思是栈顶的地址和栈的最大容量是系统预先规定好的,是一个编译时就确定的常数,如果申请空间超过栈的剩余空间时,将提示overflow(溢出)转载 2015-11-29 12:28:25 · 580 阅读 · 0 评论 -
关于iOS的强引用,弱引用及strong,retain,copy,weak,assignd
初学者干货: 一、强引用和弱引用: OC中的内存管理是通过“引用计数器”来实现的。 一个对象的生命周期取决于它是否还被其他对象引用(是否retainCount=0)。但在有些情况下,我们并不希望对象的销毁时间由是否被其他对象引用来决定,而是这个对象本该是什么时候销毁就什么时候被销毁。这时,我们得引入“强引用”和“弱引用”的概念。 强引转载 2015-11-29 12:18:40 · 540 阅读 · 0 评论 -
button三种点击状态的切换
初学者干货: 问题抽象:现在在做一个音乐播放的模块,对于音乐播放顺序有三种状态切换,如下图所示,顺序播放单曲循环随机播放现在我只抽象出最简单的部分,以该Button操作的交互过程来描述,(1)Button默认的状态是“顺序播放”歌曲模式(2)不断点击Button,歌曲循环模式切换顺序为“顺序播放->单曲循环->随机播放->顺序播放->....”(3)每次点击转载 2015-12-03 13:08:19 · 7990 阅读 · 0 评论 -
mac创建的压缩包,在window后打开文件名是乱码
干货: Mac下,默认文字编码是utf-8,而在WIN下是gbk。这样,在WIN下解压Mac打包的文件时,是用gbk来解析utf-8,就出现乱码了。出现问题就得解决!之前我一直用Stuffit进行压缩,格式是.zip,就出现了上面所说的问题。解决方法很简单,换用BetterZip,同时把文件压缩成.rar格式。BetterZip支持压缩rar,但本身不带这个功能需要自己挂插件,转载 2015-12-03 14:47:50 · 4991 阅读 · 0 评论 -
快速集成QQ分享
这里没有使用是三方分享,如shareSDK 。step1.在腾讯开放平台下载标准SDKstep2. 将iOS SDK中的TencentOpenAPI.framework和TencentOpenApi_IOS_Bundle.bundle 放进工程。 添加SDK依赖的系统库文件。分别是”Security.framework”,“libiconv.dyli原创 2016-08-10 12:16:33 · 1912 阅读 · 0 评论 -
CATransform3D参数的意义
struct CATransform3D{ CGFloat m11(x缩放),m12(y切变),m13(旋转),m14(); CGFloat m21(x切变),m22(y缩放),m23(),m24(); CGFloat m31(旋转),m32(),m33(),m34(透视效果,要操作的这个对象要有旋转的角度,否则没有效果。正直/负值都有意义);原创 2016-08-31 17:50:48 · 428 阅读 · 0 评论 -
Linker command failed with exit code 1(use -v to see invocation)
1、研究错误信息,定位问题出在“APPDelegate”这个文件。2.duplicate ****** 表明这是重复引用问题,问题根源找到。3.找出重复引进.m文件,删除其中一个 即可! 关于“linker command failed with exit code 1 (use -vto see invocation)”这种问题的解决办法,有很多,归纳的也很全面! 总结:1...原创 2016-08-31 10:33:12 · 1098 阅读 · 0 评论 -
Assigning to ‘APPDelegate’ from incompatible type ‘id<UIApplicationDelegate> _Nullable’
问题:开发中遇到警告:“assigning to ‘app delegate’ from incompatible type ‘id<uiapplicationdelegate> _nullable’”方法:类型强转原创 2016-08-31 09:38:42 · 1834 阅读 · 0 评论 -
Quartz2D(一)
代码都在自定义customView1 的 "- (void)drawRect:(CGRect)rect"方法中进行.下面就直接贴代码:step1:初始化创建自定义的view,用于展示.#import "ViewController.h"#import "customView1.h"@interface ViewControll原创 2016-08-02 17:47:27 · 403 阅读 · 0 评论 -
应用沙河路径下都有啥么?
应用沙河文件里面都有啥?目的:帮助初学者,更好理解和利用沙河进行开发。任务:找到通过代码写入数据的“advList.plist”文件。NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) l原创 2016-07-21 10:17:21 · 880 阅读 · 0 评论 -
动态语言和静态语言两者的区别
静态语言:静态语言在程序运行前会进行类型判断,类的成员,方法都会在编译阶段确定好内存地址.类成员只能访问属于自己的方法和变量,因此,静态语言的结构更加规范,便于调试,且可以进行多样化的性能优化.常见的静态语言有Java/c++/c动态语言:大部分的判断工作被推迟到运行时进行,类的成员变量,方法地址都在运行时确认.可以在运行时添加类成员,方法等.具有较高的灵活性,便于阅读,但方法原创 2016-05-24 11:38:48 · 808 阅读 · 0 评论 -
iOS 版本更新提示
在#import "AppDelegate.h"文件中的application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法中调用检测结果 获得发布版本的Version比较转载 2015-12-03 13:37:59 · 530 阅读 · 0 评论 -
NSException ... @try @catch @finally (异常处理)
NSException情景Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ’ -[__NSArrayM insertObject:atIndex:]: object cannot be nil’ * First throw call stack:…(省略)上面这端打印信...原创 2018-04-27 18:36:25 · 393 阅读 · 0 评论