XCode
文章平均质量分 55
chqj_163
这个作者很懒,什么都没留下…
展开
-
线程问题:This application is modifying the autolayout engine from a background thread after the engine w
线程问题:This application is modifying the autolayout engine from a background thread after the engine was accessed from the main thread. This can lead to engine corruption and weird crashes.(大致意思是...转载 2019-11-19 17:30:11 · 1975 阅读 · 0 评论 -
Mac系统下lipo, ar, nm等工具的使用简介
一、简介目前ios制作对外输出的动态库,静态库越来越方便,伴随而来的问题也也越来越少,本次就打包Framework过程做下记录(不涉及xcodebuild调用过程)二、简述lipolipo源于mac系统要制作兼容powerpc平台和intel平台的程序,lipo 是一个在 Mac OS X 中处理通用程序(Universal Binaries)的工具,主要用于查看,修改Mac OS X...转载 2019-11-15 16:37:45 · 959 阅读 · 0 评论 -
查看mobileprovision文件信息
最近某个客户需要知道他们的企业安装包什么时候过期,让其问他们的企业证书管理员,扯了半天,最后还是帮他们看一下,描述文件的过期时间。xxx.mobileprovision是ios开发中的设备描述文件,里面有证书信息、调试设备的UUID信息、bundle identifier等,此文件是二进制格式不能直接打开,那么如何查看其中信息呢,方法很简单,使用mac自带security命令行用mac自带的命...转载 2019-11-15 15:59:51 · 2718 阅读 · 0 评论 -
pbxprojHelper--Xcode工程文件助手
pbxprojHelper 可以帮你快速配置 Xcode 工程文件,省去麻烦的人工手动操作。项目开源,使用 Swift 开发,详细介绍请见使用说明。除了 Mac App 外还提供了命令行工具 pbxproj,它集成了 pbxprojHelper 的核心功能,同样简易实用。因为 README_ZH 中对使用方法已经讲得很详细了,这里重点说的是产品方案和技术实现。产品方案为什么造这个工...转载 2019-11-05 21:14:58 · 376 阅读 · 0 评论 -
Xcode 工程文件“.xcodeproj”文件夹解析
项目.xcodeproj 文件夹底下一般有4个文件: project.pbxproj 文件 xcuserdata 文件夹 xcshareddata 文件夹 project.xcworkspace 文件夹 (这里暂不讲解)下面主要讲解涉及到 .xcschemes 相关文件,其他设置(例如断点一类的)暂不讲解1.project.pbxproj 文...转载 2019-11-05 21:05:21 · 736 阅读 · 0 评论 -
Xcode - Xcodeproject详解
前言在iOS开发过程中,我们经常会在 Xcode 里面做一些配置,比如添加系统库、第三方库,修改证书配置文件,修改编译属性等等。在这个过程里面,一般大家仅仅只是根据经验来配置这些,并没有比较清晰的认识 Xcode Project 的层次结构。最近由于接触这个比较多,做了一些如下总结。一、Xcode Project 概念ProjectXcode 中的 project 里面包...转载 2019-11-05 21:02:52 · 427 阅读 · 0 评论 -
.xcodeproj目录中各文件作用及SVN/Git同步
在iOS多人协同开发时,一般会使用版本管理工具,比如SVN/Git。经常的,在提交修改的时候,除了我们自己主动修改的.h、.m和资源文件之外,还会出现一些莫名其妙的文件,在.xcodeproj里面,如下图:.xcodeproj是项目文件,包含项目配置文件,这是很多人都知道的。然而,.xcodeproj里面的各个文件都有什么用呢?提交版本时,要不要提交这些文件/目录?下面总结一下。一个xc...转载 2019-11-05 21:00:06 · 322 阅读 · 0 评论 -
.xcworkspace的理解
.xcworkspace显示包内容后共有3大块内容,如下图所示这里有关于.xcworkspace的一小段英文解读contents.xcworkspacedatalists the projects that are included as top-level entities in your project该文件打开后的内容如下,我个人理解是Workspace包含的顶...转载 2019-11-05 20:54:27 · 1148 阅读 · 0 评论 -
iOS开发之GameCenter使用
Game Center Configuration Guide for iTunes ConnectiOS游戏开发之Game Center实战iOS开发长文--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总请看以上文章的GameCenter部分Game Center是由苹果发布的在线多人游戏社交网络,通过它游戏玩家可以邀请好友进行多人游戏,...转载 2019-10-28 17:34:03 · 3232 阅读 · 0 评论 -
升级xcode11&ios13的坑
Swift Packages目前Pod跟SPM的兼容还没做好,配置好SPM后,Pod不能进行正常更新,先配置好Pod再集成SPM则没有问题Pod以后的更新可能会解决这个问题,也会有越来越多的库支持SPM在此之前,本人想出一个比较省事的解决方案:思路:Pod这个冲突主要针对工程,那么创建两个工程就好了,一个集成pod,另一个集成spm准备:先有一个集成pod的工程(这个也是我们项...转载 2019-10-28 17:29:52 · 844 阅读 · 0 评论 -
mach-o文件分析工具 MachOview探究
一、MachOView工具概述及安装使用MachOView工具可以在Mac平台中可查看Mach-O文件的格式信息.iOS系统中可执行程序就属于Mach-O文件格式。MachOView工具属于免费开源项目,源代码可在https://github.com/gdbinit/MachOView下载,MachOview安装及常见报错:MachOview部分软件打开mack-o文件出现闪退的...转载 2019-10-17 20:19:29 · 2491 阅读 · 0 评论 -
PlistBuddy工具使用
PlistBuddyPlistBuddy 是 Mac 系统中一个用于命令行下读写 plist 文件的工具。可以用来读取或修改 plist 文件的内容。PlistBuddy 工具路径/usr/libexec/PlistBuddy可以在 /usr/local/bin/ 目录下建立软连接,就可以直接使用 PlistBuddy 命令了# 不能直接使用 PlistBuddy 命令ln...转载 2019-10-17 14:31:19 · 850 阅读 · 0 评论 -
PlistBuddy基本使用方法
plist文件并非直接的代码,不能通过shell脚本直接对其操作,需要使用Macos的PlistBuddy,本文主要描述PlistBuddy在plist文件中具体对象的增删改查四种操作:引用而Macos并未在环境变量中默认配置PlistBuddy,所以需要通过绝对路径来引用:/usr/libexec/PlistBuddy前文已经说过一个重点:【plist文件并非直接的代码,不能...转载 2019-10-16 17:59:35 · 1527 阅读 · 0 评论 -
Undefine symbols __isPlatformVersionAtLeast
使用 @available 导致旧版本 Xcode 编译出错。在 Xcode 11 的 SDK 工程的代码里面使用了 @available 判断当前系统版本,打出来的静态库放在低版本 Xcode 中编译,会出现一下错误:Undefine symbols for architecture i386: "__isPlatformVersionAtLeast", referenced f...转载 2019-10-11 21:26:34 · 3151 阅读 · 0 评论 -
ios开发:Xcode8制作framework及使用
转载http://daipei.me/posts/make_framework_by_xcode8/前言网上关于Framework制作的教程数不胜数,然而都过于陈旧,最新的也是使用Xcode7的教程,而且有些设置也只给出步骤,并没有给出原因,而且按照有些教程制作出的framework还有些问题,所以我把自己制作framework的过程记录下来,并且使用的是最新的Xcode8环境。正...转载 2018-10-11 10:27:45 · 258 阅读 · 0 评论 -
iOS平台代码混淆脚本
https://github.com/LennonChin/Code-Confuse-Plugin/blob/master/README_zh-cn.mdEnglish Description这是一款用于混淆iOS代码的插件。最近试用了几款目前很多开源的针对iOS代码混淆的插件,但混淆生成的文件一直不如人意,运行代码报错的地方依旧很多。同时有些插件实现的方式个人认为过于复杂,需要使用类...转载 2018-10-11 21:24:37 · 1028 阅读 · 0 评论 -
xcode常见错误处理
转载https://www.cnblogs.com/sifenkesi/p/5379282.html 问题:xcode 7编译错误:bitcode is not supported on versions of iOS prior to 6.0解决:Build Options | Enable Bitcode 设置为No即可原因:这是Apple Watch使用的 问题...转载 2018-10-09 10:27:46 · 829 阅读 · 0 评论 -
Xcode 10 beta3 Error: Multiple commands produce
转载https://www.jianshu.com/p/8a8444acdca5最近开发一直在使用Xcode10 beta版本的,今天升级到Xcode10 beta3,但是在编译项目时编译失败,报错内容:屏幕快照 2018-07-09 上午10.28.06.pngerror: Multiple commands produce '/Users/xiaoyuan/Library/D...转载 2018-10-09 11:03:27 · 1843 阅读 · 0 评论 -
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Deve
转载https://www.cnblogs.com/debmzhang/p/5057896.html以上错误是因为安装了 xcode , 但并不是系统默认的位置, 所以可以使用以下命令把 xcode 的路径修改为你安装的位置即可sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer红色部分就是你安装的 ...转载 2018-10-09 11:42:19 · 1390 阅读 · 0 评论 -
真机调试报错-Please try rebooting and reconnecting the device
转载https://blog.csdn.net/potato512/article/details/51683835 解决:重启手机设备,或重新连接数据线。转载 2018-10-09 19:23:34 · 726 阅读 · 0 评论 -
Xcode 常用编译选项设置
https://www.jianshu.com/p/fb261ed13a27乍一看,这些设置可能太麻烦,其实它真的可以节省许多调试应用的时间,在xcconfig文件中指定即可。用标准库连接LINK_WITH_STANDARD_LIBRARIES = YES如果激活此设置,那么编译器在链接过程中会自动使用通过标准库的链接器。Info.plist 输出编码INFOPLIS...转载 2018-10-16 17:55:37 · 1322 阅读 · 0 评论 -
Xcode中和symbols有关的几个设置
https://www.jianshu.com/p/11710e7ab661其实被这个问题困扰了好久,不过秉承着三分钟热度的新年新气象,还是要多弄懂一点(⊙_⊙)ゞSymbols是什么东西呢?虽然我对它没有深入的了解,但是大概知道它的作用。摘抄《深入理解计算机系统》里的一些描述:一个典型的ELF可重定位目标文件包含下面几个节:... ....symtab:一个符号表,它存放在程序...转载 2018-10-16 17:58:00 · 429 阅读 · 0 评论 -
Xcode开发framework包的一些经验
最近要做一个ios上的蓝牙sdk,研究了下framework,经过半个多月的折腾终于有了结果。再次吐槽下关于编程的中文网页质量之低。首先是在xcode中建立工程,编写代码,项目名为blesdk,这个名字后面还会用到。建立项目的时候记得设置为Cocoa Touch Framework,如图这里写图片描述编译库的时候要注意,基于发布状态有debug和release两种选择,然后基于模拟器...转载 2018-10-19 15:00:00 · 186 阅读 · 0 评论 -
Xcode10和iOS12踩坑
转载https://juejin.im/post/5b1634f0f265da6e61788998前言熬夜看完了WWDC 2018,睡前电脑挂着下载Xcode10。手机装好了iOS12,体验了一番,感觉比iOS11快多了,看了一眼各家App和我司的App,松了一口气,初步看来今年应该不需要做太多的适配工作,然后就睡了。(然而, 果然不能立flag!转载 2018-10-10 15:37:17 · 472 阅读 · 0 评论 -
Xcode8如何在项目中创建和使用自己的prefix.pch文件
标签:prefix.pch究竟是什么?翻阅了一些文章,其实我们可以把它称之为“precompiled header”,从字面上翻译就是预编译头文件,但我们一般叫它为预编译文件!前言:prefix.pch的出现应该追溯到Xcode6以前的版本,在我们每创建一个新的项目工程的时候,在工程里面肯定有一个prefix.pch文件。有经验的IOS开发工程师都知道,这个文件的出现为我们的编程工作带来...转载 2018-10-25 17:08:36 · 202 阅读 · 0 评论 -
Prefix.pch的作用和用法
转载https://www.cnblogs.com/zhuolaiqiang/archive/2011/04/25/2072274.htmlHello World_Prefix.pch:扩展名.pch表示"precompiled header",这是一个你工程要用到的来自于外部框架的头文件列表。xcode将编译这些头到文件,这将减少你在选择Build 或Build and Go时编译项目的时间...转载 2018-10-25 17:09:44 · 148 阅读 · 0 评论 -
Unity3D中继承在ios上的UIApplicationDelegate
有时我们需要修改Unity为我们生成的在ios上的代码,通常可能要修改主要的是UnityAppController这个类,他是ios的UIApplicationDelegate。我们能想到的方法就是能够继承这个类,这在unity里是支持的,做法是这样的: 编写你自己的类型CustomAppController,继承自UnityAppController,然后把你的CustomAp...转载 2018-10-25 17:21:12 · 940 阅读 · 0 评论 -
定制 UnityAppController
转载https://blog.csdn.net/huanguuuu1234567/article/details/78027207 开发 Unity3d 手机游戏的时候,不免要和第三方 SDK 打交道。于是总是需要实现自己的 AppController 来维护 SDK 的生命周期。Unity3d 提供了一套插件机制,可以很方便地在项目中使用自己的 CustomAppController...转载 2018-10-25 17:34:57 · 487 阅读 · 0 评论 -
iOS开发------使用Xcode编译器定位抛出异常的位置
版权声明:本文为博主原创文章,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。 https://blog.csdn.net/RunIntoLove/article/details/51297734虽然Objective-C对异常进行了封装,但日常敲代码的时候,往往会因为马虎,代码段出现了一点小小的错误,自己却发现不了。当然,很多时候,Xcode就会直接报错(也就是俗...转载 2018-10-23 11:42:33 · 278 阅读 · 0 评论 -
IL2CPP深入详解-总览
导语该系列将会分为以下几个部分:1. 总览(本文)2. c++代码解析3. 调试c++代码4. 方法调用(一般方法,虚方法等)5. 泛型共享6. 类型与方法的 P/invoke 封装7. 垃圾回收8. 测试框架与使用什么是IL2CPPIL2CPP 是 Unity 自 4.6.1p5版本 提出的一种新的 scripting backend 方式,为Unity提供...转载 2018-10-25 19:47:22 · 2449 阅读 · 0 评论 -
用Unity做游戏,你需要深入了解一下IL2CPP
这次我们翻译了一篇Unity官方博客上的文章,原文题目为AN INTRODUCTION TO IL2CPP INTERNALS ,作者是从事Unity软件开发的Joshua Peterson。文章的看点在于,它是以IL2CPP内部开发人员的角度来讲述的,所以对于开发者来说非常有参考价值。如果你对Mono,IL2CPP等一系列概念不甚了解,可以查看我们以前发过的这篇和这篇文章AN INTRO...转载 2018-10-25 20:05:49 · 12545 阅读 · 0 评论 -
IL2CPP 深入讲解:代码生成之旅
上次我们翻译了由Unity开发人员JOSH PETERSON所写的、IL2CPP深入讲解系列的第一期,现在第二期的中文版也新鲜出炉,欢迎大家分享给身边的程序员。IL2CPP INTERNALS: A TOUR OF GENERATED CODE作者:JOSH PETERSON翻译:Bowie这是IL2CPP深入讲解系列的第二篇博文。在这篇文章中,我们会对由il2cpp产生的C++代...转载 2018-10-25 21:28:36 · 1581 阅读 · 0 评论 -
XXX iPhone has denied the launch request.
https://blog.csdn.net/bellazhouyi/article/details/78489953在Xcode运行 应用的时候,出现 iPhone has denied the launch request.这个问题。目前我遇到的原因是:Signing 需要重新配置一下,重新选一下Automatically manage signing。就OK了。...转载 2018-10-26 15:46:54 · 1236 阅读 · 0 评论 -
IL2CPP 深入讲解:方法调用介绍
IL2CPP深入讲解:方法调用介绍IL2CPP INTERNALS: METHOD CALLS作者:JOSH PETERSON翻译:Bowie这里是本系列的第四篇博文。在这篇文章里,我们将看到il2cpp.exe如何为托管代码中的各种函数调用生成C++代码。我们在这里会着重的分析6种不同类型的函数调用:类实例的成员函数调用和类的静态函数调用。编译期生成的代理函...转载 2018-10-29 21:07:38 · 2386 阅读 · 0 评论 -
彻底解决IL2CPP 开启Strip Engine Code选项后带来的崩溃问题
IL2CPP根据C#生成的Cpp代码行数巨大,达到百万行级别,进而引起iOS平台可执行文件超过60MB的问题。因此在适当的时候有必要对UnityEngine下的代码进行Strip。但是这样做容易带来如下的问题:ReportException: UnityLogError Could not produce class with ID XXX.This could be caused by...转载 2018-10-24 14:42:07 · 6202 阅读 · 1 评论 -
IL2CPP 构建大小优化
https://support.unity3d.com/hc/zh-cn/articles/208412186-IL2CPP-%E6%9E%84%E5%BB%BA%E5%A4%A7%E5%B0%8F%E4%BC%98%E5%8C%96问题应用大小超过 iOS 移动网络下载的限制会强制 iOS 用户通过 WiFi 下载。 应用的通用安装包或者单独包均大于苹果提交指引的要求。原因我的应...转载 2018-10-24 15:04:42 · 2646 阅读 · 0 评论 -
IL2CPP 深入讲解:泛型共享
IL2CPP 深入讲解:泛型共享IL2CPP INTERNALS: GENERIC SHARING IMPLEMENTATION作者:JOSH PETERSON翻译:Bowie这是 IL2CPP深入讲解的第五篇。在上一篇中,我们有说到由IL2CPP产生的C++代码是如何进行各种不同的方法调用的。而在本篇中,我们则会讲解这些C++方法是如何被实现的。特别的,我们会对一...转载 2018-11-01 11:44:09 · 688 阅读 · 0 评论 -
iOS开发证书与配置文件的使用
前提众所周知,开发iOS应用必须要有iOS证书(Certificates)和配置文件(Provisioning Profiles),那么问题来了:1.什么是iOS证书,它是如何与app应用关联的?2.iOS开发证书和生产证书有何区别,如何使用的?3.证书与配置文件(Provisioning Profiles)是什么关系,配置文件在Xcode中如何使用?4.证书以及配置文件如何申请?...转载 2018-11-03 15:58:00 · 526 阅读 · 0 评论 -
IL2CPP 深入讲解:P/Invoke封装
(译注:P/Invoke,全称是platform invoke service,平台调用服务,简单的说就是允许托管代码调用在 DLL 中实现的非托管函数。而在这期间一个重要的工作就是marshall:让托管代码中的数据和原生代码中的数据可以相互访问。我在下文中都称之为内存转换。)这是IL2CPP深入讲解的第六篇。在这篇文章里,我们会讨论il2cpp.exe是如何生成在托管代码和原生代码间进行交...转载 2018-11-01 21:10:22 · 654 阅读 · 0 评论 -
IL2CPP 深入讲解:垃圾回收器的集成
系列的第七篇博文了,在本篇文章中,我们将探讨IL2CPP运行时如何于垃圾收集器协同工作。特别地,我们将会看到在托管代码中起作用的GC是如何和原生代码的GC进行交流的。整个系列都在强调,本篇也不例外:文中所描述的技术细节很有可能在未来会发生变化。在这篇文中中,我们还将会看到内部调用的API函数,它们被用来和垃圾收集器进行通讯。这些API没有被公开,因此你也不应该在正式的项目中使用这些函数。垃...转载 2018-11-01 21:11:45 · 598 阅读 · 0 评论