oc使用pod swift库_oc 调用pod swift库 - CSDN
  • Cocoapods方式导入OC库swift库

    千次阅读 2016-09-21 11:55:40
    Cocoapods 是 iOS 应用的包管理程序。...导入 Alamofire(swift库)和AFNetworking(OC库)这两个个第三方。本教程的环境基于 iOS8 和 Xcode7.3.1。 打开 Xcode 使用 Single View Application 创建一个项目。项
    Cocoapods 是 iOS 应用的包管理程序。它简化了第三方库的导入并且将帮你处理库之间的依赖。在这个教程中,我们将会使用 cocoa pods 导入 Alamofire(swift库)和AFNetworking(OC库)这两个个第三方库。本教程的环境基于 iOS8 和 Xcode7.3.1
    打开 Xcode 使用 Single View Application 创建一个项目。项目名称可以使用 IOS8SwiftCocoapodsTutorial,其他配置项可以自定义。选择 Swift 作为开发语言,并且设备项选中 iPhone

    新建项目
    咱们的这个教程中会用到一个字体,可以从这里下载,并加入到项目中。接下来,关闭 Xcode 项目并打开终端。首先我们需要安装 cocoa pods。这个过程将会用到 ruby环境,而 Mac OS X 系统已经自带了 ruby。ruby -v查看当前Ruby的版本。在终端中输入如下命令:
    sudo gem install cocoapods

    译者注:因某些原因不能安装成功的同学,
    ERROR: Error installing cocoapods:
    activesupport requires Ruby version >= 2.2.2.
    可以参考唐巧的这篇博客
    升级ruby版本
    如果出现ruby版本升级问题,可以参考ruby升级笔记
    然后再次执行sudo gem install cocoapods

    下一步clone 项目
    pod setup --verbose


    一、导入swift库Alamofire
    首先,搜索需要的第三方库是否支持 CocoaPods ,执行命令:
    1 $ pod search Alamofire

    新建项目CocoaPodsDemo然后进入 Xcode 项目文件目录输入命令pod init新建 Podfile 文件
    pod init

    之后需要编辑 Podfile 文件,让它包含 FontBlaster 这个第三方库。使用如下命令打开它
    open -a Xcode Podfile
    不要使用文本编辑去编辑Podfile,使用Xcode编辑,或者使用终端敲命令去编辑。
    编辑后的 Podfile 文件如下
    # Uncomment this line to define a global platform for your project
    # platform :ios, '9.0'

    target 'CocoaPoasDemo' do

    source 'https://github.com/CocoaPods/Specs.git'
    platform :ios, '8.0'
    use_frameworks!

    pod 'AlamofireImage', '~> 2.0'

    end

    译者注:这里的版本号 1.0.8 为译者加上,FontBlaster 已经支持 Swift 2.0,如果不指定为该版本号,会下载最新的 FontBlaster,这要求 Xcode 7.x版本。如果你使用的是 Xcode6.x 版本,需要指定该版本号。
    项目的 target 是 iOS8.0,use_frameworks! 这句是必须的,因为 Swift 使用的是框架而不是静态库。pod 'FontBlaster' 告诉 Cocoapods 你想在项目中使用 FontBlaster 。保存对文件的修改,并在终端中输入以下命令pod install,但这里又会遇到问题了,上网找了之后发现用这个命令已经不行了,用 pod install --verbose --no-repo-update 就可以,前面的被墙啦!!
    bogon:CocoaPoasDemo frosoft$ pod install --verbose --no-repo-update
    .........
    .........
    Sending stats
    - Alamofire, 3.4.2
    - AlamofireImage, 2.4.1
    Pod installation complete! There is 1 dependency from the Podfile and 2 total
    pods installed.
    bogon:CocoaPoasDemo frosoft$

    FontBlaster 和相关依赖都会被自动安装。
    完成后用Xcode打开.xcworkspace白色文件,不再打开.xcodeproj那个蓝色文件

    打开后工程目录如下,红色框内仍然是工程文件:

    测试是否引入成功:
    在swift文件中添加import Alamofire没有报错则成功。

    二、导入OC库AFNetworking
    1、先关闭工程,修改Podfile,添加 pod 'AFNetworking',然后update一下podfile再打开工程
    target 'CocoaPoasDemo' do

    source 'https://github.com/CocoaPods/Specs.git'
    platform :ios, '8.0'
    use_frameworks!

    pod 'AlamofireImage', '~> 2.0'

    pod 'AFNetworking'
    end

    swift语言使用cocoapods配置Podfile文件时要加上use_framework!这句代码,作用是把三方库打包成静态库


    2、建立一个桥接文件Bridging-Header.h头文件

    3、修改头文件内容

    #ifndef CocoaPoasDemo_Bridging_Header_h
    #define CocoaPoasDemo_Bridging_Header_h

    #import "AFNetWorking.h"

    #endif /* Bridging_Header_h */

    4、设置一个User Header Search Paths,否则在需要用三方库的地方是调不出来的。在target——>Build Setting里找到search Paths,双击User Header Search Paths后面的空白处设置目录路径为${SRCROOT}   ,后边选择recursive。

    5、测试导入是否成功:import AFNetworking


    展开全文
  • 出错原因 library not found for -lAFNetworking ...由于本人在开发过程中主要用的是OC语言,所以pod的都是OC库,Podfile里又没加use_frameworks! 所以一直都是.a类型的。后来因为需求需要用到一个只有swift版本...

    原创地址:https://blog.csdn.net/niumanxx/article/details/80481426 

    出错原因

    library not found for -lAFNetworking

    由于本人在开发过程中主要用的是OC语言,所以pod的都是OC库,Podfile里又没加use_frameworks!
    所以一直都是.a类型的。后来因为需求需要用到一个只有swift版本的库,就使用use_frameworks!将所有.a库变成了.framework。然后信心满满地运行工程,结果GG。

    最后归纳出几个需要注意的点:

    1.将用到的库提示找不到的,从#import <xxx.h>改为#import "xxx.h";

    2.找到Target->Build Settings->Other Linker Flags,把Pod进来的库,

    比如:改成,不是Pod进来的不用改;

    3.点击pods Target如图:,再点击Build Setting,如图:

    搜索Swift Language Version,将版本设置为Swift库能支持的最高版本,如图:

    展开全文
  • OC使用cocoapods导入swift库注意

    千次阅读 2017-08-23 15:38:22
    首先就是在 targets->Build Setting ->Packaging 中设置 Defines Module为YES  然后创建swift文件时会生成"文件名-Bridging-Header.h"这样一个桥接文件 怎样使用cocoapods就不多... 因为swift使用的是框架而不是静态

    首先就是在 targets->Build Setting ->Packaging 中设置 Defines Module为YES

      然后创建swift文件时会生成"文件名-Bridging-Header.h"这样一个桥接文件

    怎样使用cocoapods就不多说了

    最重要的就是在Podfile里面加上use_frameworks!   因为swift使用的是框架而不是静态库



    展开全文
  • swift使用cocoapods导入oc三方

    千次阅读 2016-06-16 10:51:08
    这里主要说几个关于cocoapods导入三方需要注意的问题和我遇到的坑 1、swift语言使用cocoapods配置...2、swift调用oc的三方  a、要建立一个桥接文件,然后在target——>build setting中搜索bridg 把Objectiv

    这里主要说几个关于cocoapods导入三方库需要注意的问题和我遇到的坑

    1、swift语言使用cocoapods配置Podfile文件时要加上use_framework!这句代码,作用是把三方库打包成静态库,具体为什么我也在研究。。。

    2、swift调用oc的三方库

      a、要建立一个桥接文件,然后在target——>build setting中搜索bridg


    把Objective-C Bridging Header路径设置一下,一定要设置对,如果你的桥接文件不是和project工程文件在同一级项目目录中,要记得把你的文件所在的目录加进路径,一定要确保根据这个路径可以找到你的桥接文件。

      b、在桥接文件中引用你要调用的三方库的文件名,(这里有坑,我在下面会说明),然后你就可以愉快的使用的库了。在使用的文件中直接用,不用再次导入


    3、调用oc三方库遇到的坑,这里我用AFNetWorking举例

      a、#import "AFNetWorking.h"之后要设置一个User Header Search Paths,否则在需要用三方库的地方是调不出来的。在target——>Build Setting里找到search Paths,双击User Header Search Paths后面的空白处,设置目录路径为${SRCROOT}   ,后边选择recursive。注意不要 #import <AFNetWorking/AFNetWorking.h>这样导入


      b、引用三方库的时候,需要在方法中或者声明为常量或者变量才能联想出这个库内的文件。只能说swift真的不是一般的严格。

    展开全文
  • OCSwift混编Pod引入第三方的问题 问题描述:Swift应用OC 的开源框架,需要创建一个桥接头文件,问题就出在这个看似简单,却隐藏着一个巨大的问题:一切都按部就班的在桥接头文件中引入了OC 头文件,但是...
  • https://www.jianshu.com/p/429a2dfb1040 这个链接地址解决办法有效,供参考,谢谢
  • OC 项目中使用基于 Swift 的 CocoaPods 随着 Swift 的流行,各种神奇的也开始有对应的 Swift 版本了,而其中一些更神奇的却只有 Swift 版本… 正巧接手了一个前人用 Swift 写的项目,里面有一个...
  • pod组件化,swift,objective-c混合...创建swift工程(PodSwift) 创建objective-c工程(httpmanager) 进入工程目录下创建spec pod lib create PodSwift 填写提示信息,然后创建需要暴露调用的类所有的swift类 s....
  • SwiftOC混编

    2020-07-30 23:30:03
    SwiftOC混编,OC项目下SwiftOC的互相调用,Swift项目下SwiftOC的相互调用!
  • 由于本人在开发过程中主要用的是OC语言,所以pod的都是OC库,Podfile里又没加use_frameworks!所以一直都是.a类型的。后来因为需求需要用到一个只有swift版本的,就使用use_frameworks!将所有.a变成了.framework...
  • swift开发过程中我们难免会使用一些OC的开源来附注项目开发。这就涉及到OCswift的混编了,正好本人最近也在模仿斗鱼直播的项目,自己也使用OC的第三方,今天就给大家介绍一下自己的使用过程。 一、导入第...
  • OC中调用Swift代码方法

    千次阅读 2018-06-03 09:27:48
    最近在项目中使用到了Swift语言写的第三方的框架,所以在这里将OC使用Swift的方法说明一下。1.首先要在Build Setting中进行相关配置2.在Podfile文件中要加上use_frameworks!为什么要加use_frameworks!呢?首先需要...
  • OCSwift混合编程引用Pods管理的模块

    千次阅读 2017-01-07 22:27:34
    OCSwift混合编程引用Pods管理的模块 用Pods安装需要使用的模块后,打开.xcworkspace文件,然后按下图所示设置一下User Header Search Paths: swift中创建OC桥接文件 a. 自动创建桥接文件(仅限于swift工程中第...
  • #### 1、OC工程项目导入Swift 版本的framework静态后,模拟器和真机编译都通过,但是模拟器环境下无法调用里面的类,真机环境可以 #### 2、如果是Swift项目工程引入这个Swift静态没有任何问题 1、 真机可以...
  • OC 引用并调用Swift文件

    千次阅读 2019-07-24 17:09:03
    1、我们先创建一个OC的项目MyFirstOCUseSwiftDemo 2、我们点击Target看到右边选择Build Settings,把Defines Module改为YES, 3、我们回到工程目录下,New File一个Swift File,起名为MyFristSwift,此时会...
  • iOS OC项目调用Swift

    万次阅读 2017-03-17 13:51:27
    网上有很多关于OC项目中使用Swift类的方法,但是亲自试了之后,发现不够详细,多次尝试后,终于找出详细的方法。 现把方法和遇到的问题,记录下来,方便其他同仁借鉴.
  • swift语言创建framework,在创建2个target(swiftoc)做测试用。如下图 一、制作framework时注意的问题 写1个Class测试用 open class TestClass: NSObject { @objc open func test1(){ print(#...
  • 假如你来到这里,说明你已经开始着手使用swift这门新语言了。 就像Java有Maven一样,Objective-C也有自己的依赖管理工具cocoapods。 但是由于swift才出来不久,目前很多cocoapods管理的第三方依然是由Objective-C...
  • 需求:OC项目中使用新建swift文件的类 问题:新建swift文件时,笔者的Xcode没有提示生成桥接文件,需要自己配置并手动创建桥接文件,最后在OC中成功引用swift写的类 项目说明:没有使用framework与pod 重要的配置...
  • OC调用Swift方法

    千次阅读 2018-05-02 15:36:48
    第一步:创建桥接文件第二步:配置桥接文件第三步:创建pch文件并配置其路径 第四步:在pch文件中导入如下头文件,注意:...,这里的xxx就是第二步中的Module name, 注意不要写错了 第五步:OC中直接调用Swift...
1 2 3 4 5 ... 20
收藏数 1,689
精华内容 675
关键字:

oc使用pod swift库