Xcode

Xcode 是苹果公司向开发人员提供的集成开发环境,用于开发 macOS、iOS、WatchOS 和 tvOS 的应用程序。

  • Total
  • 501
话题聚合
  • XCode启动参数和环境变量

    XCode启动参数和环境变量

    前言最近在写《iOS代码调试》系列的博客,估计会有十篇以上的内容,等到都写完了会在Github以一个仓库的形式开源出来,欢迎关注我的Github:LeoMobileDeveloper这一部分介绍XCode中Argument/Options???,通过这两个???,我们可以在启动App的时候传递一些额外的参数进去,覆盖系统的默认值,从而实现特定场景的调试...Core Data当你使用Core Data作为本地持久化存储的技术栈时,你会发现很难对程序进行跟踪,这时候可以使用启动参数log等级分为1到3,越高越详细-com.apple.CoreData.SQLDebug?3Log如下CoreData:?sql:?pragma?cache_size=1000CoreData:?sql:?SELECT?...还有Core Data迁移调试-com.apple.CoreData.MigrationDebugEnvironment Variable对比启动参数,环境变量的作用域更广一些,它更像是App的全局变量,在应用内任何地方都可以访问到...可以通过以下方式在代码里获取环境变量[[NSProcessInfo?processInfo]?environment]dyld优化过App启动时间的同学都知道,启动时间分为main前和main后,XCode可以通过环境变量来打印main函数前的几个过程这部分如果不了解,可以参考我之前的这篇文章《深入理解App的启动过程》常用的有两个环境变量DYLD_PRINT_STATISTICSDYLD_PRINT_STATISTICS_DETAILS比如,开启DYLD_PRINT_STATISTICS,再运行应用,会发现log打印,然后你就知道哪里拖慢了你的应用启动:Total?pre-main?time:?823.29?milliseconds?(100.0%)?????????dylib?loading?time:?226.83?milliseconds?(27.5%)????????rebase/binding?time:?391.41?milliseconds?(47.5%)????????????ObjC?setup?time:??72.95?milliseconds?(8.8%)???????????initializer?time:?131.81?milliseconds?(16.0%)???????????slowest?intializers?:???????????????libSystem.dylib?:??12.17?milliseconds?(1.4%)????????????????????Foundation?:??45.39?milliseconds?(5.5%)????libMainThreadChecker.dylib?:??74.21?milliseconds?(9.0%)除此之外,dyld还有很多可以用来调试的环境变量DYLD_FRAMEWORK_PATHDYLD_FALLBACK_FRAMEWORK_PATHDYLD_VERSIONED_FRAMEWORK_PATHDYLD_LIBRARY_PATHDYLD_FALLBACK_LIBRARY_PATHDYLD_VERSIONED_LIBRARY_PATHDYLD_PRINT_TO_FILEDYLD_SHARED_REGIONDYLD_INSERT_LIBRARIESDYLD_FORCE_FLAT_NAMESPACEDYLD_IMAGE_SUFFIXDYLD_PRINT_OPTSDYLD_PRINT_ENVDYLD_PRINT_LIBRARIESDYLD_BIND_AT_LAUNCHDYLD_DISABLE_DOFSDYLD_PRINT_APISDYLD_PRINT_BINDINGSDYLD_PRINT_INITIALIZERSDYLD_PRINT_REBASINGSDYLD_PRINT_SEGMENTSDYLD_PRINT_STATISTICSDYLD_PRINT_DOFSDYLD_PRINT_RPATHSDYLD_SHARED_CACHE_DIRDYLD_SHARED_CACHE_DONT_VALIDATEZombie开启Zombie,当对象被释放后,他们仍然在内存里,只不过视图访问僵尸对象会报错,可以用于调试EXC_BAD_ACCESS。
  • 从Xcode10不再支持libstdc++说起

    从Xcode10不再支持libstdc++说起

    某个静态库如果以前是依赖于libstdc++库中的代码,那么这个静态库在Xcode10中被链接时将会报符号找不到的链接错误信息:Undefined symbols for architecture XXX,比如下面的提示:Undefined?symbols?for?architecture?x86_64:??"std::__throw_length_error(char?const*)",?referenced?from:??????std::vectorint,?std::allocatorint>...正是因为内联命名空间的使用,所以工程中的代码是可以切换不同版本的C++标准库的,而且还可以同时链接两个不同的C++标准库libstdc++.dylib和libc++.dylib,因为这两个不同版本中的代码所在命名空间是不一样的,因此不会产生符号重复和冲突的错误...move?to?libc++?[-Wdeprecated]ld:?library?not?found?for?-lstdc++clang:?error:?linker?command?failed?with?exit?code?1?(use?-v?to?see?invocation)前面已经分析了Xcode10对两个标准库支持的来龙去脉,而且也简单的介绍了只要将老版本中的libstdc++.dylib拷贝到新版本的IDE环境中即可,具体的方法和流程大家可以参考如下两篇文章:https://blog.csdn.net/box_kun/article/details/80756832https://blog.csdn.net/u010960265/article/details/82754136但其实这样是有风险的,因为Xcode10中对于C++标准库的头文件都是基于C++11的,因此当你通过上述方法引入了老版本的C++标准库时,虽然在编译链接时不会报错正常编译通过,但是在运行时就可能会出现崩溃的问题,尤其是当你的静态库中将某个老的C++标准库中类的对象作为接口或者函数参数暴露出来给外界使用时就有可能因为新老版本的数据结构和内部实现的差异而造成运行时的崩溃。
    2018-10-24
  • iOS去除Xcode代码警告

    iOS去除Xcode代码警告

    去除Xcode代码警告的方法我们只需要将引起警告的代码用pragma?clang?diagnostic?push#pragma?clang?diagnostic?ignored?"警告的类型"和#pragma?clang?diagnostic?pop包裹起来就行了...举个例子,下面的代码Xcode会显示警告:button.font过时警告使用我们刚才将的方式将引起警告的代码包裹起来,就能顺利干掉这个警告了:去除警告#pragma?clang?diagnostic?push#pragma?clang?diagnostic?ignored?"-Wdeprecated-declarations"????button.font?=?[UIFont?systemFontOfSize:30]...找到警告类型的步骤很容易就找到对应的警告类型了如上图,我们点击了 ?Reveal in Log ?之后,会跳转到该界面,并且Xcode会自动闪量一下对应的警告的描述,在描述的后面就会找到警告的类型了。
    2018-10-19
  • 适配iPhoneX全系详解,更新Xcode10爬坑

    适配iPhoneX全系详解,更新Xcode10爬坑

    前言熬夜看了WWDC2018, 为了坚决响应苹果号召, 迅速贯彻落实iOS12的新系统, 公司组织决定让我作为一个排头兵, 更新Xcode10, 看看苹果的新思想, 新作为.脑阔疼.jpg更新Xcode10带来的问题坑点1. 重复的info.plist文件PS: 为了向大家展示错误, 这里是我手动添加了Masonry的库,其中Masonry库中带有info.plist文件解决方法 : 删除掉多余的info.plist文件,重新编译即可补充说明 :参考Stack Overflow中Xcode 10 Error: Multiple commands produce,修改Xcode编译配置Xcode->...粗略对一些业务场景进行了使用,没有发现明显需要进行处理的问题后续如果有发现有问题会继续更新~====================== 我是分割线 =======================iOS开发适配iPhoneX全系列小结闲扯蛋: 不出大家所料, 苹果手机在库克手中已经发扬光大, 已经逐步从消费品过渡到了奢侈品.对于用户来说,本次更新的亮点在我看来(想了很久..)是双卡双待,只能算是弥补和android的差距罢了,不过我依旧相信,新的iPhone依旧会成为很多消费者的装X神器,好了不多提,还是说说适配吧刚发布的三款新iPhone包括两款OLED屏幕的iPhone XS和iPhone XS Max,屏幕尺寸分别为5.8英寸(分辨率为1125 x 2436)和6.5英寸(分辨率为1242 x 2688),第三款设备是iPhone XR,配备6.1英寸LCD液晶屏(分辨率为828 x 1792)...iPhone XR/iPhone XS Max会默认使用iPhone X的启动图iPhoneXS Max以及iPhoneXR的逻辑像素是一致的,均为414*896pt,区别在于一个是@3x,一个是@2x针对这种样式的屏幕,我们处理方法是一样,几个宏直接搞定怎么判断是不是iPhone X。
    2018-10-15
  • iOS自动签名打包(xcodebuild)

    iOS自动签名打包(xcodebuild)

    #工程名字(Target名字)Project_Name="Target名字,系统默认和工程名字一样"#配置环境,Release或者DebugConfiguration="Release"#AdHoc版本的Bundle?IDAdHocBundleID="com.xxx"#AppStore版本的Bundle?IDAppStoreBundleID="com.xxx"#enterprise的Bundle?IDEnterpriseBundleID="com.xxx"#?ADHOC#证书名#描述文件ADHOCCODE_SIGN_IDENTITY="iPhone?Distribution:?xxxx"ADHOCPROVISIONING_PROFILE_NAME="xxxx-xxxx-xxxx-xxxx"#AppStore证书名#描述文件APPSTORECODE_SIGN_IDENTITY="iPhone?Distribution:?xxxx"APPSTOREROVISIONING_PROFILE_NAME="xxxx-xxxx-xxxx-xxxx"#企业(enterprise)证书名#描述文件ENTERPRISECODE_SIGN_IDENTITY="iPhone?Distribution:?xxxxx"ENTERPRISEROVISIONING_PROFILE_NAME="xxxx-xxxx-xxxx-xxxx"#加载各个版本的plist文件ADHOCExportOptionsPlist=./ADHOCExportOptionsPlist.plistAppStoreExportOptionsPlist=./AppStoreExportOptionsPlist.plistEnterpriseExportOptionsPlist=./EnterpriseExportOptionsPlist.plistADHOCExportOptionsPlist=${ADHOCExportOptionsPlist}AppStoreExportOptionsPlist=${AppStoreExportOptionsPlist}EnterpriseExportOptionsPlist=${EnterpriseExportOptionsPlist}echo?"~~~~~~~~~~~~选择打包方式(输入序号)~~~~~~~~~~~~~~~"echo?"??1?appstore"echo?"??2?adhoc"echo?"??3?enterprise"#?读取用户输入并存到变量里read?parametersleep?0.5method="$parameter"#?判读用户是否有输入if?[?-n?"$method"?]then#clean下xcodebuild?clean?-xcodeproj?./$Project_Name/$Project_Name.xcodeproj?-configuration?$Configuration?-alltargets????if?[?"$method"?=?"1"?]????then#appstore脚本xcodebuild?-project?$Project_Name.xcodeproj?-scheme?$Project_Name?-configuration?$Configuration?-archivePath?build/$Project_Name-appstore.xcarchive?clean?archive?build??CODE_SIGN_IDENTITY="${APPSTORECODE_SIGN_IDENTITY}"?PROVISIONING_PROFILE="${APPSTOREROVISIONING_PROFILE_NAME}"?PRODUCT_BUNDLE_IDENTIFIER="${AppStoreBundleID}"xcodebuild?-exportArchive?-archivePath?build/$Project_Name-appstore.xcarchive?-exportOptionsPlist?$AppStoreExportOptionsPlist?-exportPath?~/Desktop/$Project_Name-appstore.ipa????elif?[?"$method"?=?"2"?]????then#adhoc脚本xcodebuild?-project?$Project_Name.xcodeproj?-scheme?$Project_Name?-configuration?$Configuration?-archivePath?build/$Project_Name-adhoc.xcarchive?clean?archive?build?CODE_SIGN_IDENTITY="${ADHOCCODE_SIGN_IDENTITY}"?PROVISIONING_PROFILE="${ADHOCPROVISIONING_PROFILE_NAME}"?PRODUCT_BUNDLE_IDENTIFIER="${AdHocBundleID}"xcodebuild?-exportArchive?-archivePath?build/$Project_Name-adhoc.xcarchive?-exportOptionsPlist?$ADHOCExportOptionsPlist?-exportPath?~/Desktop/$Project_Name-adhoc.ipa????elif?[?"$method"?=?"3"?]????then#企业打包脚本xcodebuild?-project?$Project_Name.xcodeproj?-scheme?$Project_Name?-configuration?$Configuration?-archivePath?build/$Project_Name-enterprise.xcarchive?clean?archive?build?CODE_SIGN_IDENTITY="${ENTERPRISECODE_SIGN_IDENTITY}"?PROVISIONING_PROFILE="${ENTERPRISEROVISIONING_PROFILE_NAME}"?PRODUCT_BUNDLE_IDENTIFIER="${EnterpriseBundleID}"xcodebuild?-exportArchive?-archivePath?build/$Project_Name-enterprise.xcarchive?-exportOptionsPlist?$EnterpriseExportOptionsPlist?-exportPath?~/Desktop/$Project_Name-enterprise.ipaelse????echo?"参数无效...."????exit?1????fifi注意:1.由于脚本配置的路径问题,所以xcodebuild.sh和xxx.xcodeproj放到同一个目录下,否则会出现路径问题...如下图:执行脚本打开终端,cd到当前脚本所在路径,在终端输入:./xcodebuild.sh,点击回车即可...脚本下载路径:github下载地址#author?by?得力#注意:脚本目录和WorkSpace目录在同一个目录#工程名字(Target名字)Project_Name="Target名字,系统默认等于工程名字"#workspace的名字Workspace_Name="WorkSpace名字"#配置环境,Release或者Debug,默认releaseConfiguration="Release"#AdHoc版本的Bundle?IDAdHocBundleID="com.xxxx"#AppStore版本的Bundle?IDAppStoreBundleID="com.xxxx"#enterprise的Bundle?IDEnterpriseBundleID="com.xxxx"#?ADHOC证书名#描述文件ADHOCCODE_SIGN_IDENTITY="iPhone?Distribution:?xxxx"ADHOCPROVISIONING_PROFILE_NAME="xxxxx-xxxx-xxxx-xxxx-xxxxxx"#AppStore证书名#描述文件APPSTORECODE_SIGN_IDENTITY="iPhone?Distribution:?xxxxx"APPSTOREROVISIONING_PROFILE_NAME="xxxxx-xxxx-xxxx-xxxx-xxxxxx"#企业(enterprise)证书名#描述文件ENTERPRISECODE_SIGN_IDENTITY="iPhone?Distribution:?xxxx"ENTERPRISEROVISIONING_PROFILE_NAME="xxxxx-xxxx-xxx-xxxx"#加载各个版本的plist文件ADHOCExportOptionsPlist=./ADHOCExportOptionsPlist.plistAppStoreExportOptionsPlist=./AppStoreExportOptionsPlist.plistEnterpriseExportOptionsPlist=./EnterpriseExportOptionsPlist.plistADHOCExportOptionsPlist=${ADHOCExportOptionsPlist}AppStoreExportOptionsPlist=${AppStoreExportOptionsPlist}EnterpriseExportOptionsPlist=${EnterpriseExportOptionsPlist}echo?"~~~~~~~~~~~~选择打包方式(输入序号)~~~~~~~~~~~~~~~"echo?"??1?adHoc"echo?"??2?AppStore"echo?"??3?Enterprise"#?读取用户输入并存到变量里read?parametersleep?0.5method="$parameter"#?判读用户是否有输入if?[?-n?"$method"?]then????if?[?"$method"?=?"1"?]????then#adhoc脚本xcodebuild?-workspace?$Workspace_Name.xcworkspace?-scheme?$Project_Name?-configuration?$Configuration?-archivePath?build/$Project_Name-adhoc.xcarchive?clean?archive?build?CODE_SIGN_IDENTITY="${ADHOCCODE_SIGN_IDENTITY}"?PROVISIONING_PROFILE="${ADHOCPROVISIONING_PROFILE_NAME}"?PRODUCT_BUNDLE_IDENTIFIER="${AdHocBundleID}"xcodebuild??-exportArchive?-archivePath?build/$Project_Name-adhoc.xcarchive?-exportOptionsPlist?${ADHOCExportOptionsPlist}?-exportPath?~/Desktop/$Project_Name-adhoc.ipa????elif?[?"$method"?=?"2"?]????then#appstore脚本xcodebuild?-workspace?$Workspace_Name.xcworkspace?-scheme?$Project_Name?-configuration?$Configuration?-archivePath?build/$Project_Name-appstore.xcarchive?archive?build?CODE_SIGN_IDENTITY="${APPSTORECODE_SIGN_IDENTITY}"?PROVISIONING_PROFILE="${APPSTOREROVISIONING_PROFILE_NAME}"?PRODUCT_BUNDLE_IDENTIFIER="${AppStoreBundleID}"xcodebuild??-exportArchive?-archivePath?build/$Project_Name-appstore.xcarchive?-exportOptionsPlist?${AppStoreExportOptionsPlist}?-exportPath?~/Desktop/$Project_Name-appstore.ipa????elif?[?"$method"?=?"3"?]????then#企业打包脚本xcodebuild?-workspace?$Workspace_Name.xcworkspace?-scheme?$Project_Name?-configuration?$Configuration?-archivePath?build/$Project_Name-enterprise.xcarchive?archive?build?CODE_SIGN_IDENTITY="${ENTERPRISECODE_SIGN_IDENTITY}"?PROVISIONING_PROFILE="${ENTERPRISEROVISIONING_PROFILE_NAME}"?PRODUCT_BUNDLE_IDENTIFIER="${EnterpriseBundleID}"xcodebuild??-exportArchive?-archivePath?build/$Project_Name-enterprise.xcarchive?-exportOptionsPlist?${EnterpriseExportOptionsPlist}?-exportPath?~/Desktop/$Project_Name-enterprise.ipa????else????echo?"参数无效...."????exit?1????fifi可能出现的问题1.如果配置的证书名字、BundleID、配置文件UUID不一致,脚本就会报错,这个可以看脚本提示错误,由于错误非常明显,所以就不在截图了。
    2018-10-10
  • 支持Xcode10和适配iPhone XS Max、iPhone XR

    支持Xcode10和适配iPhone XS Max、iPhone XR

    2.library not found for - lstdc++.6.0.9pod工程编译通过后会进行主工程的编译,如果依赖了libstdc++.tbd和libstdc++.6.0.9.tbd,就会报这个error,原因是苹果在XCode10和iOS12中移除了libstdc++这个库,由libc++这个库取而代之,苹果的解释是libstdc++已经标记为废弃有5年了,建议大家使用经过了llvm优化过并且全面支持C++11的libc++库...临时的解决方法就是把libstdc++.6.0.9.tbd这个文件导入到Xcode10中,分别放到以下目录 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/ ? 和 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/ ?这时编译可以通过...示例:static?let?faceIDDeviceArray?=?Device.allFaceIDCapableDevicesstatic?let?navigationHeight:?CGFloat?=?{????????if?faceIDDeviceArray.contains(currentDevice)?{????????????return?faceIDDeviceNavHeight????????}?else?{????????????return?ordinaryDeviceNavHeight????????}????}()同时DeviceKit中也提供这样一个方法,运行模拟器的时候调用,也会返回真实的设备名称///?Get?the?real?device?from?a?device.?If?the?device?is?a?an?iPhone8Plus?simulator?this?function?returns?.iPhone8Plus?(the?real?device).????///?If?the?parameter?is?a?real?device,?this?function?returns?just?that?passed?parameter.????///????///?-?parameter?device:?A?device.????///????///?-?returns:?the?underlying?device?If?the?`device`?is?a?`simulator`,????///?otherwise?return?the?`device`.????public?static?func?realDevice(from?device:?DeviceKit.Device)?->。
    2018-09-29
  • “人机结对”来编程,「aiXcoder」要使软件开发自动化

    “人机结对”来编程,「aiXcoder」要使软件开发自动化

    近期,36氪接触到一家公司「硅心科技」,运用深度学习等技术研发了一款智能编程机器人产品aiXcoder,希望实现以人工智能驱动的自动化软件开发模式...李戈表示:硅心科技希望能够面向C端,从拥有企业级用户出发,进一步推广至程序员个人,从而构建程序员社区,将aiXcoder服务覆盖到软件行业更多从业者...如果Star代码是引用自他人,aiXcoder会通知相应开发者,并提供给他们客户端链接,这样他们便可以查阅aiXcoder的训练成果并进行产品试用,以此形成传播效应。
    2018-09-29
  • 苹果正式发布 Xcode 10:新 SDK、Swift 4.2、深色模式

    苹果正式发布 Xcode 10:新 SDK、Swift 4.2、深色模式

    苹果自家 IDE 开发环境 Xcode 正式更新至版本 10.0,带来 iOS 12、watchOS 5、tvOS 12 和 macOS Mojave 开发 SDK 以及 Swift 4.2 开发语言支持...除了配合 macOS Mojave 系统加入深色模式外,Xcode 10 还可以让开发者轻易开发出具有深色模式的应用...另外新版本还强化了代码协作、除错以及持续整合功能,Swift 编译速度也获得提升,在大型应用上甚至可以提升两倍速度。
    2018-09-18
  • iOS 应用程序开发:如何使用苹果官方模版制作图标?Sketch + Xcode

    iOS 应用程序开发:如何使用苹果官方模版制作图标?Sketch + Xcode

    本文,我将讲解目前我使用的一个的比较令人满意的解决方案,此方案采用苹果官方模版并加以优化,可以保证输出图标满足 P3 色域,自动更新,方便填充等几个需求...苹果官方提供的 iOS 图标 P3 色域 Sketch 模版...链接如下: 如何使用 Sketch 制作 iOS 图标并自动填充 Xcode。
    2018-08-30
  • 2018新iPhone叫iPhone xx?Xcode 10设备列表有暗示

    开发者 Guilherme Rambo 发推表示从 Xcode 10 应用瘦身(App Thinning)设备列表中发现了名为iPhone XX的设备,但应该只是个占位符...Rambo 提到该设备的识别符是 iPhone 9,7,推测是「平价」iPhone,内部代号 LCP,型号是 N84...话又说回来,你觉得新款 iPhone 产品线该如何命名。
  • PYPL 7 月 IDE 指数榜:Visual Studio Code 击败 Xcode

    PYPL 7 月 IDE 指数榜:Visual Studio Code 击败 Xcode

    PYPL?7 月最新 IDE 指数已发布,搜索最多的前三大...“?Top IDE Index” 是 PYPL 通过分析在 Google 上搜索 IDE 的频率(次数)而生成,IDE 被搜索越多,则认为越流行...排名前三的?Visual Studio、Eclipse 和 Android Studio 走势图:VS Code 和 Xcode 走势图:完整的排名请查看:Top IDE index。
    2018-07-04
  • Xcode 小技巧:利用 assets 配置针对不同设备的资源

    Xcode 小技巧:利用 assets 配置针对不同设备的资源

    新建项目的时候选择 “new data set”:接着在属性栏就可以配置对应不同设备的资源分类,除了常规的产品线区分,还可以按照设备内存大小和Metal 版本...如果有的资源只在高性能的设备上使用,按照内存、Metal 版本区分是一个好主意...如果设备只选择了 iPhone 就会出现这样的 3 * 3 个格子,里面可以放入对应的资源(plist 也可以)。
    2018-07-02
  • iOS Xcode 的汇编模式切换

    iOS Xcode 的汇编模式切换

    每个函数方法的第一个地址,就是这个函数的入口地址,也就是说我们进行函数调用时,实际上是让CPU跳转到这个地址并执行,更加具体的就是将ip/pc寄存器的值设置为这个函数的入口地址...Create Symbolic Breakpoint 或者快捷键:option + command + 来建立符号断点:2.* 汇编模式下fn + control + F7 : ?指令单步执行,当遇到函数调用时会跳入函数内部...expr (IMP)[self methodForSelector:_cmd]//执行某个方法调用.三、查看内存地址Debug ->。
    2018-06-15
  • libstdc++适配Xcode10与iOS12

    编译报错当你开心地升级完新macOS,以及新XCode,准备体验了一把 Dark Mode 编程模式,开心的打开自己的老项目的时候,发现编译不通过了╮(╯_╰)╭如果你的工程中如果依赖libstdc++,无论是你本身的功能用 C++ 跨平台编写,还是你引入了某个SDK其内部依赖这个libstdc++,都会导致整个工程编译不通过,报出Undefined symbols,C++ 的 List 找不到了原因是苹果在XCode10和iOS12中移除了libstdc++这个库,由libc++这个库取而代之,苹果的解释是libstdc++已经标记为废弃有5年了,建议大家使用经过了llvm优化过并且全面支持C++11的libc++库...cp?/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/libstdc++.*?/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/拷贝过去后,你就可以在新XCode(黑暗模式真心舒服)下面看到libstdc++了,放心的添加到工程里吧模拟器运行拷贝libstdc++之后就可以编译通过了,但App在模拟器里一运行就崩溃,就会报动态链接库装载出错,看出错提示说是.dylib与这个模拟器不符合...(凑合一下在XCode里调试的时候用iOS11模拟器吧,忍忍)真机运行拷贝libstdc++之后,使用iOS12的真机运行,没有啥太大的问题正确解决办法如果你自己的业务??槭褂昧薼ibstdc++,那么就把??榇胫匦碌髡览祃ibc++,然后重新检查是否存在问题,重新编译如果你引用的三方库使用了libstdc++,那么向三方库寻求支持,进行升级libc++Apple 为什么在 Mavericks 里把 C++ 标准库从 libstdc++ 改成 libc++。
  • Cleaner for Xcode – Xcode 清理工具[macOS][¥12→0]

    Cleaner for Xcode – Xcode 清理工具[macOS][¥12→0]

    Cleaner for Xcode 可以检测您的 Xcode 占用磁盘的情况,统计各个部件所占用的空间...并帮助您清理版本升级过程中遗留下的文件,以及编译过程中产生的中间文件...来自反斗限免。
    2018-06-08
  • 苹果发布Xcode 10 beta 测试版:支持iOS 12 ARKit 2、全新Mac App开发

    苹果发布Xcode 10 beta 测试版:支持iOS 12 ARKit 2、全新Mac App开发

    IT之家6月5日消息?在今天凌晨举行的WWDC18全球开发者大会上,苹果发布了macOS Mojave beta测试版系统,并且还推出了全新的Xcode 10 beta测试版,可以使用全新的暗黑模式...Xcode 10 beta测试版内包括了适用于iOS 12、macOS Mojave、watchOS 5、tvOS 12开发的SDK工具,还有一系列提升效率的软件和工具等,能够构建更具交互性和智能的应用体验...苹果还带来了Siri快捷方式功能,使用SiriKit,Siri现在可以智能地将用户的日常例程与你的应用程序配对。
    2018-06-05
  • macOS 10.14 截图曝光 全新深色模式、Xcode 10

    macOS 10.14 截图曝光 全新深色模式、Xcode 10

    善于发现 macOS 和 iOS 中隐藏文件的开发者 Steve Troughton Smith 今天分享了几张 macOS 10.14...首先,我们可以看到的是全新的深色模式,目前 macOS 中的深色模式并不够彻底,只是将 Dock...这次 macOS 10.14 终于要实现了,这次深色模式开启后,废纸篓图标也从白色变成黑色,很有趣。
    2018-06-02
  • iOS Xcode9 封装生成.framework

    iOS Xcode9 封装生成.framework

    打开终端,输入lipo -create命令,将Debug-iphoneos下FrameworkTest.framework目录下的FrameworkTest文件拖拽到终端中,会自动有空格...然后将Debug-iphonesimulator下FrameworkTest.framework目录下的FrameworkTest文件拖拽进来,也会自动有空格,然后输入 -output,敲空格,在引入一个新的路径...(这点没有亲测)2、带有图片资源的需要把图片打包成Bundle文件,和framework一起拷贝到相。
    2018-03-30

相关链接

必威体育 www.langqinqh.com 为你发现的专属好站