很多ios开发者大概对CocoaPods并不陌生,我们几乎已经习惯了在pod文件中添加一行即可将一个库导入到自己的工程中,不得不说,在ios开发的历史中CocoaPods功不可没,即便在未来它也会在开发者中占据半壁江山。但是在这里我向大家介绍一个新的第三方库管理工具-Carthage,不管你是菜鸟还是老鸟,都希望这篇文章能为你打开一个新的世界。
Carthage 使用于 Swift 语言编写,只支持动态框架,只支持 iOS8+的Cocoa依赖管理工具。
这篇文章,我们将按照操作的先后顺序依次来介绍。首先,安装Homebrew,其次安装Carthage,以及更新Carthage,最后查看Carthage版本。
ReactiveCocoa用GitHub推荐的方式比较麻烦,尝试改用Carthage进行导入
上篇博客详细的聊了CocoaPods的相关内容,今天我们就来介绍另一个Cocoa的包管理器Carthage。在上家公司用Swift开发工程时,用的就是Carthage。Carthage诞生于14年11月份,是用Swift语言开发的,相对于CocoaPods来说是一个新生事物。本篇博客主要介绍一下Carthage的使用姿势,接下来几篇博客会介绍一下Carthage的源代码,看一下其工作原理。本篇博客我们会先介绍Carthage的按照和使用,然后再看一下Carthage额工作原理,然后再将自己的库关联到Carthage,最后来对比一下CocoaPods。
在看 carthage 时,其中需要配置一个 copy-frameworks 脚本,此脚本特殊的地方,需要手动填写 Input Files 和 Output Files.一个一个填写,很糟心~ 观察了下,对应修改的是 xxx.xcodeproj/project.pbxproj 中这个文本文件的特定位置的字段,类似于: /* Begin PBXShellScriptBuildPhase section */ 750D68EC2000817C006235CD /* ShellScript */
之前一直用CocoaPods,这次做编译时间优化时,把某些Pod依赖的库改为了Carthage依赖的,这里记录一下Carthage的使用。
为什么要使用Carthage CocoaPods是已存在很长时间的Cocoa依赖管理器, 那么为什么要创建Carthage呢? CoaoaPods是一套整体解决方案,我们在Podfile中指定好我们需
这个问题我们简单点一句话总结: 你知道什么事CocoaPods吧,我相信只要是做iOS的都知道,Carthage 的属性和作用和我们常用的CocoaPods都是一样的,这样我相信不知道这玩意的同学也就知道了它是用来干嘛的。我们也就不再过多的解释。
我想在 Cocoapods 进行执行 pre_command 命令时候执行 Carthage 一些命令生成我需要 Framework。
swift将framework提交到Carthage管理 提交到Carthage管理 创建好自己的framework工程 然后共享你的schemes image
但是不用灰心,最大同性交友网站--GitHub上面一个开源了Mac端的项目12306ForMac。如果你对它的安全性不放心,那么我们可以下载下来看看,自己运行看看效果,自己看看代码有没后门之类的哈哈。
CocoaPods发展到现在基本上已经是ios开发的标准依赖工具,我们只需要安装好pod后在项目中新建一个Podfile文件并且写入你需要的三方框架,就能很方便得使用第三方框架,搞技术的都喜欢造轮子,这不又一个轮子Carthage,那它到底有什么优点,是否值得我们换掉CocoaPods呢?
Carthage使用 简介 carthage是一个和cocopods类似的第三方库管理工具。 开始 创建一个文件用于配置安装哪些库。 $touch Cartfile 例如导入AFNetworking库,在创建的Cartfile文件中编辑 github "AFNetworking/AFNetworking" 保存退出,下面就该安装了。 $Carthage update --platform iOS 配置xcode项目 Target -> Build Phases -> Link Library with
是因为Carthage当前的Framework是用Swift4.0.3编译的,只需要update一下Carthage的三方库就好,命令如下: carthage update --platform iOS 希望能帮到大家!
【已解决】Carthage 集成 Framework 提示因为 Bitcode 无法打包
鉴于现在大部分 iOS 常用库都还是用 OC 实现的,我们常常需要用到一个叫做 Bridging-Header.h 的东西来在 Swift 项目中使用 OC 实现的框架,当然前提是在这个项目里我们不能或者不想使用 Cocoapods 或 Carthage。
前言 本篇安装brew、carthage,解决启动appium时的报错问题,另外安装appium-doctor检查appium的环境 1.brew 2.carthage 3.appium-doctor 一、brew安装 1.brew是一个软件包管理工具,类似于centos下的yum或者ubuntu下的apt-get,类似于python之pip或java之maven,就是这么回事。 2.brew的安装是需要用ruby安装的,ruby这玩意mac自带了,终端输入:ruby -v 可查看版本号 3.继续输入这个这
WCDB WCDB是一个高效、完整、易用的移动数据库框架,基于SQLCipher,支持iOS, macOS和Android。 WCDB for iOS/macOS 基本功能 WINQ(WCDB语言集成
Fastmonkey是一款集成了众家之长,基于XCTestWD、swiftMonkey二次开发的开源的iOS应用Monkey测试工具。
作为经常用Mac的开发,通常会有一个需求,需要在文件夹Finder中快速打开命令行,且进入当前文件夹。而如果使用 Xcode 的话,通常还会有另一个需求,即在 Xcode 中快速打开命令行,进入当前项目。
这个的解决方案,直接Google,第一个stackoverflow的链接是Xcode 14 needs selected Development Team for Pod Bundles,这里面给出的解决方法是,在Podfile里增加下面代码,然后运行Pod install,设置Pod库的DEVELOPMENT_TEAM是开发者账号的team。
WebDriverAgent简介 WebDriverAgent是Facebook 在去年的 SeleniumConf 大会上推出了一款新的iOS移动测试框架。当时的推文申明,还只支持模拟器,不过在今年4月更新的版本中,官方宣称支持真机测试了,大家可以查看官方github 的介绍:https://github.com/facebook/WebDriverAgent 下面摘录一段官方对于WebDriverAgent的介绍字段: WebDriverAgent 在 iOS 端实现了一个 WebDriver serv
之前集成了网络货运平台SDK,已经成功初始化,调试过。后来由于变动,这个功能搁置了,最近重新启用这个功能,发现初始化失败。报错如下:
该库提供了具有缓存支持的异步图像下载器。为方便起见,我们为UI元素例如UIImageView,UIButton,MKAnnotationView等类添加了categories。
5. 安装 node(目的是安装 npm)官方下载地址https://nodejs.org/en/download/,下载.pkg 文件安装
在 targets 下的类别中,依次将 Build Settings 里的 Validate Workspace 修改为 Yes
【已解决】自己制作 Framework提示Missing submodule xxx
现在很多公司,尤其是研发团队开始使用mac OS了,测试团队也不列外。所以,特意写下 mac OS 下自动化测试的各种环境搭建吧,计划分期写,感兴趣的持续关注。
顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript,
做UI自动化,最难的一步就是在环境搭建上,怎么去搭建一个UI自动化测试的环境,会难住很多人,在Mac上搭建appium如何搭建呢,本文带着大家去领略如何在mac上搭建appium测试环境。下面就是详细的搭建的过程。
Module compiled with Swift 5.2.4 cannot be imported by the Swift 5.3 compiler
三方库的管理工具有很多,Cocoapods只是其中一种,除此之外还有Carthage,接下来我们就来分析一下二者。
看了很多关于iOS组件化的文章,觉得光是看不写不足以很好的理解组件化,所以就自己写了一个demo以组件化构建。
2017年国庆后lucio开始由Android开发转做iOS开发了,在这之前lucio可是什么苹果产品都没用过的小白,这里po一下小白的iOS开发学习历程,包括看的书、视频、文章,看看lucio如何从小白快速(并不快┓( ´∀` )┏其实)入门iOS开发的。
这篇文章收集了CentOS、Oracle、RedHat等系统查看发行版本、内核版本、位数的方法,欢迎补充。 系统 发行版本 -- 内核版本、位数 RedHat cat /etc/issue cat /etc/redhat-release lsb_release -a CentOS cat /etc/issue cat /etc/centos-release cat /proc/version Debian cat /etc/issue cat /etc/debian_version c
为了提高工程的编译速度,准备把第三方库编译成 Framework。这样就可以省掉编译这些第三方库的很多时间了。
Xcode如何下载安装或更新呢?打开Mac机上的App Store,搜索Xcode,进行安装或者更新,注意观察下Xcode的更新日志,可以看到当前版本支持的IOS SDK版本。
解决方法:ruby-china源域名已更换,为https://gems.ruby-china.com,而非org
CocoaPods在Cocoa开发日常工作中经常用到的包管理器,即依赖管理工具。有的项目也有用Carthage的,Carthage是一个比较新的依赖管理工具,是使用Swift语言开发的。Carthage在上家公司的一个项目中实践过一些,用着也挺方便。本篇博客就先系统的了解一下CocoaPods的使用方式和工作原理, 然后在下篇博客中会系统的了解一下Carthage的使用方式和工作原理,这两个依赖仓库系统梳理完毕后,会做一个比较。
功能不止作弊这么玩,其实很强大的,如常用于手机应用自动化测试,具体内容可以参考下文: 基于WebDriverAgent代理服务,实现iOS手机app自动化测试的框架搭建 ATX使用 Python 库 facebook-wda 完成网易云音乐 iOS 客户端的自动化测试 (示例)
由于未知原因苹果在mac OS 10.12中删除了这个文件,因此我们需要从10.11系统中提取或下载--百度网盘 安装完毕后,在新增build target中我们就可以看到多了AppProxy和 Package Tunnrl Provider。我们选择Package Tunnrl Provider
在测试中常见的,如 xcode 版本问题,打包证书问题,闪退无法重现,不好抓 log, 上架被拒问题等等。本文总结一些常见的坑,可以完美绕过去。
作者 | Sergio De Simone 译者 | 马可薇 策划 | 丁晓昀 Dave Verwer 和 Sven A. Schmidt 于三年前(2019 年)创建了 Swift 包索引,目的为让 Swift 开发者能够轻松地搜索发现 Swift 包。目前该项目已正式获得苹果的赞助,使其成为 Swift 包相关事宜的官方网站。 顾名思义,Swift 包索引并不是完整的软件包仓库,而是专注于为软件包元数据编制索引,为开发者们在决定项目要使用的软件包时提供其完善的信息。 其所能回答的问题包括:某个
上一篇分享了 Windows环境Appium自动化测试环境搭建 但是由于Win环境不支持iOS设备测试,因此这里再分享Appium+Mac环境搭建,值得一提的是:在Mac环境既可以进行Android也可以进行iOS App自动化测试。
最近升级了Xcode9.3,对应的swift版本是4.1。 发现在编译时发生了一些要命错误。。。
移动端的自动化测试,最常见的是 Android 自动化测试,我个人觉得 Android 的测试优先级会更高,也更开放,更容易测试;而 iOS 相较于 Android 要安全稳定的多,但也是一个必须测试的方向,这个系列文章记录了 iOS 自动化测试的一些实践。
在MacOS中homebrew是个非常方便靠谱的工具,但是安装的时候有时候会遇到443错误。
在 iOS 和 macOS 开发中, Swift 包现在变得越来越重要。Apple 已经努力推动桥接那些缝隙,并且修复那些阻碍开发者的问题,例如阻碍开发者将他们的库和依赖由其他诸如 Carthage[1] 或 CocoaPods[2] 依赖管理工具迁移到 Swift 包依赖管理工具的问题,例如没有能力添加构建步骤的问题。这对任何依赖一些代码生成的库来说都是破坏者,比如,协议和 Swift 生成。
领取专属 10元无门槛券
手把手带您无忧上云