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
wtdu1992
V2EX  ›  iDev

问一个关于 iOS Flutter 的问题

  •  1
     
  •   wtdu1992 · 2020-09-09 10:17:36 +08:00 · 4211 次点击
    这是一个创建于 1521 天前的主题,其中的信息可能已经有所发展或是发生改变。
    由于项目需求,在 Flutter iOS 项目中添加了一些系统的 extension App,比如 share extension,notification extension,Today extension,由于没有找到比较好的插件,因此都是 flutter native +原生 实现,在实现功能的过程中,在 extension app 中也是用了一些常用的三方库,这里同样用 pod 进行管理 ,只需要在 target 下选择 基于 Pod workspace ( debug &release ) 进行编译即可,但是现在发现一个问题,本来在 xcode 环境已经配置好的,但是在 AS ( Android studio ) 中进行编译的时候,每一次都会被重置,导致在 extension app 中 被 import 的 framework 总提示 not found 不通过,项目也跑步起来,很郁闷,这样也导致项目 无法用 code magic 打包,有没有谁遇到过类似问题。
    9 条回复    2022-08-30 16:26:51 +08:00
    FaXiaoKe
        1
    FaXiaoKe  
       2020-09-09 10:52:52 +08:00
    弄个分支啊,只同步业务代码,不要同步配置和 pods 文件。

    我这里 android 和 iOS 核心开发完成后,后期直接分两个代码源管理了。
    wtdu1992
        2
    wtdu1992  
    OP
       2020-09-09 11:12:28 +08:00
    @FaXiaoKe 有添加分支,每次要添加新、功能时候,都会创建一个新的分支,在分支上操作,测试稳定以及 code review 通过后, 才会同步到 master,现在的遇到的问题不是这个,是在集成的过程中,我本地编译,以及 日常打包测试(分支代码)的时候遇到的问题,还没有到完成阶段。
    0xDatou
        3
    0xDatou  
       2020-09-09 13:04:41 +08:00
    没有做过 flutter,但是听你的意思是 AS 跑完,sdk 没了是吧?如果只是这样的话每次切重新 pod install 先用着?
    wtdu1992
        4
    wtdu1992  
    OP
       2020-09-09 14:42:41 +08:00
    @0xDatou 并不是没有了 ,你 pod install 之后肯定是在本地的,只需要在 build Phases ---> link lib 中 添加相关你需要使用的 framework 就可以,在 build 时候回动态根据 path 去链接,现在出现的问题是在 AS 中 build 就会报错,提示 被 import 的 framework not found
    0xDatou
        5
    0xDatou  
       2020-09-09 15:03:59 +08:00
    是我落伍了还是理解有问题。。 我印象中 cocoapods 默认只支持 Xcode 的吧?做 flutter 用 AS 的配置项也能 cocoapods 也能用?
    shily
        6
    shily  
       2020-09-09 16:13:20 +08:00
    在 ios/Podfile 的文件里 target 'Runner' do 节点下添加
    pod 'SnapKit', '~> 4.0.0'
    目前我们使用的这用方式,没遇见啥问题啊
    wtdu1992
        7
    wtdu1992  
    OP
       2020-09-09 17:34:27 +08:00
    @0xDatou Flutter 也有包管理工具 ,在 flutter 环境 有一个配置文件,当你配置好相关 lib 信息,在 run 或者 build 时候 会自动去链接原生的一些库,这里 flutter 目前只支持 CocoaPods 进行包管理,具体原理,感兴趣可以去看看实现方案。
    wtdu1992
        8
    wtdu1992  
    OP
       2020-09-09 17:42:47 +08:00
    @shily 是的 ,除了 pubspec.yaml 文件中配置的 lib 之外,比如自己要做 native 方案,这时候用到三方库时,我也是这么做得 ,没问题,我现在实在 share extension 使用 framework,因此 我在 target list 的 project 选项中,也就是 Runner 下,选择右侧的 info ---->configurations ,将 debug & release 中 extension app 手动改为 Pod.Runner.Debug/Release,然后在 extension app target 的 build Phases 中导入 对应的 framework,这时候你再到 extension app 环境去使用对应的库,应该是没问题的,但我这里很奇怪,在 AS 和终端命令中运行会报错 ,找不到库
    chisj
        9
    chisj  
       2022-08-30 16:26:51 +08:00
    很好奇楼主最后有没有解决? 解决了的话最好回复下问题原因,以及解决方法。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2773 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 01:53 · PVG 09:53 · LAX 17:53 · JFK 20:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.