Xcode
培根芝士
相看两厌,不若相忘于江湖
展开
-
Xcode14报错“Type ‘ChartDataSet‘ does not conform to protocol ‘RangeReplaceableCollection”
升级Xcode 14.3之后项目打包报错:Type ‘ChartDataSet‘ does not conform to protocol ‘RangeReplaceableCollection原创 2023-05-10 19:54:02 · 538 阅读 · 0 评论 -
Xcode14报错“PhaseScriptExecution failed with a nonzero exit code...”
Xcode14报错“PhaseScriptExecution failed with a nonzero exit code...”原创 2023-05-10 19:30:33 · 277 阅读 · 0 评论 -
Xcode瘦身
这个文件夹中保存的是Xcode的缓存文件,曾经在Xcode跑过的所有项目的索引、build的信息等都会保存在这里。删除后在下次打开项目编译的时候将会重新生成。每个文件夹里包含的就是一个特定系统版本的设备的数据。每个文件夹对应哪个设备可以在其下device.plist中查看。每次把一个设备接入电脑进行真机调试之前,电脑会对设备建立索引,也在此文件夹下生成对该设备系统的支持文件。每次打包App的dSYM等数据就保存在这里。同上,把没用的删了。原创 2022-10-09 10:38:48 · 993 阅读 · 0 评论 -
解决报错Command CompileSwiftSources failed with a nonzero exit code
Xcode编译时报错“Command CompileSwiftSources failed with a nonzero exit code”。应该是项目中的Socket.IO-Client-Swift这个pod导致的。在Build Setting里添加一条user-defined。属性为SWIFT_ENABLE_BATCH_MODE,值为NO。原创 2022-08-09 21:28:52 · 10093 阅读 · 0 评论 -
Xcode控制台调试常用命令
当遇到crash时,查看线程栈,只能看到栈帧的地址,使用imagelookup–address地址可以方便的定位到这个地址对应的代码行。命令可以打印出线程的堆栈信息,该信息比左侧的DebugNavigator看到的还要详细一些。在调试时,动态的修改变量的值,这在调试想要让应用执行异常路径(如执行某个else情况)很有用。命令类似,所以也是可以打印常量、变量,打印表达式返回的对象等。在控制台执行该命令,可以在不修改代码,不重新编译的情况下,修改界面上的视图。命令是打印所有线程的堆栈信息。......原创 2022-08-01 11:05:07 · 1986 阅读 · 0 评论 -
解决发布报错“ERROR ITMS-90087: “Unsupported Architectures”
发布应用到Appstore时报错:这个错误是因为第三方framework中包含了x86_64, i386,这个是苹果不允许的。解决办法:先查看一下framework 包含的平台。剔除掉x86_64, i386这两个架构,只保留armv7和arm64。用lipo -info 查看一下,这样就得到了去除i386 和 x86_64 的framework 了。.........原创 2022-07-12 15:25:28 · 1365 阅读 · 0 评论 -
iOS 开发者证书打包项目未包含最新的UDID
登录开发者账号,添加完新的UDID,重新编辑开发者证书Profiles,要确认包含所有的UDID。然后下载mobileprovision并重新打包,将打出的包上传到fir或者蒲公英,看下最新打包是否有包含最新UDID。如果打包采用Automatically manage signing,添加完新的UDID后会自动更新mobileprovision。如果测试设备还是不统一的,那就是Xcode内部开发者证书是旧的,新的开发者证书没有更新到,所以下面要做的就是更新Xcode 本地的相关项目中的开发者证原创 2021-11-17 11:53:55 · 2373 阅读 · 0 评论 -
解决报错“RuntimeError - [Xcodeproj] Unknown object version.”
在 pod install 时提示错误:### Error```RuntimeError - [Xcodeproj] Unknown object version./Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.15.0/lib/xcodeproj/project.rb:227:in `initialize_from_file'/Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.15.0/lib/xcodeproj原创 2021-10-25 09:50:48 · 3594 阅读 · 1 评论 -
解决报错“Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12”
执行pod install时报错Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2提示执行gem pristine ffi --version 1.12.2执行之后又会报错ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write p...原创 2021-10-25 09:47:03 · 6465 阅读 · 0 评论 -
iOS解决Launch Screen.storyboard启动画面黑屏
查看启动屏图片的名字启动图名字不要包含Launch这样的字眼。启动图片工程中位置将启动图放在工程的根目录下,不要放在Assets.xcassets中。启动图的格式建议使用png,尽量不要使用jpg查看工程中是否仍在使用LaunchImage将工程中与LaunchImage有关的全部删掉,包括Assets.xcassets中。最好在检查下plist文件和build Settings。修改图片名字有时候把启动图去掉,或者添加新的启动图,显示出来的还是之前的图片。这可能是缓存导致原创 2021-01-21 20:25:52 · 3564 阅读 · 0 评论 -
Xcode更改SVN地址
1. 打开终端$cd 你的项目所在目录/#查看一下,当前的svn地址$svn info ./$svn cleanup$svn sw --relocate oldsvn地址 newsvn地址 ./#这里需要输入本机密码#这里需要输入snv用户名和密码2. 打开xcode 进入Repositories选择新的svn库设置原创 2015-04-27 10:44:15 · 716 阅读 · 0 评论 -
解决Xcode12模拟器编译报错的问题
Xcode11的项目迁移到Xcode12 使用模拟器编译时遇到了下面这个报错。在真机编译时正常,但是模拟器编译时会报错。原因:在XCode11中,x86_64的机型支持是默认添加上的,就算不写也支持,但XCode12的时候 苹果推出了arm主机的Mac, 这使得arm主机的XCode其实就不需要x86_64的默认支持了。 这个时候x86_64也就不是默认添加,需要手动添加上才能在Mac上跑得动模拟器。在XCode11中,我们通过Valid Architectures 来配置支持的机型,.原创 2020-10-10 19:51:53 · 1514 阅读 · 1 评论 -
Xcode使用LaunchScreen.storyboard加载启动图
在LaunchScreen.storyboard中添加ImageView,添加四边约束Constraints,修改ImageView的Image,修改ContentMode为Aspect Fill。 选择Target->General->App Icons and Launch Images,修改Launch Screen File为LaunchScreen。 选择Build Se...原创 2020-04-10 10:34:14 · 3445 阅读 · 0 评论 -
iOS上线审核Bitcode的Crash解析
1、在iTunesConnect上下载dSYM文件。2、打开crash文件,一般苹果审核被拒时给出的是txt格式的,直接改扩展名为crash,在crash文件中找到Binary Images,根据Binary Images下面第一行对应的uuid确定同名的dSYM文件。在xcode菜单选择window->organizer->Archives,找到跟crash 文件对应的xcarc...原创 2019-09-29 20:54:50 · 477 阅读 · 0 评论 -
解决xcode10编译时报Multiple plist的问题
在xcode10上编译旧代码的时候报了一个“Multiple commands produce '/Users/.../XXX.app/Info.plist'”的问题,查找了一下发现项目下存在了多个同名的Info.plist。 解决办法:在xcode的菜单栏,选择File ->Workspace settings-> Build System 选择 Legacy Build...原创 2019-02-27 15:31:14 · 249 阅读 · 0 评论 -
Xcode6视图调试
启用视图调试运行app过程中,按下底部的Debug View Hierarchy 按钮,或者从菜单中选择Debug > View Debugging > Capture View Hierarchy 来启动视图调试。启动视图调试后,Xcode会对应用程序的视图层次拍一个快照并展示三维原型视图来探究用户界面的层级。该三维视图除了展示app的视图层次外,还展示每个视图的位置转载 2015-04-20 13:24:58 · 430 阅读 · 0 评论 -
xcode6中添加pch文件
在Xcode6之前,新建一个工程的时候,系统会帮我们自动新建一个以工程名为名字的pch (precompile header)文件,在开发过程中,可以将那些整个工程都广泛使用的头文件包含在该文件下,编译器就会自动的将pch文件中的头文件添加到所有的源文件中去,这样在需要使用相关类的时候不需要使用import就可以直接使用头文件中的内容,很大程度上带来了编程的便利性,但潜在的也带来了一些问题,这也是转载 2015-03-03 11:39:18 · 455 阅读 · 0 评论 -
Xcode6模拟器路径
Xcode6发布后,出现了很多的变动,功能性的变动,在这里不进行过多的赘述,在WWDC上苹果已经进行了讲述,网上也有很多文章,这里要介绍的是一些不太容易发现的,但很重要的小地方。 【1】Xcode6模拟器路径的变更 在Xcode5和之前的版本中,Xcode的模拟器路径为:/Users/username/Library/Application Support/iPhone Simula转载 2015-07-13 10:21:50 · 578 阅读 · 0 评论 -
Bitcode导致的编译报错
在xcode7.1进行Archive时,会报这样的错误ld: object contains invalid bitcode: /Users/XXX/UMSocial_Sdk_Extra_Frameworks/Wechat/libWeChatSDK.a(WechatAuthSDK.o) for architecture arm64clang: error: linker原创 2016-06-02 17:29:45 · 5713 阅读 · 0 评论 -
Xcode里-ObjC, -all_load, -force_load
在Xcode工程的Other linker flags中添加-ObjC 标志可以解决使用静态库中的category时出现unrecognized selector的问题。UNIX的静态库(xxx.a)其实就是一个目标文件(xxx.o)的集合。在C语言中,编译一个源文件时如果遇到在其他文件中定义的函数,则会留下一个 undefined symbol。在链接时会通过找到其他文件中的定义来确转载 2016-04-28 11:02:43 · 463 阅读 · 0 评论 -
library not found for -l第三方库名 编译问题的解决方法
ld: library not found for -l第三方库名 这个错误是说编译时找不到第三方库。方法一:点击 XCode 工程文件,在 Build Phases 中查看 “ Link binary With Libraries” 如果不出所料,你应该能发现有一到数个的条目是用红色字体来显示的。 说明这些被工程引用的这些文件,其物理文件已经不处于之前所记录的地方了。 这种情况下,右键点击红...原创 2018-03-22 13:54:10 · 6715 阅读 · 0 评论 -
xcodebuild打包命令
简介打包一般使用GUI操作进行。但是对于复杂工程还是繁琐。比如同一个工程对应多个target,多个scheme,多个证书。另外对于持续化集成还不足够,所以需要使用Xcodebuild进行脚本化。Tips:针对Xcode进行过重签名,in-house包会失败。 使用以下针对xcode8,xcworkspace文件进行打包。打包分为三步:1、 清理 - cleanxc...原创 2018-02-27 12:02:46 · 1966 阅读 · 0 评论 -
Xcode添加Run Script脚本
进入Build Phases页面,点击加号选择“New Run Script Phases”创建Run Script在这里添加Run Script,1.每次编译运行版本号(bundleVersion)自增+1buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")bui...原创 2018-10-18 14:11:15 · 9045 阅读 · 0 评论 -
framework工程添加自动打包的Run Script
【1】添加Aggregate找到File/New/Target/Cross-platform/Aggregate,创建Aggregate。【2】添加Run Script# Install dir will be the final output to the framework.# The following line create it in the root folde...原创 2018-10-18 14:22:24 · 487 阅读 · 0 评论 -
MAC终端使用SVN命令出现xcrun: error: invalid active developer path
在终端输入SVN指令,出现了xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun的错误。解决办法:在终端输入命令xcode-select ...原创 2018-11-22 11:48:27 · 929 阅读 · 0 评论 -
Xcode10打开旧项目报错Multiple commands produce
使用xcode10打开旧项目报了如下错误:error: Multiple commands produce '/Users/XXX/Library/Developer/Xcode/DerivedData/XXXXX-gpiinbrldqmtipgxzbgiqblnpfkb/Build/Products/Release-iphonesimulator/XXXX.framework/Info.pl...原创 2018-11-22 14:52:33 · 2860 阅读 · 0 评论 -
在xcode6中使用矢量图
iOS应用程序是一个图像主导的产品。在开发一个应用程序时,你需要各种尺寸的图标,你需要为每个图像文件制作一个@1x尺寸和一个@2x尺寸。这样你的应用看上去才足够精美。但缺点是你必须单独生成这些文件。随着iPhone6和iPhone6 Plus的到来,这个问题变得更加让人头疼:@3x 资源。幸运的是,苹果在Xcode 6中提供了一些伟大的工具来管理这些资源。更好的是,这种方式也让你的应用程序转载 2014-12-01 11:26:44 · 560 阅读 · 0 评论