从项目中删除CocoaPods的正确方法是什么?我想移除整个CocoaPod。由于客户的限制,我不能使用它。我只需要一个xcodeproj,而不是一个xcworkspace。
当前回答
Keith的回答很好——我只是想指出,因为Cocoapods 0.36开始支持动态框架,如果你正在使用“use_frameworks!”,并且你希望移除Cocoapods,你必须这样做:
在Build Phases下删除Embed Pods Frameworks阶段。
其他回答
从项目中删除CocoaPods是可能的,但目前还没有被CLI自动化。首先,如果你唯一的问题是不能使用xcworkspace,你可以使用CocoaPods和xcodeprojects,使用——no-integrate标志,它会生成Pods。Xcodeproj,而不是工作空间。然后可以将这个xcodeproj作为子项目添加到主xcodeproj中。
如果你真的想移除所有CocoaPods集成,你需要做几件事:
注意:如果不正确地编辑这些内容,可能会破坏你的主项目。我强烈建议您将项目纳入源代码控制,以防万一。此外,这些指令适用于CocoaPods 0.39.0版本,它们可能会随着新版本而改变。
删除独立文件(Podfile Podfile。锁和你的Pods目录) 删除生成的xcworkspace 打开xcodeproj文件,删除对Pods的引用。xcconfig和libPods。a(在框架组中) 在构建阶段下,删除“复制Pods资源”、“嵌入Pods框架”和“检查Pods清单”。锁阶段。 这似乎是显而易见的,但您需要以其他方式集成第三方库,或者从代码中删除对它们的引用。
在这些步骤之后,您应该使用集成CocoaPods之前存在的单个xcodeproj进行设置。如果我遗漏了什么,请告诉我,我会编辑这个。
此外,我们一直在寻找如何改进CocoaPods的建议,所以如果你有一个问题,请提交到我们的问题跟踪器,这样我们就可以想出一个方法来解决它们!
EDIT
正如Jack Wu在评论中所示,有一个第三方CocoaPods插件可以为你自动化这些步骤。可以在这里找到。注意,它是第三方插件,可能并不总是在CocoaPods更新时更新。还要注意,它是由CocoaPods核心团队成员制作的,所以这个问题不会成为问题。
如果你只想删除一个pod,并保留其他你可能已经安装的pod,打开app目录中的podfile并删除你想删除的pod。然后使用终端导航到你的应用目录并输入:
pod update
这将删除您从podfile中删除的pod。你将在终端中看到它已被删除:
Analyzing dependencies
Removing FirebaseUI
Removing UICircularProgressRing
注意,这个方法也会拉出podfile中其他pod的任何更新。你可能想要也可能不想要。
开发者可能面临两个方面的问题。
要么他想把舱完全从项目中移除 开发人员想从项目中卸载特定的框架 豆荚。
在第一种情况下,你必须使用“豆荚分解”,并遵循以上答案中提到的几个步骤。
第二种情况是,如果你想卸载安装在pod文件中的任何特定框架,很简单的方法就是注释你想卸载的框架,然后运行pod install命令。
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
target 'ProjectName' do
# Uncomment this line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
pod 'iCarousel', '~> 1.8'
# pod 'Facebook-iOS-SDK', '~> 4.1'
# pod 'ParseFacebookUtilsV4', '~> 1.11'
# pod 'Parse', '~> 1.14'
end
在这里,我想卸载facebook和解析框架(使用pods安装),而不是iCarousel,这就是为什么我像上面那样更新了我的pod文件。
现在如果我运行pod安装,它将保持iCarousel,因为它是在我的项目,并将删除facebook和解析。
详细的图形表示
我尝试了所有这些答案,但它仍然不会建立,最终我尝试了:
pod deintegrate
pod install
这真的有效!
就好像它需要从构建阶段删除所有的pod脚本,然后重新添加它们才能工作,至少在我的情况下是这样。
推荐文章
- iOS如何设置应用程序图标和启动图像
- 模拟器慢动作动画现在打开了吗?
- Swift to Objective-C头未在Xcode 6中创建
- iOS应用程序“应用程序无法验证”只在一台设备上
- 是否可以在Xcode 5上安装iOS 6 SDK ?
- 编译警告:对于架构i386,没有处理文件的规则
- MobileDevice。pkg不受信任,OS X更新后无法打开Xcode
- 目标……重写“Pods/Pods.xcconfig”中定义的“OTHER_LDFLAGS”构建设置
- 解释iOS7中automyadjustsscrollviewinsets, extendedlayoutinclesopaquebars, edgesForExtendedLayout之间的区别
- 按下UINavigationController后栏按钮时执行动作
- 架构arm64未定义的符号
- 在Xcode 6的Storyboard中什么是“限制到边缘”
- Pod安装保持在“设置CocoaPods主repo”状态
- 如何清空缓存和清洁所有目标Xcode 4及以后
- 如何在不接触其他依赖项的情况下更新单个pod