zoukankan      html  css  js  c++  java
  • 接触CocoaPods遇到的问题

    在搜索CocoaPads的教程里,在一个技术blog里看到一句话:现在还不用CocoaPads,我只能说你太low了!因此为了方便第三方库的使用,开始使用CocoaPads;

    Google上一搜,很感谢那些无私奉献的大牛们,无论什么样的技术都会有各种的教程以及各种技术笔记供使用者参考;

    我搜的第一篇是唐巧的技术blog使用CocoaPods来做iOS程序的包依赖管理,写的很好,不过对于我这种菜鸟还是有很多问题;

    于是继续搜索更适合菜鸟的博客,搜到菜鸟安装 CocoaPods,按照来用,打开Terminal,

    PS:以下粉色的字是我输入的命令

    如下步骤:

    MichaeldeMac-mini:~ md004$ sudo gem install cocoapods
    
    WARNING: Improper use of the sudo command could lead to data loss
    or the deletion of important system files. Please double-check your
    typing when using sudo. Type "man sudo" for more information.
    
    To proceed, enter your password, or type Ctrl-C to abort.
    
    Password:
    Building native extensions.  This could take a while...
    Building native extensions.  This could take a while...
    [!] You are using the prebuilt binary version of the xcodeproj gem.
    
    CHANGELOG:
    
    ## 0.28.0
    [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.27.1...0.28.0)
    • [CocoaPods-core](https://github.com/CocoaPods/Core/compare/0.27.1...0.28.0)
    • [CLAide](https://github.com/CocoaPods/CLAide/compare/0.3.2...0.4.0)
    
    ###### Enhancements
    
    * CLAide now supports gem plugins. An example CocoaPods plugin can be found at
      [open\_pod\_bay](https://github.com/leshill/open_pod_bay).
    
      As of yet there are no promises made yet on the APIs, so try to fail as
      gracefully as possible in case a CocoaPods update breaks your usage. In these
      cases, also please let us know what you would need, so we can take this into
      account when we do finalize APIs.
    
      [Les Hill](https://github.com/leshill)
      [CLAide#1](https://github.com/CocoaPods/CLAide/pull/1)
      [#959](https://github.com/CocoaPods/CocoaPods/issues/959)
    
    ###### Bug Fixes
    
    * Compiling `xcassets` with `actool` now uses `UNLOCALIZED_RESOURCES_FOLDER_PATH`
      instead of `PRODUCT_NAME.WRAPPER_EXTENSION` as output directory as it is more
      accurate and allows the project to overwrite `WRAPPER_NAME`.  
      [Marc Knaup](https://github.com/fluidsonic)
      [#1556](https://github.com/CocoaPods/CocoaPods/pull/1556)
    
    * Added a condition to avoid compiling xcassets when `WRAPPER_EXTENSION`
      is undefined, as it would be in the case of static libraries. This prevents
      trying to copy the compiled files to a directory that does not exist.  
      [Noah McCann](https://github.com/nmccann)
      [#1521](https://github.com/CocoaPods/CocoaPods/pull/1521)
    
    * Added additional condition to check if `actool` is available when compiling
      `xcassets`. This prevents build failures of Xcode 5 projects on Travis CI (or
      lower Xcode versions).  
      [Michal Konturek](https://github.com/michalkonturek)
      [#1511](https://github.com/CocoaPods/CocoaPods/pull/1511)
    
    * Added a condition to properly handle universal or mac apps when compiling
      xcassets. This prevents build errors in the xcassets compilation stage
      particularly when using xctool to build.  
      [Ryan Marsh](https://github.com/ryanwmarsh)
      [#1594](https://github.com/CocoaPods/CocoaPods/pull/1594)
    
    * Vendored Libraries now correctly affect whether a podspec is considered empty.  
      [Joshua Kalpin](https://github.com/Kapin)
      [Core#38](https://github.com/CocoaPods/Core/pull/38)
    
    * Vendored Libraries and Vendored Frameworks now have their paths validated correctly.  
      [Joshua Kalpin](https://github.com/Kapin)
      [#1567](https://github.com/CocoaPods/CocoaPods/pull/1567)
    
    * Gists are now correctly accepted with https.  
      [Joshua Kalpin](https://github.com/Kapin)
      [Core#38](https://github.com/CocoaPods/Core/pull/38)
    
    * The `pod push` command is now more specific about the branch it pushes to.  
      [orta](http://orta.github.io)
      [#1561](https://github.com/CocoaPods/CocoaPods/pull/1561)
    
    * Dtrace files are now properly left unflagged when installing, regardless of configuration.  
      [Swizzlr](https://github.com/swizzlr)
      [#1560](https://github.com/CocoaPods/CocoaPods/pull/1560)
    
    * Users are now warned if their terminal encoding is not UTF-8. This fixes an issue
      with a small percentage of pod names that are incompatible with ASCII.  
      [Joshua Kalpin](https://github.com/Kapin)
      [#1570](https://github.com/CocoaPods/CocoaPods/pull/1570)
    
    
    Successfully installed i18n-0.6.9
    Successfully installed multi_json-1.8.2
    Successfully installed activesupport-3.2.16
    Successfully installed nap-0.6.0
    Successfully installed json-1.8.1
    Successfully installed fuzzy_match-2.0.4
    Successfully installed cocoapods-core-0.28.0
    Successfully installed claide-0.4.0
    Successfully installed cocoapods-downloader-0.2.0
    Successfully installed rake-10.1.0
    Successfully installed colored-1.2
    Successfully installed xcodeproj-0.14.1
    Successfully installed escape-0.0.4
    Successfully installed json_pure-1.8.1
    Successfully installed open4-1.3.0
    Successfully installed cocoapods-0.28.0
    16 gems installed
    Installing ri documentation for i18n-0.6.9...
    Installing ri documentation for multi_json-1.8.2...
    Installing ri documentation for activesupport-3.2.16...
    
    unrecognized option `--encoding'
    
    For help on options, try 'rdoc --help'
    MichaeldeMac-mini:~ md004$ pod setup
    Setting up CocoaPods master repo
    /Library/Ruby/Gems/1.8/gems/cocoapods-0.28.0/lib/cocoapods/executable.rb:55: warning: Insecure world writable dir /Users/md004/Desktop in PATH, mode 040777
    /Library/Ruby/Gems/1.8/gems/cocoapods-0.28.0/lib/cocoapods/executable.rb:55: warning: Insecure world writable dir /Users/md004/Desktop in PATH, mode 040777
    /Library/Ruby/Gems/1.8/gems/cocoapods-0.28.0/lib/cocoapods/executable.rb:55: warning: Insecure world writable dir /Users/md004/Desktop in PATH, mode 040777
    Setup completed (read-only access)

    完成了CocoaPods的安装,然后我尝试去搜索一个JSONKit第三方库,如下:

    MichaeldeMac-mini:~ md004$ pod search JSONKit
    
    
    -> JSONKit (1.5pre)
    /Library/Ruby/Gems/1.8/gems/cocoapods-0.28.0/lib/cocoapods/user_interface.rb:277: warning: Insecure world writable dir /Users/md004/Desktop in PATH, mode 040777
       A Very High Performance Objective-C JSON Library.
    /Library/Ruby/Gems/1.8/gems/cocoapods-0.28.0/lib/cocoapods/user_interface.rb:277: warning: Insecure world writable dir /Users/md004/Desktop in PATH, mode 040777
       pod 'JSONKit', '~> 1.5pre'
    /Library/Ruby/Gems/1.8/gems/cocoapods-0.28.0/lib/cocoapods/user_interface.rb:277: warning: Insecure world writable dir /Users/md004/Desktop in PATH, mode 040777
       - Homepage: https://github.com/johnezang/JSONKit
    /Library/Ruby/Gems/1.8/gems/cocoapods-0.28.0/lib/cocoapods/user_interface.rb:277: warning: Insecure world writable dir /Users/md004/Desktop in PATH, mode 040777
       - Source:   https://github.com/johnezang/JSONKit.git
    /Library/Ruby/Gems/1.8/gems/cocoapods-0.28.0/lib/cocoapods/user_interface.rb:277: warning: Insecure world writable dir /Users/md004/Desktop in PATH, mode 040777
       - Versions: 1.5pre, 1.4 [master repo]

    看到了很多警告,很不爽,不知道为什么,悲剧了一会,用中文搜索没搜到结果,果断上Google吧,在Google里直接输入warning: Insecure world writable dir

    然后就搜到了StackOverFlow

    接着输入命令:

    MichaeldeMac-mini:~ md004$ sudo chmod go-w /Users/md004/Desktop
    MichaeldeMac-mini:~ md004$ pod search JSONKit
    
    
    -> JSONKit (1.5pre)
       A Very High Performance Objective-C JSON Library.
       pod 'JSONKit', '~> 1.5pre'
       - Homepage: https://github.com/johnezang/JSONKit
       - Source:   https://github.com/johnezang/JSONKit.git
       - Versions: 1.5pre, 1.4 [master repo]
    MichaeldeMac-mini:~ md004$ 

    这样就正常了,这里要记住警告Insecure world writable dir /Users/md004/Desktop in PATH, mode 040777,在你要改变权限的时候sudo chmod go-w /Users/md004/Desktop,一定要跟警告处的目录是一样的。

     

     

    祝您愉快开心 ^_^

  • 相关阅读:
    k8s系列---service
    算法
    golang-练习ATM --面向对象实现
    golang-练习ATM
    k8s系列---pod介绍
    12.20 一组v-if/v-else-if/v-else 的元素类型相同,应该使用 key
    12.20 await 操作符的学习(await后跟非promsie、promsie(成功/失败)的几种情况测试)
    12.20 async关键字的学习
    12.20 falsy变量
    12.19 js中递归优化(递归爆栈)
  • 原文地址:https://www.cnblogs.com/tianglin/p/3483383.html
Copyright © 2011-2022 走看看