V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
junho
V2EX  ›  iDev

创建 Framework(使用了 CococaPods 管理第三方)时遇到了若干问题

  •  
  •   junho · 2019-09-25 17:57:27 +08:00 · 6982 次点击
    这是一个创建于 1912 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前提:
    需要提供一个 Swift 写的 Dynamic Framework, 该 Framework 是依赖了好几个本地的 devPod (都是 Swift 写的)。其实该 Framework 就等于一个壳,对外暴露了一些接口,然后内部是调用那几个私有 devPod 实现。
    然后把这个 Framework 打包出来,放到 DemoApp 上编译时,遇到了好几个问题:
    1.Framework 暴露的接口明明写了 Public,但是 DemoApp 没找到
    2.编译 DemoApp 时,直接抛出错误
    "Cannot load underlying module for 'XXX'"(XXX 是私有的 DevPod)

    请问该怎么解决? 特别是这种使用 Pod 来进行组件化然后打包 Framework 的。。。
    第 1 条附言  ·  2019-10-22 11:14:29 +08:00

    通过了一个Cocoapods 的 静态Framework的 Plugin, 把Pod的target product都变成静态Framework, 然后目标动态Framework通过Pod管理第三方,然后之前的问题都解决了。。。。(虽然不知道为啥)

    6 条回复    2019-10-22 11:11:15 +08:00
    XDDD
        1
    XDDD  
       2019-09-25 18:07:11 +08:00 via iPhone
    都是 Swift 干嘛不上 SPM
    junho
        2
    junho  
    OP
       2019-09-25 20:05:36 +08:00
    刚才试了下
    新建了一个动态 Framework 的工程,使用 pod 安装 Snapkit,然后 build 出 framework 后放到空白工程里编译,也是报一样的错误,,,
    lizhuoli
        3
    lizhuoli  
       2019-09-25 20:09:31 +08:00 via iPhone
    Dynamic 需要 Link Dynamic,你不把对应其他的二进制 bundle 进去,你让 dyld 怎么加载?
    不然就傻瓜点,Dynamic 直接 link static library,直接符号打进去,就你自己的代码一样,缺点是 Swift 得 module 解析可能有问题
    junho
        4
    junho  
    OP
       2019-09-25 20:16:40 +08:00
    @lizhuoli 我就是直接 link static library,然后 swift 的 module 解析好像真的有问题
    gunavy
        5
    gunavy  
       2019-10-22 09:54:07 +08:00
    @junho XCFramework,SPM,换 OC,何必难为自己 https://www.v2ex.com/t/569163#reply16
    junho
        6
    junho  
    OP
       2019-10-22 11:11:15 +08:00
    @gunavy
    刚才看了下 XCFramework 的资料,没懂和 Static Framework 有什么区别?看上去就是 XCFramework 里面有不同架构的 framework。
    SPM 是指 Swift Package Manager 吗? 这个是如何解决主贴上的问题?
    PS: 主贴里的问题,通过 cocoapods 的 static framework plugin,把 pod 的 target product 变成 static framework,然后就顺利 Build 目标 framework(动态)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1143 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 23:12 · PVG 07:12 · LAX 15:12 · JFK 18:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.