首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    代码管理| 简易教程之Cocopods的安装和使用

    1.库文件引入及配置: 库文件的引入主要由Pods工程中的Pods-ProjectName-frameworks.sh脚本负责, 在每次编译的时候,该脚本会帮你把预引入的所有三方库文件打包的成ProjectName.a...2.Resource文件: Resource资源文件主要由Pods工程中的Pods-ProjectName-resources.sh脚本负责,在每次编译的时候, 该脚本会帮你将所有三方库的Resource...文件copy到目标目录中。...3.依赖参数设置: 在Pods工程中的的每个库文件都有一个相应的SDKName.xcconfig,在编译时,CocoaPods就是通过这些文件来设置所有的依赖参数的, 编译后,在主工程的Pods文件夹下会生成两个配置文件...编辑podfile文件:vi 后直接拖动工程类目下的 podfile文件到终端中即可得到对于的路径 vi /Users/iOS002/Desktop/MyNewTest/Podfile 输入你想集成的类库名称后

    64030

    【IOS开发高级系列】CocoaPods使用总结专题

    ios, '7.0' pod "AFNetworking", "~>2.0"         注意,这段文字不是小编凭空生成的,可以在AFNetworking的github页面找到。...这时候,你会发现你的项目目录中,出现一个名字为Podfile的文件,而且文件内容就是你刚刚输入的内容。注意,Podfile文件应该和你的工程文件.xcodeproj在同一个目录下。         ...文件,命令如下: open -e Podfile     3、在弹出的编辑界面中输入下面内容: platform :ios pod 'JSONKit', '~> 1.5pre'     4、然后调用下面命令来进行初始化...这是pod生成的项目管理文件,打开LibDemo.xcworkspace项目文件,在Xcode里看到是这样的目录结构:         这里要注意的一点是,如果不调用创建Podfile命令就直接调用pod...这是pod生成的项目管理文件,打开LibDemo.xcworkspace 项目文件,在Xcode里看到是这样的目录结构:         除了这个文件,你会发现还多了另外一个文件“Podfile.lock

    1.7K81

    RN(0.67)接入现有swift项目及常见问题

    一、创建RN新项目 1、创建新项目 在安装好RN环境之后,执行如下命令 npx react-native init xxx项目名 找到项目的ios目录,将现有的swift项目拷贝到ios目录中 2、...修改podfile文件 最新的RN项目中的podfile文件可以在下面这个链接上查看: RN集成Pod的版本 参考该文件并对自己的Podfile文件进行修改,如: require_relative '....目录下,执行pod install命令安装项目所需要的库 3、加载 在合适的地方加载bundle文件测试 比如可以放在appdelegate文件 func application(_ application...中,添加View controller-based status bar appearance并设置为NO 问题2: [!]...Unknown `--is-lightweight' option Try `/Users/galahad/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317

    1.1K10

    iOS_Error(一)

    还是要警告大家,系统默认产生的文件比如info.plist文件,最好不要自己乱动,否则就会产生一些莫名其妙的问题。...描述 linker command failed with exit code 1 (use -v to see invocation) 将.a文件删除 在重新添加  or 文件冲突  看看详情 仔细检查一下就知道了...造成的原因:   info文件中的字段Executable file与 build settings栏中的Packaging中的Product Name不一致就会导致上述截图的问题 解决办法:   讲info.plist...的文件中的Executable.file中的文件修改为:$(PRODUCT_NAME)   修改之前       修改之后: // 之前添加: reason: '[ld) Error  Group 导入了两对相同的文件 or 文件有冲突  看看详情仔细检查一下就知道了 clang: error: no such file or

    94320

    iOS里的动态库和静态库

    用MachOView查看可执行文件。其中@rpth这个路径表示的位置可以查看Xcode 中的链接路径问题,而现在表示的其实就是.app下的Framework文件夹。...创建静态Framework 1.选择Framework 创建 2.选择为静态库 3.生成对应版本的静态库 静态库的版本(4种) 真机-Debug版本 真机-Release版本 模拟器-Debug版本...编译模拟器和真机的所有CPU架构。 然后选择模拟器或者Generic iOS Device运行编译就会生成对应版本的Framework了。...造成这个问题的原因主要是 Swift 的运行库没有被包含在 iOS 系统中,而是会打包进 App 中(这也是造成 Swift App 体积大的原因),静态库会导致最终的目标程序中包含重复的运行库(这是苹果自家的解释...这些生成的动态库将链接到主项目给主工程使用,但是我们上面说过动态库需要在主工程target的General -> Embedded Binaries中添加才能使用,而我们并没有在Embedded Binaries

    2.9K20

    如何将你写的框架添加cocoapod支持

    podspec文件很简单,但是第一次做不是很容易.我推荐看一下 猫爪的 blog点击打开链接 blog里面介绍的很详细,在此也要感谢猫爪,为我解答了遇到的问题....,比如说一个项目同时兼容iOS6和iOS7,但某一个framework只在iOS7上有,这时候如果用强链接,那么在iOS7上运行就会crash,使用weak_frameworks可以避免这种情况。...官方specs仓库中 : 链接为:https://github.com/CocoaPods/Specs 私有库实现,编写podfile 如果由于某些原因我们编写的库不能公开,但是又想使用pods来进行管理...配置非ARC文件(8.5号补充) 前几天项目中由于历史原因,导致有一个私有的pods库中某几个文件是在非ARC时代写的,如果要进行修改工程量浩大,于是乎要对这几个文件单独处 理,这几个文件不使用arc其他文件使用...3、上传 CocoaPods 0.33中加入了Trunk服务。 要想使用Trunk服务,首先你需要注册自己的电脑。这很简单,只要你指明你的邮箱地址(一般为spec文件中的)和名称即可。

    2.1K10

    在 iOS11 下 app 图标变空白的问题解决

    # 背景: 最近在做项目的时候发现运行在模拟器上图标丢失,变成了苹果默认的白板图标。...因为一开始只在模拟器上出现,而且也确认没有人动过图标文件,所以没有在意,后来慢慢的该问题出现在真机上,一开始是只有 iPhone X,然后就是 iPhone 8,慢慢的变成不管是模拟器还是真机,所有 iOS11...接下来影响到的机型和系统越来越多。 # 尝试: 1:一开始想到的是可能有人误改了图标文件,于是删除了 images.xcassest 中的 AppIcon 文件,从新生成→添加图标,但是依然未解决。...(✘) 2:想到是图片格式 / 尺寸的问题,于是所有图片按照规定重新生成,但是仍然无济于事。...(✘) 3:因为设置图标的方法除了在 images.xcassest 中的 AppIcon 文件中设置还可以在 info.plist 设置、或者直接在工程里面放一个 icon.png 的图片来设 置,所以都检查了一便发现也不是这个原因

    76250

    CocoaPod知识整理

    正文 CocoaPods是为iOS工程提供第三方依赖库管理的工具,用CocoaPods可以更方便地管理第三方库:把依赖库统一放在Pods工程中,同时让主工程依赖Pods工程。...;(但是install之前可能都没有pods_project,所以用处也比较少;具体的参数意义可自查,以pods_project为例) puts只有在添加--verbose参数可以看到,Pod::UI.puts...pod install的时候,Pods目录下生成一个Manifest.lock文件,内容与.lock文件完全一致;在每次build工程的时候,会检查这两个文件是否一致。 ?...对于资源文件,CocoaPods 提供了一个名为 Pods-resources.sh 的 bash 脚本,该脚本在每次项目编译的时候都会执行,将第三方库的各种资源文件复制到目标目录中。...编译完成后进行链接,在armv7和arm64都指定时,会分别进行链接,最后合并得到可执行文件。

    3.9K22

    现今 Swift 包中的二进制目标

    文章目录 理解二进制在 Swift 中的演变 命令行工具相关 结论 在 iOS 和 macOS 开发中, Swift 包现在变得越来越重要。...这曾经很好,因为设备和模拟器的架构总是不同的,但是随着 Apple Silicon 计算机 (M1) 的推出,模拟器和设备共享相同的架构 (arm64),但具有不同的加载器命令。...你可以在 Bogo Giertler 撰写的这篇精彩文章 中详细了解为 iOS 设备构建的 arm64 切片和为 M1 mac 的 iOS 模拟器构建的 arm64 切片之间的区别。...事实上,如果我们需要,我们可以走得更远,例如,在同一个 xcframework 中捆绑一个包含 iOS 目标的 UIKit 接口的二进制文件和一个包含 macOS 的 AppKit 接口的二进制文件,然后让...,并为每个用例(iOS 设备、macOS 设备和 iOS 模拟器)包含单独的二进制文件。

    1.9K20

    iOS代码混淆(Python混淆脚本)

    混淆工具 网上搜了一下,开源免费的混淆都在转载念茜大姐大的sh脚本的混淆方法,或者在念茜的脚本基础上二次开发,大家去看过就知道念茜的这篇博客是在14年写的,那时我刚做iOS没多久?...,特别是第三方库,或者Pods管理的第三方库;毕竟混淆的越多问题也就越多,所以我添加了混淆忽略文件?...10.翻新资源名 找到工程中的图片资源并翻新,然后自动替换代码中的引用。... 密码:cosa 使用截图 20190806133910534.png 14.设置混淆前缀 20190806133456458.png 15.资源清理工具 在iOS项目开发的过程中,如果版本迭代开发的时间比较长...,那么在很多版本开发以后或者说有多人开发参与以后,工程中难免有一些垃圾资源,未被使用却占据着api包的大小!

    3.6K90

    iOS自动化探索(十)代码覆盖率统计

    中配置编译选项后, 编译后会为每个可执行文件生成对应的 .gcno 文件;之后在代码中调用覆盖率分发函数,会生成对应的 .gcda 文件。...提取真机上的.gcda文件 如果是在模拟器上运行测试可以跳过此步 1....把上面第4步拷贝的所有.gcda文件拷贝到第六步打开的目录中 步骤7:生成覆盖率报告 打开终端, cd进入项目目录/Pods/XcodeCoverage, 运行命令: ....iOS沙盒文件 覆盖率数据合并 在覆盖率统计测试中,可能会遇到测试用例需要在不同的设备上运行, 这个时候我们就需要收集每一台手机上的覆盖率数据然后合并输出为1份报告 具体操作如下 #1....新增mergecov脚本 复制一份Pods/XcodeCoverage目录下的getcov文件, 重命名为为mergecov 然后修改内容为: #!

    2.3K20

    CocoaPods缓存清理之谜

    比如 MBProgressHUD podspec的 SHA1 前5位为5f908 ,版本0.6.1,release pod,那么pod在寻找该缓存的时候便会去 Pods/Release/MBProgressHUD...终于写到本文的重点了。也是小菜在 CI 机器上观察到的一个现象:CI机器在编译的时候,报项目 Pods 目录中的依赖库某些文件找不到。...VERSION 文件,里面存储了 cache_root 中缓存代码和 podspec.json 文件时所使用的 CocoaPods 版本。...如果后来发现 CocoaPods 版本和此 VERSION 文件中的版本号不一致,则会自动清除 cache_root 下的所有文件。 所以,问题很有可能在这里。...如果要全局自定义一个环境变量 1)可以在 ~/.bash_profile 中 export CP_HOME_DIR=/Users/YourName/XXX/XXX/XXX,之后 source ~/.bash_profile

    5.6K10

    ​iOS Class Guard github用法、工作原理和安装详解及使用经验总结

    每一个symbol由随机生成的 子母和数字 组成。每次执行混淆操作,都会生成一个唯一的symbol map。之后这个map会格式化成一个C的宏定义 头文件,并包含到 .pch文件中。...在编译期间内,所有定义在头文件内的symbol都会用对应的生成的不同的符号替换并编译。iOS-Class-Guard也提供了对cocoapod库的混淆。...然后添加预先生成的头文件到库 .pch头文件,并更新target的.xcconfig文件中的头文件的search path参数。...安装如果没有安装brew 先安装之,在终端内执行这 . 工具的安装目录为/usr/local/bin。...串行化如果使用保存在磁盘上的类 或者 用户默认使用了NSCoding协议,那么就不能混淆他们了。否则,再次生成symbol后,APP在启动时会crash,不能从串行化数据中读取该类。

    32710

    干货 | 携程火车票iOS项目开发体验优化实践

    我们找了各种资料,找到了美团有款zsource的CocoaPod插件可以进行二进制调试,虽未开源,但大致逻辑文章里已经罗列的很清晰,大致原理: 以libXXXX.a二进制文件为例,用 MachOView...问题2:在美团的文章中可以了解到,使用dwarfdump 命令可以获取静态库中存储的编译静态库时源码文件所在的路径。...图5 3.2 另辟蹊径,解决M1电脑iOS模拟器剪切板问题 用M1系列电脑在iOS模拟器上开发的人员基本上都会遇到一个非常棘手的问题,那就是模拟器的剪切板无法和电脑的剪切板互通,开发人员也无法给剪切板赋值...如果剪切板不能用,在模拟器中输入地址或者长文本,对iOS、RN和H5的开发者都是非常耗时、非常痛苦的事情。...iOS模拟器的输入框中了,和正常的复制粘贴的功能体验完全一样。

    1.2K30

    Android开发快速入门iOS开发(概览)

    查看本地安装的版本就可以,几个常用的pods命令,这几个命令在开发中的使用概率非常大 命令 作用 pods init 创建podfile文件 pods install 根据pofile.lock指定的版本去拉对应的依赖库...pods update 更新依赖库(平时开发一般使用这个命令就可) 备注:podfile类似于Android开发中在 build.gradle中指定第三方库的依赖和对应的版本的文件; podfile...) 静态库与动态库的区别主要在于在打包链接时的操作不一样; 4.3.1 静态库 静态库在打包生成可执行的目标文件时,会把汇编生成的目标文件.o与引用的库一起链接打包到目标文件中,静态库的特点: 在编译期完成对函数库的链接...4.3.2 动态库 动态库与静态库类似,只是在打包时不用把所链接的文件全部拷贝进目标文件中,只是拷贝一些重定位和符号信息,这些信息在运行时可完成真正的链接,动态库的特点: 在运行时完成对函数库的链接(...在创建一个Helloword的 Demo时可直接利用Xcode创建项目的选项,一步步按照操作进行就可以了;虽然iOS也可以在.storyboard文件里进行界面的编写,但绝大部分时候都是需要使用代码来创建界面的

    1.1K20
    领券