自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Urnotlmm的专栏

好记性不如烂笔头

  • 博客(27)
  • 收藏
  • 关注

原创 Swfit中的访问权限控制

Swfit 3.0新增了两个访问修饰符分别是open、fileprivate,对之前的private和public进行了细分。因为swfit的访问控制是基于文件的,但是我们在实际开发中,需要更清晰的知道我在类和文件中的权限。至此swfit中的访问权限控制修饰符一共五个了,按照访问权限一次为:open、public、internal、fileprivate、private。private:访问权...

2018-08-15 17:08:30 195

原创 iOS开发小技巧-异常处理/退出程序/状态栏设置

【iOS的异常处理机制:@try、@catch、@finally】 try捕获异常,catch抛出异常并处理,finally是无论有没有异常都可以需要执行的代码。@try {} @catch (NSException *exception) {} @finally {}实际开发中苹果推荐使用NSError来处理程序运行中可恢复的错误,异常呗推荐用来处理不可恢复的错误,但是尽量...

2018-08-13 15:23:05 290

原创 关于Git的总结

git很很好的分布式版本控制工具,在实际开发中经常使用。 一般我们在master主分支上进行开发工作,但是某些产品版本发布后我们生成新的版本分支去记录或者保存该发布版本的数据,然后继续在master上进行开发提交,有新的提交推送时,git机制调整master指针和head指针的指向,指向最后一个末端提交推送的数据,这样master这条线就会持续进行下去(你可以把它想象成是一个链表)。 言归正传...

2018-07-18 14:31:07 219

转载 iOS获取设备唯一标识的各种方法?IDFA、IDFV、UDID分别是什么含义?

[摘要:1、UDID (Unique Device Identifier) UDID的齐称是Unique Device Identifier,望文生义,它便是苹果IOS装备的独一辨认码,它由40个字符的字母战数字构成。正在良多须要限定] 一、UDID (Unique Device Identifier)UDID的全称是Unique Device Identifier,顾名思义,它就是苹果I...

2018-04-02 15:42:00 4423

原创 iOS调用系统的设置界面

在开发过程,我们希望访问系统的设置界面让用户去修改某些权限。比如:用户不允许发送通知时候,我们有精彩内容推荐检测到用户关闭了通知,我们可以友好的提示用户该项权限关闭,希望跳转至用户设置界面进行修改。网上很多写法是: 1、设置scheme:prefs 2、通过openUrl方法调用:prefres:root=“某项服务”&path=“具体选项路径”这样的格式去调用相关设置选项。...

2018-02-09 10:44:49 2782

原创 iOS开发小技巧-通过附加进程进行Debug调试

在iOS开发过程中,有的时候我们需要在后台将进程关闭之后,再次打开,进行调试测试,这时候Xcode和应用程序的连接会断开,我们无法断点到需要测试的位置。此时,Xcode提供了附加进程的方式,通过PID或者应用项目名去连接检测这个应用进程的变化。如图: 通过Xcode运行程序的时候会在Attach to Process出现改应用对应的PID,或者你直接使用项目名也可以。这样就可以完成在关闭

2018-01-25 11:28:47 3237

原创 iOS混淆

最近发现了苹果审核对于该方法的混淆包给予拒绝通过,解释原因苹果自己有自己的加密方法去保证安全性,防止反编译不需要你去做混淆。我猜测和最近严打马甲包也有关吧。 回顾一下混淆方法,这个方法和脚本出自念茜。 1、新建confuse.sh和func.list文件 confuse.sh就是脚本文件,将需要混淆的属性名和方法名用随机字符串替换。 func.list文件用来罗列我们的需要进行混淆的方法和

2018-01-23 10:26:33 4748 1

原创 iOS开发小技巧-PCH文件使用

PCH头文件的内容能被项目中的其他所有源文件共享和访问。是一个预编译文件。PCH文件简化了我们使用OC开发时的文件引用工作(为什么说是OC开发,因为Swift不存在引用问题,可直接使用其他类的方法属性),PCH文件将一些在工程中引用次数较多的类放在这里面引用,将头文件包含在这个文件下,这样编译器会自动把PCH文件中的头文件,添加到所有源文件中去,这样工程下的其它文件都可以使用这些类了。Xcode6

2018-01-23 10:00:08 366

原创 编译报错汇总

.entitlements文件is not found因为我修改了这个文件的名称,报错无法找到该文件,但是该文件缺失存在磁盘里。后来我发现,这个文件是项目自动生成的文件,必须放在项目文件的根目录下,不能随便移动。 解决办法: Please make sure that he in the root directoryXcode编译报错XCTest/XCTest.h file not f

2018-01-16 14:37:06 398

原创 在iOS APP发起H5微信支付

场景介绍 H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起微信客户端进行支付。 主要用于触屏版的手机浏览器请求微信支付的场景。可以方便的从外部浏览器唤起微信支付。 提醒:H5支付不建议在APP端使用,如需要在APP中使用微信支付,请接APP支付。这个场景介绍来自微信H5支付的开发文档,说建议不要在APP端使用H5支付,但是

2018-01-11 14:42:13 11673

原创 iOS APP间的进程通信之URL Schemes

很多时候我们需要从一个App跳转到另一个App完成操作,比如:在淘宝中下单购物,选择微信支付后跳转到微信完成支付。通常我们使用URL Schemes来完成这个动作,首先进程给自己定义一些scheme,表示其它进程可以通过该scheme调用自己。这个scheme就相当于一个进程协议,比如进程A给自己定义的scheme为aaaa,那么其它应用可以通过 aaaa:自定义参数 这样的格式,使用openURL

2018-01-09 11:26:02 644

原创 iOS :undefined symbols for architecture x86_64的延伸

在开发中,有时候会出现undefined symbols for architecture x86_64的情况,发生如下错误有两种情况: 1、你工程中需要的库文件没有引用,在工程的Targets的Build Phases中Link Binary With Libraries去引用缺失的库。 2、你自己写的类没有加入到Compile Sources,引用你的类.m文件进去就好。

2017-11-27 21:37:48 345

原创 ios TestFlight的使用

苹果整合了在TestFlight在iTunes Connect中,方便我们测试。一起来看看怎么使用吧。

2017-10-31 17:04:19 1315

原创 iOS官方文档中的宏定义

我们在阅读官方API时,常常会发现很多属性和方法后面会有一个宏定义在,如图: NS_AVAILABLE_IOS和NS_DEPRECATED_IOS比较常见,deprecated:弃用的,available:有效的,也就是说一个代表在什么时候有效的,另一个代表在什么时候弃用的。我们来看看这些宏定义,如下: NS_AVAILABLE_IOS(5_0) 表示这个方法可以iOS5.0之后被引入,如

2017-10-27 15:54:05 450

原创 Xcode9更新那些事儿

2017-09-19 App Store发布了新版本的Xcode 9,我们来一起看看有什么变化。1、模拟器可以开多个模拟器,在不同不模拟器运行同一个程序,方便我们适配。对于不同平台环境的app,做相应测试。选中模拟器选择Hardware->Device->点击选择不同的模拟器,如图:这么我们就同时打开了四个模拟器。怎么关闭模拟器啊?选中要关闭的模拟器,cmd+w。也

2017-10-16 14:13:52 1658

原创 ios关于APP的删除

很多时候我们想要删除iTunes Connect上的应用,下面介绍一下删除方法。首先有两种情况:1.未上架的应用没有上架过的app是不能删除的,等180天,自动删除。(但是我的一个应用等待到了180天也没有见自动删除,希望有知道评论一下)。这种情况,如果你还没有提交过任何构建版本,这个时候你可以直接修改APP名称和套装ID,直接替换成另一个需要开发的APP,这样就不需要去删除了。如图:

2017-10-11 13:47:44 3009

原创 iOS关于APP转让

今天遇到了需要对APP进行转让的问题,现在记录一下过程。首先进入当前账号下的iTunes Connect 后台,点击app信息,然后查看是否符合装让条件如图:不符合条件的解决办法参考如下:http://www.jianshu.com/p/47733b858284  谢谢笔者timelyRain。符合条件之后点击完成,开始转让,填写新的账号和团队ID,如图:

2017-10-10 13:54:21 433

原创 macOS系统下的文件夹加密

1.新建文件夹加密,然后需要加密的文件放在该文件夹下。2.将现有的文件进行加密

2017-09-27 14:56:22 895

原创 网易面试题引发的思考

题目:下面代码会发生什么问题?@property (nonatomic, strong) NSString *target;//....dispatch_queue_t queue = dispatch_queue_create("parallel", DISPATCH_QUEUE_CONCURRENT);for (int i = 0; i     dispat

2017-09-27 14:40:07 322

原创 ios开发-StoryBoard 添加Entry point

一般情况我们新建项目之后,点开Main.storyBoard,发现已经设置了程序的入口,如图:但是我们通常我们在使用storyBoard时,需要修改程序入口怎么设置?点击选中到你想作为入口的控制器,在右侧菜单栏中勾选View Controller中的Is Initial View Controller属性,如图:这样就更新Entry Point。

2017-08-24 16:46:30 919

原创 为什么声明NSString属性时,一般使用Copy?

当突然有人会告诉我NSString的属性关键字其实应该写成copy,当时我就懵逼了,难道不是一般都写成strong吗?写了这么久的strong没发现有什么问题啊?今天我们来看看copy,这个关键词。在举例说明之前,我们先来明确一个东西,便于理解。NSString *str = @“123”;中的str是什么?是指针,一个指向对象的指针。指针和对象都是内存块,一个大,一个小,一个在栈中,

2017-06-28 20:53:07 370

原创 上传APP错误ERROR ITMS-4238

在上传APP到store时遇到错误:ERROR ITMS-4238: "Redundant Binary Upload. There already exists a binary upload with build version '1' for train '1.1'" at SoftwareAssets/PreReleaseSoftwareAsset这种情况一般都是当前上传的版本已经

2017-06-13 10:35:40 610

原创 梳理一下ios开发的环境、工具、框架

Cocoa是在Mac OS X系统原生的一个编译环境。包含两个框架,其实就是一系列的类库,Foundation和AppKit。Cocoa Touch 是Cocoa的一个子类,用于在iPhone等掌上设备。由Foundation和UIKit构成,掌上设备的特殊图形化设计,UIKit提供界面支持。Cocoa和Cocoa Touch区别在于,Cocoa Touch不支持垃圾回收机

2017-06-06 23:19:45 228

原创 单例模式的理解

单例,是Cocoa的核心模式之一,我们经常使用到,比如UIApplication , NSFileManger。单例模式:一个类只有一个实例化对象,只提供一个全局访问点。全局只有一个实例,只从一个地方访问,使用起来就非常的简单方便,保证了访问点的唯一性和一致性,很容易为人熟知。但是单例是没有从属的,自己管理自己的生命周期,等同于程序的生命周期,在程序运行过程中一直存在。这样说来的话,就有一

2017-06-05 14:12:30 414

原创 CocoaPods中pod search失效解决办法

在开发时,我们使用cocoapods来集成三方SDK,避免依赖库的引入和管理,简化集成。但是我们在使用的过程会遇到不少坑爹的问题,今天和大家分享一下pod search 搜索失败的解决办法。在执行 pod search AFNetwroking时,出现如下情况:Unable to find a pod with name, author, summary, or description mat

2017-05-17 16:53:30 5278

原创 Podfile中多个target引用部分相同pod库的编写问题

今天和大家分享一个小技巧,很多时候我们在开发的过程中都会遇到这样的情况:同一个工程项目中我们新建了多个target,方便用一套代码根据不同的场景提供不同的功能或呈现不同的资源文件。常常各个target会有不同三方sdk导入,但大多数情况每个target导入的sdk,当我们使用cocoapods去导入三方sdks时,如:xcodeproj'Demo.xcodeproj'p

2017-05-10 22:19:19 1958

原创 application loader上传成功,但是iTunes Connect不显示构建版本

application loader上传成功,但是iTunes Connect不显示构建版本,如图:今天遇到这个问题了,我也是很茫然!把今天的遭遇和大家聊聊!一般出现这问题是二进制文件被拒了:1.显示上传成功其实被拒绝了,尝试重新上传一个build版本,但是build版本一定要比之前上传的高;2.上传成功,iTunes Connect不显示构建本版,但是你的开发者账号注册邮箱会

2017-03-13 22:26:38 14056 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除