project compile link with using cocoapods

1.在使用了cocoapods的project中得整个编译链接过程大致为:先编译每一个第三方库链接生成.a文件,然后pods依赖各个第三方的库编译链接生成的.a文件编译链接生成libPods.a静态库,最后project依赖libPods.a编译链接生成可执行程序.

2.pods生成的.a静态库会添加到工程的Frameworks中,这里会出现一个project链接问题:project是在libPods.a库的基础上编译链接的但是报错链接时找不到第三方库中的.m文件??

原因是:1.project中Frameworks里面的libPods.a静态库可能不是在当前设备(真机或模拟器)下编译链接生成的,然而project在链接libPods.a并不会做出判断,导致出现第三方库中的类文件在第三方库被编译生成.a文件后找不到(正常情况是第三方库中的.m文件会被编译生成.a文件,此时project是不需要在编译该.m文件的).

解决方法:goto -> project和pods的targets  -> build setting -> build active architecture only 均选择 NO.(不仅是只编译链接生成当前框架下的工程)

时间: 2024-10-07 14:06:51

project compile link with using cocoapods的相关文章

angularJS1笔记-(12)-自定义指令(compile/link)

index.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> </head> <body> <div ng-app="myApp"> <div ng-controller="firstController"> <div ng-repeat=

iOS在Cocoa Touch Static Library使用CocoaPods

1.在XCode中新建静态库工程:DDLogLib. 2.添加对外暴露接口的头文件DDLogLibHeader.h 3.命令行进入DDLogLib目录,运行pod init,并修改Podfile 4.运行pod install,并打开DDLogLib.xcworkspace. 5.运行pod spec create DDLogLib,创建DDLogLib.podspec文件,并编辑. #  Be sure to run `pod spec lint DDLogLib.podspec' to en

CocoaPods :为iOS程序提供依赖管理的工具

http://www.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/ http://blog.csdn.net/showhilllee/article/details/38398119 http://blog.csdn.net/xdrt81y/article/details/30631221 http://www.it165.net/os/html/201408/9155.html http://www

Using CocoaPods

https://guides.cocoapods.org/using/using-cocoapods.html <Adding Pods to an Xcode project Before you begin Check the Specs repository or cocoapods.org to make sure the libraries you would like to use are available. Install CocoaPods on your computer.

cocoaPods打包的静态库

cocoaPods管理自己的静态库供其它人下载使用(直接使用上一篇用cocoaPod打包的静态库)(1) 创建github仓库 (2) 下载仓库到本地 (3) 将打包好的framework放到项目中 (4) 终端提交到github上 git add . git commit -m "install" git push origin master (5) 打标签, 并提交到github上 git tag 1.0.0 git push origin 1.0.0 二 (1) 在工程根目录初始

angularJS directive中的controller和link function辨析

在angularJS中,你有一系列的view,负责将数据渲染给用户:你有一些controller,负责管理$scope(view model)并且暴露相关behavior(通过$scope定义)给到view:你有一些directive,负责将user interaction和$scope behavious link起来.但是还有一样东西: a directive controller.这个directive controller子一个directive的context中定义,但是它又可以被in

MAC安裝CocoaPods

前言,鑒於很多人都比較趕時間,有人是為了去應付工作,有人是為了去找妹子,總之,不管你懂不懂,如果你只是想安裝一下,那麼你只需要按照濤叔下面畫黃色的命令複製粘貼到終端順序執行就好了. 一.安裝 1.Ruby环境搭建 1.1查看下当前ruby版本:打开终端输入 ruby -v $ ruby -v libotaodeMacBook-Pro:~ libotao$ ruby -v ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-da

Android Studio在创建/导入项目的时候,一直处于building “XXX”gradle project info的解决办法

Android Studio在新建项目或者导入项目的时候,可能会一直处于building “XXX”gradle project info的状态,而且还取消不了,无奈之下只能干掉进程... 还有一种情况就是Gradle Project Compile Error,也是同样的问题,下面解释一下为何出现这些问题~~ 打开Android Studio项目下的gradle\wrapper\gradle-wrapper.properties这个文件,看看里面内容 #Wed Apr 10 15:27:10

Eclipse RCP 资源管理(自定义Project)一 (转)

基本概念 Eclipse开发平台提供资源插件(org.eclipse.core.resources),插件提供对项目(Project).文件(File).文件夹(Folder)的相关管理和操作. 工作区(workspace)是用户数据文件在平台中的组织和保存区,工作区中的文件通过资源的概念进行组织.工作台(Workbench)可以理解为用户浏览和操作工作区的一个工具.资源插件提供创建.导航.操作工作区中资源的API.工作台利用这些API提供对应功能给用户,这些API也允许用户进行扩展. 资源有三