oc导入swift库打包失败_oc和swift混编 导入swift 第三方库 - CSDN
  • 错误信息: dyld: Library not loaded: @rpath/libswiftCore.dylib  Referenced from: /private/var/mobile/Containers/Bundle/Application/1348BA9E-21D9-4A31-A03A-B3C801EF6D98/UcanService.app/...

    错误信息:

    dyld: Library not loaded: @rpath/libswiftCore.dylib

      Referenced from: /private/var/mobile/Containers/Bundle/Application/1348BA9E-21D9-4A31-A03A-B3C801EF6D98/UcanService.app/UcanService

      Reason: no suitable image found.  Did find:

    /private/var/mobile/Containers/Bundle/Application/1348BA9E-21D9-4A31-A03A-B3C801EF6D98/UcanService.app/Frameworks/libswiftCore.dylib: code signature invalid for '/private/var/mobile/Containers/Bundle/Application/1348BA9E-21D9-4A31-A03A-B3C801EF6D98/UcanService.app/Frameworks/libswiftCore.dylib'


    解决办法(如图):

    添加如下信息:

    @executable_path/Frameworks

    @loader_path/Frameworks




    展开全文
  • 首先就是在 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使用的是框架而不是静态库



    展开全文
  • 这里主要说几个关于cocoapods导入三方需要注意的问题和我遇到的坑 1、swift语言使用cocoapods配置Podfile文件时要加上use_framework!这句代码,作用是把三方库打包成静态,具体为什么我也在研究。。。 2、...

    这里主要说几个关于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真的不是一般的严格。

    展开全文
  • 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


    展开全文
  • swift项目中想调用oc的framework,首先调用的样子是这样的 我导入的包是ImSDK.framework 要导入的类是ImSDK.h 不能直接写,而要以这样的格式弄,先写包名,然后再弄类名 #import 我居然会在这种傻逼...
  • 什么是是程序代码的集合,是共享程序代码的一种方式。我们根据源代码的公开情况,可以将分为 2 种类型 开源:公开源代码,我们能看到代码的具体实现,比如 SDWebImage、 AFNetworking等;如何将自己...
  • 项目下个版本开始用Swift编写,这涉及到OCSwift混编的问题。早podfile中写入use_frameworks! 再导入一个Swift第三方框架,运行项目发现AFN找不到了:把Swift的第三方和use_frameworks!去掉项目又可以运行了,首先...
  •  学习过Objective-C的同学肯定会知道,一般会有三种方式导入第三方,分别是:cocoasPod管理工具,打包成framwork导入,直接导入原文件。然而,swift是苹果在oc基础上研发的一种新语言且开源,当然也继承之前的...
  • OC中调用Swift代码方法

    2018-06-03 09:27:48
    最近在项目中使用到了Swift语言写的第三方的框架,所以在这里将OC中使用Swift的方法说明一下。1.首先要在Build Setting中进行相关配置2.在Podfile文件中要加上use_frameworks!为什么要加use_frameworks!呢?首先需要...
  • 一、介绍 最近在开发一个新项目,使用Swift语言来开发。...设置桥接文件路径,也即Objective-C Bridging Header的路径,设置完就可以导入自定义的OC类文件使用了 如何使用CocoaPods集成第三方Swift...
  • -需要App整体功能打包成静态,完整移植到另一个App使用,该App使用OC。 -所以涉及到一个语言互转的处理,以及一些AppDelegate的代码减除变化。 --------------------------------打包篇----------------------...
  • 一、桥接文件路径设置$(SRCROOT)/youprojectname/Main/Common/Swift-Bridging-Header.h或者youprojectname/Main/Common/Swift-Bridging-Header.h二、桥接文件路径设置成功后,import导入第三方报错No such module ...
  • Swift封住哪个OC是一件比较常见的事情,毕竟对于大多数公司来说,老的代码都是用OC写的,而且经过多次迭代,这些OC的代码已经被验证了是稳定的,用Swift重写代价太大。这就引入了一个需求: 用SwiftOC来混编...
  • 本文主要记录了使用Swift打包带界面的framework的步骤 需求:打包一个framework提供其他应用植入。可以实现跳转(push或present)到framework的界面,然后再把拿到的数据返回到主界面。 准备阶段 使用Swift写好一个...
  • Swift: 在Swift中桥接OC文件(自己创建的类文件、第三方文件) 一、介绍  随着Swift的逐渐成熟,使用swift开发或者混合开发已经成为了一个趋势,本身苹果公司也十分推荐使用Swift这门新语言。目前Swift已经...
  • cocoapods打包静态(依赖私有、开源、私有又包含静态)
  • 今天在用swift写项目时,需要用CocoaPods引入SDWebImage这个三方,于是开始在Vim命令中创建pod file,在创建之前需要cd到当前项目的目录中, Podfile创建步骤如下: 1、创建Podfile:touch Podfile 2、编辑...
  • 今天在用Swift写项目时,需要用CocoaPods引入SDWebImage这个三方,于是开始在Vim命令中创建pod file,在创建之前需要cd到当前项目的目录中, Podfile创建步骤如下: 1、创建Podfile:touch Podfile 2、编辑...
  • 错误是:Include of non-modular header inside framework module '***': '/Users/***/Documents/swift4/***/***/***/UDP广播/***.h' 解决方法是: 确保头文件作为框架的公共头文件的一部分公开可用。 转到tagert...
1 2 3 4 5 ... 18
收藏数 350
精华内容 140
关键字:

oc导入swift库打包失败