iOS开发
Urnotlmm
这个作者很懒,什么都没留下…
展开
-
application loader上传成功,但是iTunes Connect不显示构建版本
application loader上传成功,但是iTunes Connect不显示构建版本,如图:今天遇到这个问题了,我也是很茫然!把今天的遭遇和大家聊聊!一般出现这问题是二进制文件被拒了:1.显示上传成功其实被拒绝了,尝试重新上传一个build版本,但是build版本一定要比之前上传的高;2.上传成功,iTunes Connect不显示构建本版,但是你的开发者账号注册邮箱会原创 2017-03-13 22:26:38 · 14139 阅读 · 1 评论 -
ios TestFlight的使用
苹果整合了在TestFlight在iTunes Connect中,方便我们测试。一起来看看怎么使用吧。原创 2017-10-31 17:04:19 · 1388 阅读 · 0 评论 -
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 · 428 阅读 · 0 评论 -
在iOS APP发起H5微信支付
场景介绍 H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起微信客户端进行支付。 主要用于触屏版的手机浏览器请求微信支付的场景。可以方便的从外部浏览器唤起微信支付。 提醒:H5支付不建议在APP端使用,如需要在APP中使用微信支付,请接APP支付。这个场景介绍来自微信H5支付的开发文档,说建议不要在APP端使用H5支付,但是原创 2018-01-11 14:42:13 · 11782 阅读 · 0 评论 -
iOS开发小技巧-PCH文件使用
PCH头文件的内容能被项目中的其他所有源文件共享和访问。是一个预编译文件。PCH文件简化了我们使用OC开发时的文件引用工作(为什么说是OC开发,因为Swift不存在引用问题,可直接使用其他类的方法属性),PCH文件将一些在工程中引用次数较多的类放在这里面引用,将头文件包含在这个文件下,这样编译器会自动把PCH文件中的头文件,添加到所有源文件中去,这样工程下的其它文件都可以使用这些类了。Xcode6原创 2018-01-23 10:00:08 · 387 阅读 · 0 评论 -
iOS混淆
最近发现了苹果审核对于该方法的混淆包给予拒绝通过,解释原因苹果自己有自己的加密方法去保证安全性,防止反编译不需要你去做混淆。我猜测和最近严打马甲包也有关吧。 回顾一下混淆方法,这个方法和脚本出自念茜。 1、新建confuse.sh和func.list文件 confuse.sh就是脚本文件,将需要混淆的属性名和方法名用随机字符串替换。 func.list文件用来罗列我们的需要进行混淆的方法和原创 2018-01-23 10:26:33 · 4827 阅读 · 1 评论 -
编译报错汇总
.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 · 490 阅读 · 0 评论 -
iOS开发小技巧-通过附加进程进行Debug调试
在iOS开发过程中,有的时候我们需要在后台将进程关闭之后,再次打开,进行调试测试,这时候Xcode和应用程序的连接会断开,我们无法断点到需要测试的位置。此时,Xcode提供了附加进程的方式,通过PID或者应用项目名去连接检测这个应用进程的变化。如图: 通过Xcode运行程序的时候会在Attach to Process出现改应用对应的PID,或者你直接使用项目名也可以。这样就可以完成在关闭原创 2018-01-25 11:28:47 · 3422 阅读 · 0 评论 -
iOS APP间的进程通信之URL Schemes
很多时候我们需要从一个App跳转到另一个App完成操作,比如:在淘宝中下单购物,选择微信支付后跳转到微信完成支付。通常我们使用URL Schemes来完成这个动作,首先进程给自己定义一些scheme,表示其它进程可以通过该scheme调用自己。这个scheme就相当于一个进程协议,比如进程A给自己定义的scheme为aaaa,那么其它应用可以通过 aaaa:自定义参数 这样的格式,使用openURL原创 2018-01-09 11:26:02 · 705 阅读 · 0 评论 -
iOS调用系统的设置界面
在开发过程,我们希望访问系统的设置界面让用户去修改某些权限。比如:用户不允许发送通知时候,我们有精彩内容推荐检测到用户关闭了通知,我们可以友好的提示用户该项权限关闭,希望跳转至用户设置界面进行修改。网上很多写法是: 1、设置scheme:prefs 2、通过openUrl方法调用:prefres:root=“某项服务”&path=“具体选项路径”这样的格式去调用相关设置选项。...原创 2018-02-09 10:44:49 · 2854 阅读 · 0 评论 -
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 · 4586 阅读 · 0 评论 -
关于Git的总结
git很很好的分布式版本控制工具,在实际开发中经常使用。 一般我们在master主分支上进行开发工作,但是某些产品版本发布后我们生成新的版本分支去记录或者保存该发布版本的数据,然后继续在master上进行开发提交,有新的提交推送时,git机制调整master指针和head指针的指向,指向最后一个末端提交推送的数据,这样master这条线就会持续进行下去(你可以把它想象成是一个链表)。 言归正传...原创 2018-07-18 14:31:07 · 242 阅读 · 0 评论 -
macOS系统下的文件夹加密
1.新建文件夹加密,然后需要加密的文件放在该文件夹下。2.将现有的文件进行加密原创 2017-09-27 14:56:22 · 950 阅读 · 0 评论 -
iOS关于APP转让
今天遇到了需要对APP进行转让的问题,现在记录一下过程。首先进入当前账号下的iTunes Connect 后台,点击app信息,然后查看是否符合装让条件如图:不符合条件的解决办法参考如下:http://www.jianshu.com/p/47733b858284 谢谢笔者timelyRain。符合条件之后点击完成,开始转让,填写新的账号和团队ID,如图:原创 2017-10-10 13:54:21 · 520 阅读 · 0 评论 -
Podfile中多个target引用部分相同pod库的编写问题
今天和大家分享一个小技巧,很多时候我们在开发的过程中都会遇到这样的情况:同一个工程项目中我们新建了多个target,方便用一套代码根据不同的场景提供不同的功能或呈现不同的资源文件。常常各个target会有不同三方sdk导入,但大多数情况每个target导入的sdk,当我们使用cocoapods去导入三方sdks时,如:xcodeproj'Demo.xcodeproj'p原创 2017-05-10 22:19:19 · 2055 阅读 · 0 评论 -
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 · 5349 阅读 · 0 评论 -
上传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 · 658 阅读 · 0 评论 -
ios开发-StoryBoard 添加Entry point
一般情况我们新建项目之后,点开Main.storyBoard,发现已经设置了程序的入口,如图:但是我们通常我们在使用storyBoard时,需要修改程序入口怎么设置?点击选中到你想作为入口的控制器,在右侧菜单栏中勾选View Controller中的Is Initial View Controller属性,如图:这样就更新Entry Point。原创 2017-08-24 16:46:30 · 988 阅读 · 0 评论 -
为什么声明NSString属性时,一般使用Copy?
当突然有人会告诉我NSString的属性关键字其实应该写成copy,当时我就懵逼了,难道不是一般都写成strong吗?写了这么久的strong没发现有什么问题啊?今天我们来看看copy,这个关键词。在举例说明之前,我们先来明确一个东西,便于理解。NSString *str = @“123”;中的str是什么?是指针,一个指向对象的指针。指针和对象都是内存块,一个大,一个小,一个在栈中,原创 2017-06-28 20:53:07 · 422 阅读 · 0 评论 -
单例模式的理解
单例,是Cocoa的核心模式之一,我们经常使用到,比如UIApplication , NSFileManger。单例模式:一个类只有一个实例化对象,只提供一个全局访问点。全局只有一个实例,只从一个地方访问,使用起来就非常的简单方便,保证了访问点的唯一性和一致性,很容易为人熟知。但是单例是没有从属的,自己管理自己的生命周期,等同于程序的生命周期,在程序运行过程中一直存在。这样说来的话,就有一原创 2017-06-05 14:12:30 · 435 阅读 · 0 评论 -
梳理一下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 · 248 阅读 · 0 评论 -
网易面试题引发的思考
题目:下面代码会发生什么问题?@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 · 354 阅读 · 0 评论 -
Xcode9更新那些事儿
2017-09-19 App Store发布了新版本的Xcode 9,我们来一起看看有什么变化。1、模拟器可以开多个模拟器,在不同不模拟器运行同一个程序,方便我们适配。对于不同平台环境的app,做相应测试。选中模拟器选择Hardware->Device->点击选择不同的模拟器,如图:这么我们就同时打开了四个模拟器。怎么关闭模拟器啊?选中要关闭的模拟器,cmd+w。也原创 2017-10-16 14:13:52 · 1710 阅读 · 0 评论 -
iOS官方文档中的宏定义
我们在阅读官方API时,常常会发现很多属性和方法后面会有一个宏定义在,如图: NS_AVAILABLE_IOS和NS_DEPRECATED_IOS比较常见,deprecated:弃用的,available:有效的,也就是说一个代表在什么时候有效的,另一个代表在什么时候弃用的。我们来看看这些宏定义,如下: NS_AVAILABLE_IOS(5_0) 表示这个方法可以iOS5.0之后被引入,如原创 2017-10-27 15:54:05 · 479 阅读 · 0 评论 -
ios关于APP的删除
很多时候我们想要删除iTunes Connect上的应用,下面介绍一下删除方法。首先有两种情况:1.未上架的应用没有上架过的app是不能删除的,等180天,自动删除。(但是我的一个应用等待到了180天也没有见自动删除,希望有知道评论一下)。这种情况,如果你还没有提交过任何构建版本,这个时候你可以直接修改APP名称和套装ID,直接替换成另一个需要开发的APP,这样就不需要去删除了。如图:原创 2017-10-11 13:47:44 · 3175 阅读 · 0 评论 -
iOS开发小技巧-异常处理/退出程序/状态栏设置
【iOS的异常处理机制:@try、@catch、@finally】 try捕获异常,catch抛出异常并处理,finally是无论有没有异常都可以需要执行的代码。@try {} @catch (NSException *exception) {} @finally {}实际开发中苹果推荐使用NSError来处理程序运行中可恢复的错误,异常呗推荐用来处理不可恢复的错误,但是尽量...原创 2018-08-13 15:23:05 · 344 阅读 · 0 评论