
移动开发
文章平均质量分 89
南山锄头
iOS开发工程师
展开
-
iOS 主题色切换(附上源码)
前言前段时间有项目要求切换主题色,简单做了个Demo试了下还行,需要手动改下颜色配置,图片设置两份,代码在设置颜色的时候使用自定义的颜色宏定义,即可实现主题色切换,有兴趣的可以看下1.ThemeManger对象来管理颜色,设置两种不同的主题2.在AppDelegate中读取配置的主题色设置3.主题色按钮一键切换附上源码 Demo...原创 2020-10-07 10:59:33 · 730 阅读 · 0 评论 -
iOS 推送语音播报(类似支付宝微信的收款提醒)
项目需求:近期项目有个需求,实现类似支付宝微信收款后的语音播报如:支付宝到账xx元。要求是APP在前台运行、锁屏、杀死进程后都会有语音播报。预想方案:1.通过UIBackgroundTaskIdentifier不断向程序索要处理时间(这种方案不知道以前可行,现在好像是最多只能保持3分钟的时间,一般30s左右)-fail2.后台播放无声音,保持APP一直运行,但是上架APPStore一般不是音乐类的都无法过审--fail因此,我们现在选择了远程推送实现需求:3.通过远程推送,在i.原创 2020-09-30 12:26:13 · 6266 阅读 · 2 评论 -
iOS画三角形
由于项目要用到三角形图片,但是又不找不到合适图片,就自己画了个三角形基本代码比较简单,连线画图形,然后填充颜色就可以:核心代码:- (void)drawRect:(CGRect)rect{ CGContextRef context = UIGraphicsGetCurrentContext(); CGContextBeginPath(context);//标记 ...原创 2020-10-07 14:50:00 · 1304 阅读 · 0 评论 -
iOS 腾讯云移动直播SDK对接(一)
在考虑自己的需求是不是合适腾讯直播的时候,可以先注册一个腾讯云账号,在腾讯云产品中选择云直播,开通服务并进入云直播产品控制台,新用户免费赠送20G的测试流量,可以让你测试是否适合使用.正式使用流程:1.注册腾讯云账号:https://cloud.tencent.com/register?s_url=https%3A%2F%2Fcloud.tencent.com%2Fdocument%2...原创 2020-03-14 15:49:31 · 3044 阅读 · 0 评论 -
iOS Permission denied错误
Pods-xxx-frameworks.sh: Permission denied错误的解决方案复制的项目,有pod在编译加载时会出现错误自己的Pods存放目录/Pods/Target Support Files/Pods/Pods-xxx(自己项目的).sh: Permission denied该错误是由访问权限引起,解决方案是进入Pods/Target Support File...原创 2020-01-11 15:11:54 · 2379 阅读 · 0 评论 -
fatal: Authentication failed for ‘http://XXXX.git/‘--- sourcetree
sourcetree提交或拉取代码时报错,fatal: Authentication failed for 'http://XXXX.git/'一般是密码错误了。或者秘钥过期,重置下账号密码就行了解决方法如下:在钥匙串里面搜索sourcetree,找到对应的账号数据后,直接删除。下次再拉取的时候,sourceetree会提示重新输入密码,输入即可!...原创 2019-12-17 13:46:14 · 1242 阅读 · 0 评论 -
library not found for -lprotobuf
关于xcode10.2或者11.2 libprotobuf.thd库丢失问题今天升级到了xcode10.2,直接运行项目,发现项目一直报错 报错信息如下 ld: library not found for -lprotobuf我以为是protobuf的问题,然后下载了protobuf但是没用我对项目进行了podinstall,也search的最新版本,但是都没用最后全局搜索了...原创 2019-12-13 11:07:34 · 788 阅读 · 0 评论 -
iOS自定义UIDatepicker日期选择器视图
由于项目需要,需要定制一个日期选择器,找了半天没找到合适的就自己写了个demo;自定义UIDatePicker日期选择器视图 效果如下:下面贴上相关代码:ViewController:#import "ViewController.h"#import "DatePicker.h"@interface ViewController ()@end@imple原创 2017-01-03 14:59:52 · 6749 阅读 · 0 评论 -
提升自己逼格的编程之美之代码规范
头文件#import的顺序(商量)写法模板#import #import #import “其他类”尽量按照先系统类 第三方类 自己写的类顺序导入 中间不能有空格建议的写法 不建议的写法@Class的写法写法模板:@class class1, class2;建议的写法 不建议转载 2017-01-05 11:26:58 · 1459 阅读 · 1 评论 -
iOS UITextField实现输入手机号时自动添加空格
背景为了优化用户体验,我们往往会在让用户输入手机号码时添加空格,比如:151 6558 1234.那么在iOS中如何实现呢?实现方法iOS中的输入框给UITextField添加UIControlEventEditingChanged事件 ,该方法实现输入框文字变动时的监听:textFieldDidEditing:.DEMO NSInteger i;- (voi原创 2016-12-09 16:49:09 · 10025 阅读 · 0 评论 -
Xcode8打印log信息
升级Xcode8之后,会打印一些烦人的Log信息,隐藏不需要的Xcode8日志,解决的办法:就是设置 OS_ACTIVITY_MODE = disable,详细请看 点击打开链接 。这样做在模拟器上是正常的,但是iOS10真机测试所有的Log日志全部被屏蔽了!这不是之前设置导致的,而是iOS10为了在真机上提高性能,所以把Log日志给屏蔽了。Xcode8 真机调试测试N原创 2016-12-29 11:58:16 · 1093 阅读 · 0 评论 -
3分钟实现iOS语言本地化/国际化(图文详解)
前言语言本地化,又叫做语言国际化。是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言。往往一些应用程序需要提供给多个国家的人群使用,或者一个国家有多种语言,这就要求应用程序所展示的文字、图片等信息,能够让讲不同语言的用户读懂、看懂。进而提出为同一个应用程序适配多种语言,也即是国际化。语言国际化之所以又叫做语言本地化,这是站在每个用户的角度而言的,是指能够原创 2017-02-07 15:57:58 · 409 阅读 · 0 评论 -
Xcode原生项目集成Unity导出的工程
注:成功的前提:Unity导出的Xcode工程可以编译。1、 创建好工程之后,将Unity导出的Xcode工程的以下文件夹复制到我们新建的工程中。Unity导出: 新建工程:复制到我们新建的工程中(Command + C,Command + V)2、 搜索Class/Native目录下的所有.h文件,如下图之后新建一个文件夹,随便起原创 2017-06-07 11:38:55 · 1915 阅读 · 2 评论 -
聚合数据---(手机充值)iOS SDK V2.0 简易开发指南
https://www.juhe.cn/juhesdk/idocs/v/2iOS SDK V2.0 简易开发指南该文档仅适用于iOS版本聚合数据SDK V2.0+,此版本调整了SDK整体结构与V1.0有较大差异,增加调用的灵活性,与便捷。改变聚合数据SDK的接入方式,下面是简易的开发流程说明。详细问题您可以通过 相关下载 下载相应的文档、示例包、SDK。一、SDK导入将Juhe转载 2016-12-09 16:36:23 · 1129 阅读 · 0 评论 -
iOS引导页
每个客户端都会有自己的引导页,启动app时,通过引导页简单介绍客户端的个性化功能。好了废话不多说,直接上代码:AppDelegate.h文件:#import "AppDelegate.h"#import "GuideVC.h"#import "ViewController.h"@interface AppDelegate ()@end@implem原创 2016-11-22 08:52:23 · 734 阅读 · 0 评论 -
iOS之小技巧总结,绝对有你想要的
在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新。UITableView的Group样式下顶部空白处理//分组列表头部空白处理UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 0.1)];self.tableView.tableHeaderView = view;UITable转载 2016-11-22 08:40:22 · 560 阅读 · 0 评论 -
支付宝支付——统一wap和支付宝钱包回调
一、前言用过支付宝支付的都知道,支付宝支付有两个回调,一个是wap支付回调,一个是支付宝钱包回调,简单来说就是,一个是有支付宝app的回调,一个是没有安装支付宝的回调/** * 处理钱包或者独立快捷app支付跳回商户app携带的支付结果Url * * @param resultUrl 支付结果url * @param completionBlock转载 2016-12-02 13:48:51 · 1238 阅读 · 0 评论 -
iOS10推送必看UNNotificationAttachment以及UNTimeIntervalNotificationTrigger
虽然这篇文章比较长,也不好理解,但是还是建议大家收藏,以后用到的时候,可以看看,有耐心的还是读一读。这篇文章开始,我会跟大家好好讲讲,苹果新发布的iOS10的所有通知类。一、创建本地通知事例详解:注意啊,小伙伴们,本地通知也必须在appdelegate中注册中心,通知的开关打不打开无所谓的,毕竟是本地通知,但是通知的接收的代理,以及通知点击的代理,苹果给合二为一了。所以大家还是转载 2016-10-17 16:30:58 · 4345 阅读 · 0 评论 -
iOS开发 iOS10推送必看(基础篇)
iOS10更新之后,推送也是做了一些小小的修改,下面我就给大家仔细说说。希望看完我的这篇文章,对大家有所帮助。一、简单入门篇---看完就可以简单适配完了相对简单的推送证书以及环境的问题,我就不在这里讲啦,我在这里说的,是指原有工程的适配。1.首先我们需要打开下面的开关。所有的推送平台,不管是极光还是什么的,要想收到推送,这个是必须打开的哟~QQ20160914-4.转载 2016-10-17 16:29:16 · 1048 阅读 · 0 评论 -
iOS 隐藏status bar(状态栏/电池条)的详细研究
今天隐藏做项目,横屏时隐藏电池条发现隐藏失败,查了半天资料,总结如下:若info.plist文件中,View controller-based status bar appearance项设为YES,则View controller对status bar的设置优先级高于application的设置。为NO则以application的设置为准,view c原创 2016-09-21 21:03:54 · 6713 阅读 · 0 评论 -
Xcode下的DerivedData文件
提交SVN的时候发现有个文件夹:DerivedData,占了很大一部分空间,查了一下发现是Xcode的缓存文件,如果你很久没有删除Xcode的缓存文件,由于你每天要运行新的Xcode文件,占了很大的内存空间,那么你的硬盘空间会越来越小,位于/Users/jssj/Library/Developer/Xcode/DerivedData下的缓存文件占了很大的内存空间,可以删除;原创 2016-09-20 23:32:12 · 7315 阅读 · 0 评论 -
对iOS10新增Api的详细探究
对iOS10新增Api的详细探究原文链接:http://www.cnblogs.com/dsxniubility/p/5596973.html本文主要是一些对iOS新功能的探索,之前发现博客里关于iOS新功能的分析大多是过于概括,每个功能几句话,无法了解到具体的功能。所以本次的探索是基于Api层面,着重看一些具体用法所做的笔记,本来想分别画个类图来着,后来还是觉得太耗时而放转载 2016-09-19 16:19:23 · 1697 阅读 · 0 评论 -
Xcode 运行程序,memory 不显示内存
运行程序后,xcode 不显示当前使用的内存情况,问题是打开了僵尸--enable zoombie Objects,关闭即可打开 product--->SCheme-->EditSCheme -->enable zoombie Objects 取消选中 ok就可以继续显示了;如果打开了ARC或垃圾回收模式,在程序中发消息给已经释放的对象,将会引起程序崩溃。这时定位原创 2017-06-09 09:42:09 · 3304 阅读 · 0 评论 -
Unity与iOS交互
Unity与iOS相互调起、交互上一篇我们已经实现了将Unity导出的工程集成到原生iOS项目中,接下来我们来实现Native与Unity相互切换、调起。需要注意的是,Unity一旦初始化,是不能关闭的,否则App直接就会被关闭。所以,一旦调起Unity,内存就不会降下来了。第一次启动会比较慢,之后就很快了。另外,集成Unity之后,就只能真机运行了,所以,要准备好证书,以免不必要原创 2017-06-07 11:37:05 · 2054 阅读 · 0 评论 -
iOS 调整UITableViewCell中的imageView 的图片大小
当我们在iOS中实现带图片带列表显示时UITableViewCell中自带了一个存放图片的控件UIImageView,当我们获取的图片大小一致时,图片能够很整齐大显示,可是有些时候我们获取的列表图片的大小并不完全一致,为了保证界面的美观我们必须调整图片大小或位置,可是当我们在定义好的UITableViewCell对象中设置cell.imageView.bounds、cell.imageView.f...原创 2019-01-30 14:50:06 · 2612 阅读 · 2 评论 -
iOS开发调试Reveal使用
Reveal下载地址 当然百度云链接还是有的: https://pan.baidu.com/s/1rqAJFJ4oNMhS31MGd_oKkQ 提取码: azvr 推荐通过Xcode中加断点的方式集成Reveal(小缺陷,当你禁用断点时或者不用Xcode而用Appcode开发时,这个方式是不管用)。 打开您的iOS工程,选择 View → Navigators ...原创 2018-11-30 16:02:36 · 403 阅读 · 0 评论 -
Xcode —— 代码块Code Snippets
在iOS开发过程中,经常会用到一些相似的代码。我们能不能将这些代码保存起来,重复使用呢?回答是可以的。我们来看一下Xcode代码片段——Code Snippets。Xcode的代码片段(Code Snippets)创建自定义的代码片段,当你重用这些代码片段时,会给你带来很大的方便。例:创建一个常见的代码块@property (nonatomic, strong) <#type#...原创 2018-10-10 15:43:16 · 1083 阅读 · 0 评论 -
iOS 获取当前页面控制器
在开发过程中,我们经常需要获取当前 window, rootViewController, 以及当前 ViewController 的需求,来实现跳转或者其他业务需求. 如果 .m 实现不是在当前视视图情况下, 或者在子视图中,我们需要快速的获取到当前控制器,. 我们想要与控制器无耦合的情况下, 想要直接获取到当前控制器, 基本都是通过 rootViewController 来查...原创 2018-09-19 14:51:24 · 3181 阅读 · 0 评论 -
Objc_msgSend提示Too many arguments to function call, expected 0, have 2错误
首先说明下,在Xcode6之前运用objc_msgSend,是有参数提示的。但是从Xcode6之后,苹果不推荐我们使用runtime,所以就取消了参数提示功能。估计是不想让我们过多的了解底层。Xcode6之后我们运用objc_msgSend函数是这样的:从图中很明显可以看出来是没有参数提示的。我们可以通过对Xcode进行配置进行更改。更改如图:按照如上图的方式操作,搜索msg,并把YES改成NO即...原创 2018-04-29 15:43:54 · 3292 阅读 · 0 评论 -
Agreement has been updated--Edit Phone Number最便捷解决办法(不需要安全提示问题和双重认证)
这两天需要提交新版本,于是上到开发者网站,发现Agreement has been updated。按照之前的套路,基本点一下review就完事了。但是这次要更新手机号(不知道要干嘛),只能按照步骤跳到appleid的网站来修改。进入之后发现个严重的问题。。。安全提问的回答忘记了。。。账号申请了好久,之前总以为自己记得,没有保存好(以后切记!!不管什么资料,都要保存一份)其实我们的目的只是要修改账...转载 2018-05-10 15:26:18 · 566 阅读 · 0 评论 -
【iOS】UITableView中section的展开和收起
我们在做项目时,经常遇到UITableView需要展开与收起的情况,类似手机QQ的折叠,而且根据数据的不同判断有多少行需要展开与收起.之前做项目的时候也使用过,最近有时间整理,就把之前是怎么操作的记录下来。首先,我们先说下思路:思路:在写代码的时候我们可以很容易的写出cell和setion。但是系统并没有提供记录section状态的方法或是属性。我们需要点击某个section的原创 2017-10-14 08:44:43 · 3282 阅读 · 0 评论 -
iOS两个 TableView 联动
左右两个 TableView 联动TowTableView.gif小解析,可以先看看后面的!Snip20160821_3.png实现 tableView联动 主要分两种状况点击 左侧 cell 让右侧 tableView 滚到对应位置滑动 右侧 tableView 让左侧 tableView 滚到对应位置1.先实现简单的:点击 左侧 cell 让右侧转载 2017-10-14 08:39:52 · 2651 阅读 · 0 评论 -
iOS导航栏隐藏
简介我们在项目中经常遇到.从二级控制器跳转到不需要导航栏的控制器中,经常用的就是下面第一种做法:第一种做法 -(void)viewWillAppear:(BOOL)animated{ self.navigationController.navigationBarHidden = YES; [super viewWillApp原创 2017-10-12 14:03:27 · 595 阅读 · 0 评论 -
iOS工程师Mac上的必备软件
转自:wythetan前言 iOS工程师一直都是那么的高逼格,用的是Mac电脑,耍的是iPhone手机,哇咔咔~~ 但是,作为一名iOS开发工程师,我们除了高逼格外,还必须是全能的。你不会点UI设计、不会点后台语言、不会点安卓开发...那都是不可能的事情。 好了,今天咱们不是来吹牛逼的。而是给大家添虎翼的。做了iOS开发也有一年多了,懂得了工欲善其转载 2017-09-28 08:03:54 · 759 阅读 · 0 评论 -
iOS - 将Unity导出的Xcode工程导入到另一个Xcode项目, 及常见报错的解决方法
demo下载地址 http://pan.baidu.com/s/1pLcpKpl1.Unity导出工程时设置bundle id要与项目一致2.修改bit code为NO3.删除Main.storyboard,代码设置控制器(方便切换window)4.将Classes,Libraries,MapFileParser.原创 2017-06-14 17:48:59 · 6876 阅读 · 2 评论 -
ios 生成字母加数字的随机数
近期项目第三方登录之后默认创建账号和密码,就用随机数生产,这里只需要传入你需要几位的随机数即可,例如你需要得到8位的随机数,num就传入8好了,废话少说,简单Demo如下:- (NSString *)getRandomStringWithNum:(NSInteger)num{ NSString *string = [[NSString alloc]init];原创 2017-06-27 16:55:53 · 4955 阅读 · 0 评论 -
iOS开发—调用第三方地图导航
目里面要求点击发送的位置, 需要导航, 导航两种实现方式 (集成第三方SDK、URL跳转第三方应用) 项目要求实现直接跳转 所以接下来做的是实现URL跳转第三方地图来导航了项目中实现弹窗让用户输入目的地 ,实现如下的效果思路:把输入的目的地地理编码 获取到的经纬度再调用第三方的导航第三方导航是指以URL跳转的方式(在iOS中就是以URL Scheme的方式),直接跳到原创 2017-06-14 11:47:07 · 2639 阅读 · 0 评论 -
已经上架的app(可供销售)在AppStore上搜不到的解决办法
这两天很是头大, 因为3天前手动发布的app到现在都还没在AppStore上看到,打了无数电话给苹果和发邮件给review团队. 下面说说怎么解决我们在iTunes后台看到是绿灯(可供销售)但是就是在AppStore上搜不到新版本. 1.打电话 4006-701-855, 这是iTunes提供的支持电话,中国时间 9:00-17:00. 2.发邮件给review团队(加急也是在这):原创 2016-05-05 17:44:34 · 20445 阅读 · 1 评论 -
iOS -常用小技巧大杂烩
1. 打印View所有子视图po [[self view]recursiveDescription]2. layoutSubviews调用的调用时机* 当视图第一次显示的时候会被调用* 当这个视图显示到屏幕上了,点击按钮* 添加子视图也会调用这个方法* 当本视图的大小发生改变的时候是会调用的* 当子视图的frame发生改变的时候是会调用的* 当删除子视图的时候是会转载 2016-08-26 09:35:26 · 476 阅读 · 0 评论 -
Masonry介绍与使用实践:快速上手Autolayout
前言1MagicNumber -> autoresizingMask -> autolayout以上是纯手写代码所经历的关于页面布局的三个时期在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了在iphone4-iphon转载 2016-08-03 18:04:55 · 505 阅读 · 0 评论