![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
xcode
水麒麟灬
把分享当做自己的仓库。
展开
-
M1 MacBook 终端报错解决记录:Class is implemented in both (...)
提示一:Class is implemented in both (...)解决:sudo xcode-select -rxcode-select --install” and then “xcode-select -s /Library/Developer/CommandLineTools参考:https://developer.apple.com/forums/thread/698628https://developer.apple.com/forums/thread/47579原创 2022-03-17 14:49:00 · 2770 阅读 · 0 评论 -
Class AMSupportURLConnectionDelegate is implemented in both 报错解决;
更新Mac os、Xcode后报错:Class AMSupportURLConnectionDelegate is implemented in both原创 2022-03-16 10:53:30 · 3687 阅读 · 0 评论 -
ERROR ITMS-90171: “Invalid Bundle Structure: 上传appStore报错记录
【问题】上传AppStore 报错:ERROR ITMS-90171: "Invalid Bundle StructureApp Store Connect Operation ErrorERROR ITMS-90171: "Invalid Bundle Structure - The binary file 'XXX.app/XXLocationKit' is not permitted. Your app can’t contain standalone executables or lib...原创 2020-12-17 14:54:05 · 1932 阅读 · 0 评论 -
Xcode 12 兼容问题修复:library not found for -l
Xcode 12 兼容问题修复最近因为一个项目需要获取idfa,而iOS 14推出后不能像以前一样获取idfa了,因此升级了Xcode 12,果不其然,又遇到了一些糟心的问题,下面列举一下踩坑之路。Xcode 12 模拟器编译报错问题:升级后打开之前的项目在模拟器上运行不起来,报一下错误:building for iOS Simulator, but linking in object file built for iOS, xxxx for architecture arm64复制代码原创 2020-10-27 21:41:24 · 5572 阅读 · 4 评论 -
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/ke
问题现象:/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'终端执行:sudo gem install -n /usr/local/bin cocoapods...原创 2020-04-04 18:12:11 · 22877 阅读 · 1 评论 -
crash _mach_msg_trap
我们经常会遇到APP闪退和崩溃的问题,那么我们应该通过什么变量去监听APP的异常呢?如何在程序崩溃时,保证程序不闪退,并给用户弹出一个提示框呢? 这是本文将要讲述的内容。先介绍2个概念,Mach异常和Signal信号,如果想要监听异常其实就是去监听Mach异常和Signal信号。其实系统已经给我们提供了一个方法去监听程序产生的异常,通过NSSetUncaughtExcept...原创 2019-11-20 16:40:12 · 1404 阅读 · 0 评论 -
如何手动解析CrashLog
解决崩溃问题是移动应用开发者最日常的工作之一。如果是开发过程中遇到的崩溃,可以根据重现步骤调试,但线上版本就无能为力了。好在目前已经有很多不错的第三方CrashLog搜集平台(如友盟、Crashlytics等)为我们做好了解析工作,甚至在Xcode7里苹果也跟进了解析线上版本崩溃日志的功能,为开发者减轻了不少负担。尽管通常已经不需要我们手工处理CrashLog,了解CrashLog的还原原理和方法转载 2015-08-17 20:20:04 · 578 阅读 · 0 评论 -
关于xcode 断点的设置
编码不能没调试,调试不能没断点(Break Point)。XCode的断点功能也是越来越强大。基本断点如下图,这种是最常用的断点,也是最容易设置。左键点击一下就可以设置。 编辑断点断点是可以编辑的。断点有下面几个属性可以设置:ConditionIgnoreActionOpti转载 2015-08-17 20:30:59 · 6428 阅读 · 0 评论 -
iOS开发之遍历Model类的属性并完善使用Runtime给Model类赋值
在上篇博客《iOS开发之使用Runtime给Model类赋值》中介绍了如何使用运行时在实体类的基类中添加给实体类的属性赋值的方法,这个方法的前提是字典的Key必须和实体类的Property Name相同,然后通过运行时来生成和执行Setter方法给Model类的属性赋值。通过Runtime来给Model类属性赋值的好处是多多的,它便于代码的后期维护,并且提高了开发效率。当你拿到解析转载 2015-08-17 20:38:38 · 1287 阅读 · 0 评论 -
UIWebView与JS的深度交互
事情的起因还是因为项目需求驱动。折腾了两天,由于之前没有UIWebView与JS交互的经历,并且觉得这次在功能上有一定的创造性,特此留下一点文字,方便日后回顾。我要实现这样一个需求:按照本地的CSS文件展示一串网络获取的带HTML格式的只有body部分的文本,需要自己拼写完整的HTML。除此之外,还需要禁用获取的HTML文本中自带的 《 img 》 标签自动加载,并把下载图片的操作放在转载 2015-08-17 15:37:55 · 473 阅读 · 0 评论 -
漫谈iOS Crash收集框架
本文由作者 @念茜 授权转载。为了能够第一时间发现程序问题,应用程序需要实现自己的崩溃日志收集服务,成熟的开源项目很多,如 KSCrash,plcrashreporter,CrashKit 等。追求方便省心,对于保密性要求不高的程序来说,也可以选择各种一条龙Crash统计产品,如 Crashlytics,Hockeyapp ,友盟,Bugly 等等。是否集成越多的Cra转载 2015-08-18 10:50:25 · 1253 阅读 · 0 评论 -
手动解析CrashLog之——原理篇
在上篇文章《手动解析CrashLog之——方法篇》里介绍了手动解析CrashLog的方法,接下来再说说dwarfdump、atos等解析工具是如何从符号表文件中获取到崩溃位置信息的。一切还得从.dSYM符号表文件开始说起。一、.dSYM文件的生成符号表文件.dSYM实际上是从Mach-O文件中抽取调试信息而得到的文件目录,实际用于保存调试信息的问价是DWARF,其出身可以从苹果转载 2015-08-17 20:17:50 · 889 阅读 · 0 评论 -
ios8 UITableView设置 setSeparatorInset:UIEdgeInsetsZero不起作用的解决办法
ios7的时候在storyboard 设置 TableView的separator intend = 0 可以让tableview的分割条顶到头。但是,升级了iOS8时,发现不起作用了。经过google,在 stackoverflow 发现了答案翻译纪录一下iOS8 在cell和tableview中都引入了layoutMargins属性,而且这个属性在iOS 7中并原创 2015-07-21 17:43:12 · 1018 阅读 · 0 评论 -
iOS7中计算UILabel中字符串的高度
iOS7中计算UILabel中字符串的高度iOS7中出现了新的方法计算UILabel中根据给定的Font以及str计算UILabel的frameSize的方法.本人提供category如下:UILabel+StringFrame.h//// UILabel+StringFrame.h// LabelHeight//// Copyright (c)转载 2015-07-21 11:48:10 · 416 阅读 · 0 评论 -
关于block使用的5点注意事项
1、在使用block前需要对block指针做判空处理。不判空直接使用,一旦指针为空直接产生崩溃。if (!self.isOnlyNet) { if (succBlock == NULL) { //后面使用block之前要先做判空处理 return; } id data = [NSKeyedUnarchiver unarchiveO转载 2015-07-20 13:24:22 · 561 阅读 · 0 评论 -
视图实现圆角效果的三种方法及比较
本篇文章主要介绍了"视图实现圆角效果的三种方法及比较",主要涉及到视图实现圆角效果的三种方法及比较方面的内容,对于视图实现圆角效果的三种方法及比较感兴趣的同学可以参考一下。方法一、layer.cornerRadius第一种方法最简单,通过层对象的cornerRadius属性实现圆角效果,代码如下:view.layer.cornerRadius =转载 2015-07-30 11:11:55 · 1266 阅读 · 0 评论 -
Pods was rejected as an implicit dependency for 'libPods.a' because its architectures 'x86_64' didn
引入cocoaPods后,第一次编译报这个错误Pods was rejected as an implicit dependency for 'libPods.a' because its architectures 'x86_64' didn't contain all required architectures 'i386'查了些资料,在网上有一种解决方法是去设置pod工原创 2015-07-04 10:34:39 · 9720 阅读 · 0 评论 -
iOS绘图教程
本文是《Programming iOS5》中Drawing一章的翻译,考虑到主题完整性,翻译版本中加入了一些书中未涉及到的内容。希望本文能够对你有所帮助。 本文由海水的味道翻译整理,转载请注明译者和出处,请勿用于商业用途! Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎。它提供了低级别、轻量级、高保真度的2D渲染。转载 2015-07-30 15:09:09 · 525 阅读 · 0 评论 -
强制去除xcode的编译警告
使用#pragma clang diagnostic ignored语法来强制去除xcode的编译警告,代码举例如下:1234#pragma clang diagnostic push#pragma clang diagnostic ignored "-Warc-bridge-casts-d原创 2015-07-22 12:14:24 · 1219 阅读 · 0 评论 -
使用Xcode HeaderDoc和Doxygen文档化你的Objective-C和Swift代码
本文由CocoaChina译者YueWang翻译自AppCoda原文:Documenting Your Objective-C and Swift Code in Xcode with HeaderDoc and Doxygen在一个应用的整个开发过程中涉及到了无数的步骤。其中一些是应用的说明,图片的创作,应用的实现,和实现过后的测试阶段。写代码可能组成了这个过程的绝大部分,因转载 2015-08-18 11:18:49 · 999 阅读 · 0 评论 -
强制去除xcode的编译警告
在使用xcode进行iphone应用开发时,经常需要添加一些第三方的类库,而一些第三方的类库由于缺少维护,从而导致类库中含有各种警告和各种内存泄漏,但并不影响运行.倘若我们需要用到第三方库,而由不想在代码分析时看到这些库的警告或内存泄漏,我需要这样做:[cpp] view plaincopy#pragma clang diag转载 2015-09-09 14:31:29 · 550 阅读 · 0 评论 -
【AppStore坑】用xcode10 打包上传到AppStore,iOS9 Crash
用Xcode10 打包上传到AppStore,iOS9系统的机器频繁 Crash; 还是老老实实用Xcode 9.4.1打包吧,坑死了 参考地址:https://stackoverflow.com/questions/52364231/our-app-crashed-in-ios9-which-upload-by-xcode-10-gm-seed ...原创 2018-09-27 15:44:47 · 6791 阅读 · 6 评论 -
Xcode中other linker flags的作用
使用场景在ios开发中,我们经常会使用到第三方的一些静态库,导入第三方类库运行程序后你会发现,编译时可以正常编译但是运行时会app会闪退,报出selector not recognized的错误。一般的第三方库的开发文档中都会写出这种问题的解决方法,如在Other Linker Flags中加入-ObjC或者-all_load或者-force_load这样的解决方法。为什要这要做呢?报错为什么编译...原创 2018-03-30 20:08:21 · 321 阅读 · 0 评论 -
iOS日志获取和实时浏览器显示日志
平时我们写代码的时候,为了调试方便,总是会在代码中写入很多的NSLog(也可能是其它的日志框架等,例如大名鼎鼎的CocoaLumberjack),但是我们对于NSLog到底了解多少?NSLog的信息为什么Xcode能够获取的到?我们能自己写个程序获取所有的NSlog么?NSLog写入的信息到底在哪里?NSLog输出到哪?我们都知道,NSLog是一个C函数,它的函数声明是原创 2018-01-16 22:46:25 · 4880 阅读 · 0 评论 -
iOS Crash修复:HTTPRequestParserClient::~HTTPRequestParserClient()
目前发现是SDWebimage 库的内存管理问题,更新到新版本可以解决~原创 2018-01-22 20:29:56 · 407 阅读 · 1 评论 -
Xcode9.2 运行iOS8.1图片异常
问题描述如果使用xcode9.2打包程序发布,在在iOS8.1系统上部分图片会裂开,显示异常。解决方案等苹果爹更新如果苹果爹一直没注意到这个问题,或者没有人提,谁知道还要等多久? 关于此问题,我已经向苹果爹提交了bug,期待后续修复:ProblemID=35948702先降级Xcode确切的说,这是目前最快捷的一个方式,保证没有问题。改变图片资源存储图片不要放在asset里面,方法放在原创 2017-12-20 16:51:28 · 1779 阅读 · 0 评论 -
Xcode 8带来的新特性和坑
Xcode 8正式版在9月13日已经推送给开发者下载,我也在十一回来之后,就下载了新的Xcode。下载之后就出现了很多编译错误,之前的插件也不能用了,但是发现Xcode8把好多不错的插件功能整合到自身了,感觉这点也挺不错。每个版本Xcode都会带来很多新特性,Xcode 8也不例外,这些新特性会给我们的开发带来便利,也会带来很多坑。所以今天打算写一篇文章,详细讲一下Xcode8给我们带来的转载 2016-10-27 16:54:14 · 1246 阅读 · 0 评论 -
Xcode 插件优缺点对比(推荐 20 款插件)
本文大致整理了自己用过的一些插件的使用感想(就是好不好用)。 在那之前先简单贴两条插件须知,知道的可以忽略。1、Alcatraz类似于管理第三方库的cocoapods,管理插件也有个Alcatraz。 安装的方法也很简单,如果你以前没有安装过那执行下面指令?1curl -fsSL https://raw.git转载 2016-08-17 17:24:28 · 555 阅读 · 0 评论 -
xcode7.3 关于NSDictionary category 方法命名问题的记录
最近升级xcode7.3 遇到一个莫名其妙的问题(NSString *)stringForKey:(id)key ;原创 2016-03-25 11:54:50 · 817 阅读 · 0 评论 -
去掉Xcode工程中的 某种类型的警告
1、消除一些库编译时候会有警告。但是作为一个有洁癖的人呢不想看见这些可以在platform :ios, ‘x.0’的后面加入这句inhibit_all_warnings!这样编译这些第三方库的时候就没有那些烦人的小警告了。ps:但是有一个神库ReactiveCocoa。当你关闭所有警告的时候。它就编译不过了。可急坏了。其实很简单对他单独设置打开编译警告就好了转载 2015-12-30 16:26:21 · 525 阅读 · 0 评论 -
iOS开源项目之 日志框架CocoaLumberjack
CocoaLumberjack是Mac和iOS上一个集快捷、简单、强大和灵活于一身的日志框架。CocoaLumberjack类似于流行的日志框架(如log4j),但它是专为Objective-C设计的,利用了多线程、GCD(如果可用)、无锁原子操作Objective-C运行时的动态特性。 快速在大多数用例中,Lumberjack比NSLog快了一个数量级。转载 2015-12-30 16:43:14 · 591 阅读 · 0 评论 -
代码审查工具介绍 : 在CentOS系统上搭建Reviewboard
ReviewBoard是一款比较优秀的,基于WEB的代码审查工具,相关的详细介绍可以参见其官网:http://www.reviewboard.org。如果想在自己的项目中免费的使用ReviewBoard,你需要自己部署(说实话,过程还是很痛苦的)。在Ubuntu上安装ReviewBoard http://www.linuxidc.com/Linux/2014-05/101222.htm转载 2015-10-15 16:47:11 · 667 阅读 · 0 评论 -
一段倒计时的代码
__block int timeout=60; //倒计时时间 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TI原创 2015-09-23 14:42:47 · 477 阅读 · 0 评论 -
xcode The operation couldn’t be completed. (LaunchServicesError error 0.) 模拟器错误解决
最近工程遇到一次问题,第一次运行程序到模拟器正常,第二次再运行就报错,删掉模拟器上的程序就好了;查了半天终于找到了原因,写下来防止大家也浪费时间:原来在于我的工程做了本地化:具体设计到三个地方都要有以下两个字段:"CFBundleShortVersionString" = "2.1.1";"CFBundleVersion" = "2.1.1";一旦缺少就会出现我遇到的错误。具体需要注意的三个地方:原创 2015-10-10 16:56:01 · 4233 阅读 · 0 评论 -
UIView的layoutSubviews和drawRect方法何时调用
转自:http://jianyu996.blog.163.com/blog/static/112114555201305113018814/首先两个方法都是异步执行。layoutSubviews方便数据计算,drawRect方便视图重绘。 layoutSubviews在以下情况下会被调用: 1、init初始化不会触发layoutSubvie转载 2015-07-29 20:42:36 · 444 阅读 · 0 评论 -
iOS定位原理和使用建议
看到很多网友讨论iOS设备定位的问题,这里将我们所了解的关于iPhone、iPad、iPod等的定位原理做详细的介绍,希望能为大家增加知识,减少误区,更好地使用iOS设备。介绍之前,先声明一下关于地图加加的“偏移修正”功能,地图加加可以对齐中国地区(地点、线路和照片的)坐标和中国地图之间的偏移,这个是我国测绘法规要求的一个数学意义的偏移,每个地方的偏移是固定的,法定的,和当前定位的方式、定转载 2015-07-17 17:35:44 · 786 阅读 · 0 评论 -
解决Xcode上传出现的Error ITMS-9000问题 ,No image found at the path referenced under key CFBundleIcons AppIcon
今天用Xcode 6.1 上传应用到市场,出现了如下问题:Error ITMS-9000: "Invalid image path - No image found at the path referenced under key CFBundleIcons AppIcon120x120用stackoverflow查了下,问题解决如下:地址:http://stack原创 2015-08-11 20:24:42 · 1728 阅读 · 0 评论 -
xcode 内存泄漏,memory leaks, crash 解决方案
EXC_BAD_ACCESS错误,我通常建议: 1.在可执行选项中设置NSZombieEnabled参数,这有时会帮缩小问题的范围; 2.运行apple的内存检测工具,如 Leaks ,以便寻找内存问题; 3设定一个断点,单步运行代码,直到你找到引起崩溃的位置; 4.注释代码,直到不崩溃为止,然后再从后往前查找错误; 现在让我们从第一条开始实验原创 2015-06-29 21:01:23 · 1929 阅读 · 0 评论 -
iOS-获取Model(设备型号)、Version(设备版本号)、app(程序版本号)等
IOS-获取Model(设备型号)、Version(设备版本号)、app(程序版本号)等 NSLog(@"uniqueIdentifier: %@", [[UIDevice currentDevice] uniqueIdentifier]); NSLog(@"name: %@", [[UIDevice currentDevice] name]); NSLog(原创 2015-06-30 15:59:51 · 962 阅读 · 0 评论 -
cocospods 卡在 Analyzing dependencies
参考链接:http://www.cocoachina.com/bbs/read.php?tid=193398关于pod stetup的详细解释在这里。对于初次使用CocoaPods的同学,即使你不使用pod setup命令,在你初次执行pod install命令时,系统也会自动执行pod setup。而由于长城的原因,不挂VPN是不可能成功执行pod setup的。或许是我的VPN太垃圾,原创 2015-06-25 15:28:24 · 1012 阅读 · 0 评论