![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS开发
半桶水码农
一个热爱coding的小码农
展开
-
iOS 极光推送、个推等如何测试生产环境是否能收到推送?
解决办法:在打包的时候,把打包类型选为Ad hot ,就可以收到推送了原创 2021-08-20 11:58:21 · 571 阅读 · 0 评论 -
iOS13 不使用暗黑模式
网上google搜到的, 关于"不适配深色模式"的解决办法都是:这是写法确实是效的,但是上传appstore提交审核,会报错App Store Connect Operation Error ERROR ITMS-90785:App Store Connect Operation Error ERROR ITMS-90785: “UIUserInterfaceStyle can’t be ‘UIUserInterfaceStyleLight’. It can only be ‘Light’, ‘Dar原创 2020-07-24 14:59:17 · 1351 阅读 · 2 评论 -
iOS git合并分支解决冲突
引言:有时合并分支后,可能会造成某些工程文件打不开,说明同一个文件被多人修改,造成了git冲突,这种情况就需要解决冲突了,下面以.xcodeproject冲突为例,说明解决过程:1.选中冲突的xcodeproject文件,->右键显示包内容2.双击这个文件,用Xcode打开3.打开之后显示这个样纸4.使用快捷键 cmd + F(搜索),在弹出的搜索框中输<<< 或者 >>> 或者 ====,按"enter"回车键进行搜索。下面是某处的冲突代码截图:原创 2020-07-24 11:18:44 · 1857 阅读 · 0 评论 -
Transporter上传ipa 卡在正在验证 App - 正在通过App Store进行认证
上传卡住的原因:Transporter安装上第一次打开后,会在硬盘目录:/用户/Home目录名/资源库/Caches/com.apple.amp.itmstransporter/目录下下载一些缓存文件,这些缓存文件没有下载完,或者下载失败没下载完时,使用Transporter去提交应用这个页面就会卡住或者这个页面很慢。那么一直更新不成功的话,可以下载这个文件夹直接覆盖自己的原有com.apple.amp.itmstransporter文件夹,如果原本没有也直接复制进去相当于创建了。解决办法:1原创 2020-07-17 17:18:45 · 3458 阅读 · 0 评论 -
使用 fastlane 实现自动化打包及多Target问题出现"Couldn't find specified scheme 'DevTest' "解决办法
安装前的准备工作:1.首先确认是否安装了ruby,终端查看下ruby版本ruby -v2.确认是否安装了Xcode命令行工具,如果没有安装执行安装xcode-select --install安装fastlane1.安装fastlanesudo gem install fastlane2.切换到工程目录初始化fastlane init初始化的过程中会...原创 2018-05-19 18:28:05 · 2653 阅读 · 0 评论 -
iOS11 UISegmentControl同时设置字体大小和颜色不起使用的解决方案
以前设置UISegmentControl字体大小和颜色,代码我是这样写的: //设置正常状态和选中状态下的字体大小 [goodsSementControl setTitleTextAttributes:[NSDictionary dictionaryWithObject:LNLableFont(16.0f) forKey:NSFontAttributeName] forState...原创 2018-04-13 09:36:08 · 1850 阅读 · 0 评论 -
使用charles对iOS Https进行抓包
1.给Mac安装证书。 打开Charles,在菜单help中选择SSL Proxying > Install Charles Root Certificate,Keychain Access(钥匙访问串)被打开,我们可以看到Charles Certificate已经被安装,如图: 2.信任证书 但此时该证书并没有被信任,双击该行弹出证书详情,选择“始终信任”。 3.给手机安装证书原创 2018-01-18 16:05:24 · 1540 阅读 · 0 评论 -
iOS上线审核遇到的坑
第1个坑在app中使用到地图,需要获取用户位置权限,不仅需要在info.plist中配置NSLocationAlwaysUsageDescription和NSLocationWhenInUseDescription,而且这两个内容描述不能为空,一定要说明为啥需要使用用户位置信息,不然的话,100%被拒,因为这个被拒,我真心是想哭了… 第2个坑app中如果出现了软件版本字眼,千万不要让它原创 2018-01-05 10:19:32 · 1777 阅读 · 0 评论 -
iOS json转json字符串 不带空格换行符
1.第一种方式直接采用拼接方式,例:-(NSString *)convertToJsonStr{ int random=arc4random_uniform(100000); NSString *nonce = [NSString stringWithFormat:@"%d",random]; NSString *sign = [NSString stringWithFormat:原创 2018-01-05 10:07:39 · 8376 阅读 · 0 评论 -
iOS审核被拒大全
崩溃和bug当你完成应用开发并准备发布时应该将App提交审核。在提交审核前,要确保已经在设备上对应用程序进行了彻底的测试,修复了所有的bug。断掉的链接应用程序中所有的链接必须是功能性的。对于所有应用程序来说,链接至一个提供最新联系信息的用户支持是必需的。如果你提供了一个可自动更新或免费订阅的链接,再或者你的应用属于儿童类别,那么你必须提供一个链至你的隐私策略的链接。占位符内容...转载 2018-07-06 11:31:04 · 2014 阅读 · 0 评论 -
iOS 使用CocoaAsyncSocket自定义协议的byte方式传输
最近在做项目时,用到socket,推送行情数据,达到数据实时更新的目的。为了节约时间和成本,便使用轮子CocoaAsyncSocket框架,采用TCP连接进行数据传输。和后台约定采用自定义协议,采用byte方式传输,数据格式如下:后台定义的socket包格式如下: 根据后台的要求,必须使用byte进行数据传输,所以必须对int和NSString转换成byte(字节),最后把byte转...原创 2018-08-22 22:08:27 · 2852 阅读 · 3 评论 -
iOS 打包 Export ipa文件 报错 解决办法
The data couldn’t be read because it isn’t in the correct format:然后就去度娘查,结果千遍一律的答案,说什么.plist文件出错了啊。。。比如这篇:什么狗屁国际化,我都没做什么国际化处理好吧。。。还有什么.plist文件错误,什么鬼的。。。坑爹的,百度。。。最后,换了Google,找到了答案:从此和度娘,说拜拜。。。...原创 2018-11-05 15:52:38 · 1871 阅读 · 1 评论 -
"AFNetworking.h" file not found 解决办法
第一步: 打开 Project->Info->Configurations,查看Configurations里面Debug 和Release是否有为None的配置项:如果有,请看第2步: 配置Podfile文件:配置缺少的 target “xxx” do( xxx代表Scheme名)第3步: 更新Cocoapods配置:pod install --verbose --no-r...原创 2018-11-23 17:51:14 · 11238 阅读 · 0 评论 -
iOS 适配iPhoneX上下出现黑色区域
原因: 旧项目中(iPhoneX等新机型还未发布),使用了 LaunchImage作为启动页,而启动页没有iPhone X/XS/XR/X Max图片尺寸,导致出现了有上下黑色区域:解决办法: 在LaunchImage中增加iPhone X/XS/XR/X Max图片尺寸然后设置新的LaunchImage作为启动图,再次运行,显示就正常了:...原创 2019-01-21 10:55:48 · 4558 阅读 · 0 评论 -
iOS LaunchImage启动图尺寸 持续更新
如下表格所示: 系统版本 型号 图片尺寸 倍图 iPhone Portrait iOS 7+ 2X 640 × 960 @2x Retina 4 640 × 1136 @2x iPhone Portrait iOS 8+ Retina HD 5.5″ 1242 × 2208 @3x ...原创 2019-01-21 12:25:56 · 857 阅读 · 0 评论 -
iOS模拟器 定位失败或无法定位
第1步, 检查模拟器是否设置定位位置,选中模拟器,选择"Debug-&gt;Location",查看是否为None选项:如果是,请选择或者输入如果不是"None"选项,还不能定位成功,继续执行第2步进行排查:打开项目,选择"Project–&gt;Scheme–&gt;Edit scheme–&gt;Options–&gt;Core原创 2019-01-28 15:23:09 · 6064 阅读 · 0 评论 -
bugly 上传符号表文件
整了半天,bugly自动上传符号表文件终于配置成功,配置过程,遇到好几个坑,为了避免以后再遇到这样的坑,所以就写了这篇博客把它记录下来。(我使用的是使用脚本自动配置,这样会省去很多麻烦。)第一步:首先下载和解压自动配置符号表工具包: 符号表工具包,然后选择上传方式并配置Xcode的编译执行脚本:没有安装Java运行环境,需要安装Java运行环境:Java Sdk下载 第二步:配置X原创 2016-09-29 11:01:45 · 9776 阅读 · 0 评论 -
Xcode9 归档(Archive)时报unknown error -1=ffffffffffffffff Command /bin/sh failed with exit code
昨天打包时报如下错误:/Users/williesliang/Library/Developer/Xcode/DerivedData/kqzcDriver-bmwtyatjzmirtaaqxslyffbsnhrq/Build/Products/Debug-iphoneos/kqzcDriverTest.app/Frameworks/AFNetworking.framework: unknown er原创 2017-12-18 09:19:51 · 2080 阅读 · 0 评论 -
Cornerstone忽略不必要的文件
在cornerstone偏好设置,把默认设置Use default global ignores 勾掉: 把下面的文本内容粘贴进去,save,设置完成。 .o,.lo,.la,.al,.libs,.so,.so.[0-9],.pyc,.pyo,.rej,~,##,.#,..swp,.DS_Store,xcuserdata,.xcuserdatad,.xcuserstate原创 2016-10-19 15:25:13 · 2429 阅读 · 0 评论 -
高德地图 轨迹纠偏 找不到MATraceManager.h文件
今天在用高德地图的轨迹纠偏时,找不到MATraceManager.h文件,可把我愁死了,老大一直在催项目进度,可想而知: 查看高德sdk,文件导入正确: 可为什么不能使用该类呢?为什么发现不了?原因是,需要单独导入MATraceManager.h文件,然后,再单独导入#import “MATraceManager.h”。就OK了!原创 2016-10-20 21:23:33 · 2003 阅读 · 2 评论 -
iOS开发-集成一网通支付
这两天一直在搞招行的一网通支付,网上的相关资料少之又少。其官方文档也让人只想呵呵。其支付流程: 1)向后台服务器请求支付URL(这里后台返回的是一个表单,通过loadHTMLString方法加载)。 2)使用UIWebView加载后台服务器请求到的URL,然后在webview代理方法- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithR原创 2016-12-22 10:04:03 · 1016 阅读 · 0 评论 -
iOS判断设备WiFi是否打开
最近在做一个打开车类软件,当然打车软件离不开地图了,地图定位基本上都是WiFI+基站,所以把WiFi打开定位会更准备,需要判断wifi开关是否打开。其代码:- (BOOL) isWiFiEnabled { NSCountedSet * cset = [NSCountedSet alloc] init]; struct ifaddrs *interfaces; if( ! ge原创 2017-01-14 11:50:12 · 5450 阅读 · 0 评论 -
iOS开发中的git忽略文件
在合作开发过程,在准备开发前,无论是使用svn还是git,设置忽略文件是非常有必要的,这样可以给后续的省去很多麻烦,在合作开发中,最容易造成代码冲突,设置忽略文件能够尽可能避免的冲突。本文主要列出iOS开发过程中,使用的git的忽略文件.gitignore,具体如何替换git忽略文件.gitignore请自行百度(如果连百度都不会,劝你还是提前转行吧)# Xcode#build/*.pbx原创 2017-04-04 20:04:01 · 2108 阅读 · 0 评论 -
Xcode8控制台不打印NSLog
Xcode8控制台不打印NSLog原因可能有: 1.Xcode8的Product -> Scheme -> Edit Scheme -> Run -> Arguments -> Environment Variables,添加的“OS_ACTIVITY_MODE”值为“disable”,取消了勾选。 2.NSLog宏定义有问题。 3.Xcode底部控制台窗口未打开。(已原创 2017-05-02 14:34:50 · 8309 阅读 · 0 评论 -
iOS11上手体验视频
给本人的感觉,就几个功能可以跑吸引我:控制中心支持可以打开移动网络、录屏,文件管理,其它的个人感觉就那样。 其它的就是感觉界面越做越丑了…放上视频链接: https://pan.baidu.com/s/1kUHFj5X原创 2017-06-06 09:58:18 · 490 阅读 · 0 评论 -
UMeng分享面板无法弹出解决办法
1.更换完整版SDK,替换掉精简版SDK。 2.创建Xcode项目会默认添加Main.storyboard作为Main Interface(General - Deployment Info),也就是项目的主Window。 如果没使用Main.storyboard而又另外在AppDelegate中创建了UIWindow对象。移除其一即可,需要clean工程后再重新运行。原创 2017-06-19 20:49:18 · 1232 阅读 · 0 评论 -
iOS app多个开发环境变量(target)下配置Podfile文件
在iOS项目开发过程中,我们常常需要多个开发环境,通过条件编译我们可以实现这一需求,但是需要频繁的修改条件编译的值,太影响效率了。我们可以通过配置多个target(开发环境),来实现。太多数开发者的习惯使用cocoapods来管理第三方库,确实很大的提高了工作效率。当app中有多个target(开发环境),就需要配置Podfile文件了.配置Podfile有两种方式:第一种方式:platform原创 2017-07-17 10:33:49 · 1893 阅读 · 0 评论 -
iOS11 持续定位
由于iOS11更新了定位服务设置:可选择使用使用app期间定位,虽然这种做替用户免去担忧,但给app使用可能造成了影响,开发者就要调整自己的应用程序了。本文只讲述在iOS11进行持续定位需要注意的事项,怎么去前台后台持续定位(使用CoreLocation或高德地图或百度地图等定位),不是本文的重点,可自动百度或者google。1.在项目的.plist中增加3个定位描述: <key>NSLocati原创 2017-09-21 18:16:21 · 5960 阅读 · 0 评论 -
Xcode9 Could not receive a message from the device
Xcode9正版发布后,无线调试不需要配置ip地址了,只需要保证在同一个局域网即可。连接成功后效果是这样的:但是第一次转接成功后,进行第一次编译可能会编译失败,会给出以下提示信息:Could not receive a message from the device解决这个问题,非常简单,重启iPhone和退出Xcode9并重启,再次编译就会成功,从此以后就可以用上无线调试了,哈哈。原创 2017-09-20 10:50:31 · 2486 阅读 · 1 评论 -
删除xcode证书
打开~/Library/MobileDevice/Provisioning Profiles目录,删除即可。原创 2017-10-25 15:49:04 · 1064 阅读 · 0 评论 -
iPhone 开发分辨率 持续更新
iPhone 4s: 320 * 480iPhone 5s/SE: 320 * 568iPhone 6/6s/7/8: 375 * 667iPhone 6/6s/7/8 Plus 414 * 736iPhone X 375 *812以上是开发分辨率,不是物理分辨率。原创 2017-09-23 09:33:23 · 1639 阅读 · 0 评论 -
Xcode9 调整模拟器大小
更新完后Xcode9,迫不及待的体验iPhone 8 和 iPhone X一把,毕竟此时真机现在还没开售,只能用模拟器先玩玩。启动模拟器后,发现模拟器大小不是自己想要的尺寸,所以按照以前老方法按command+1或者command+2或者command+3键改变大小。结果并不能改变其大小,后来才知道要show Device Bezels(显示设备边框)先取消,然后才能调整大小:最后放一张俺公司的ap原创 2017-09-20 15:01:42 · 7581 阅读 · 0 评论 -
cocoaPods最新安装方式
1.查看ruby是否是最新的ruby是通过rvm安装的所以需要先安装rvm后查看ruby是否是最新的(通过查看ruby版本列表来判断),在终端需要中输入以下命令: 1.1 安装RVM.RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset)curl -L get.rvm.io | bash -s stable过一段时间后就可以成功安原创 2016-10-19 21:11:00 · 312 阅读 · 0 评论 -
集成支付宝SDK遇到的问题集合
1、问题:”OBJC_CLASS$_CMMotionManager”, objc-class-ref in AlipaySDK 解决方法:遇到这样的错误,是因为少了CoreMotion.framework 在Build Phases ->Link Binary With Libraries 下添加库: CoreMotion.framework。2、问题:’openssl/asn1.h‘ file原创 2016-10-18 17:49:14 · 385 阅读 · 0 评论