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

请教一下开发 pod 的正确姿势

  •  
  •   xi_lin · 2017-11-01 20:06:58 +08:00 · 4850 次点击
    这是一个创建于 2581 天前的主题,其中的信息可能已经有所发展或是发生改变。

    尝试开发一个 pod 库( ABC ),进行了如下操作:

    1. pod lib create ABC向导建立了一个带 Example 的项目。

    2. ABC.podspec文件中添加了一些s.dependency

    3. 进入 Example 目录,执行pod install

    4. 打开 Example 下的 ABC.workspace 文件,在Development Pods下的ABC目录下New FileTargetABC

    5. 关闭 workspace 文件

    6. 再在 Example 目录下执行pod install

    7. 再打开 workspace 文件,第 4 步添加的文件就消失了


    请问在开发 pod 的过程中不能多次在 Example 目录下执行pod install吗?

    第 1 条附言  ·  2017-11-02 11:44:19 +08:00

    又做了一些测试,podspec这样写:

      s.source_files = '{ABC, Test}/Classes/**/*'
    
      s.resource_bundles = {
         'ABC' => ['ABC/Assets/*.png']
      }
    

    文件只有放在ABC/Classes目录下能在pod install之后留下来 放在Test目录下的仍然留不下来

    我出问题正好是因为Xcode9开始New Group的时候会在文件系统上创建对应的Folder,而直接在Xcode中Development Pods/ABC上右键New Group创建的Folder其实上是与ABC平行的,并没有在Classes里面

    .
    ├── Test (Pod install后消失)
    │   ├── TT.h
    │   └── TT.m
    ├── ABC
    │   ├── Assets
    │   │   ├── T.h
    │   │   ├── T.m
    │   │   └── icon-1024.png
    │   └── Classes
    │       ├── ReplaceMe.m
    │       ├── Test.h
    │       ├── Test.m
    │       └── TestG  (Pod install后留存)
    │           ├── TGF.h
    │           └── TGF.m
    ├── ABC.podspec
    
    第 2 条附言  ·  2017-11-02 11:49:21 +08:00
    .
    ├── Test
    │   └── Classes
    │       ├── TT.h
    │       └── TT.m
    

    就算这样也会消失

    7 条回复    2017-12-03 12:11:12 +08:00
    tane05
        1
    tane05  
       2017-11-02 12:12:06 +08:00
    看描述流程,配置都没问题,应该不会消失.
    配置文件描述源码位置在 s.source_files = '{ABC, Test}/Classes/**/*' ,测试的时候请确认步骤 4 创建的文件是否在 Development Pods/ABC/Classes 目录.
    不行那就换个 ruby 版本重装 cocopods 看看,也许工具有坑.
    xi_lin
        2
    xi_lin  
    OP
       2017-11-02 13:00:22 +08:00
    @tane05

    ABC/Classes 目录下的是可以留住的
    Test/Classes 目录下的就只会消失了。。。

    回头学习下 ruby 再看看 pod 实现,不知道 local spec 是怎么个引法
    13036101641
        3
    13036101641  
       2017-11-16 16:33:46 +08:00
    你第四步写的是 ABC 下,加新文件
    但是你 podspec 文件里面的 resouces_files 的路径又是 class 文件夹中的东西,真实路径中,到底有没有这个 class 文件夹呢?
    xi_lin
        4
    xi_lin  
    OP
       2017-11-17 10:40:30 +08:00
    @13036101641 你可以试一下,在 workspace 项目里 Development pods 下是不会出现 Classes 的,只会出现里面的文件。所以描述里就只能写直接右键 add 了
    13036101641
        5
    13036101641  
       2017-11-17 11:25:00 +08:00
    @xi_lin 嗯,确实没有,你解决了没有, s.source_files = '{ABC,Test}/Classes/**/*' 我这么写的,文件路径也跟这个是对应的,都保存下来了
    xi_lin
        6
    xi_lin  
    OP
       2017-11-17 16:13:35 +08:00
    @13036101641 算是解决了。你看附言第一条,我是因为 new group 创建文件夹了,所以出坑
    dsqtb
        7
    dsqtb  
       2017-12-03 12:11:12 +08:00
    厉害厉害,我虽然没有遇到这个问题,不过我认识的同学遇到过,我当时还不知道如何解决
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1001 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 21:48 · PVG 05:48 · LAX 13:48 · JFK 16:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.