• 更新CocoaPods碰到的问题及知识点


    1:解决CocoaPods安装时报的问题,http://ruby.taobao.org/latest_specs.4.8.gz 报404

    解决 bad response Not Found 404 (http://ruby.taobao.org/latest_specs.4.8.gz)

    原因:淘宝的那个镜像(https://ruby.taobao.org/ )已经不可用了。所以我们现在用最新支持的ruby镜像(https://gems.ruby-china.org/)

    gem sources --remove https://ruby.taobao.org/
    
    gem sources -a https://gems.ruby-china.org/
    
    gem sources -l
    
    sudo gem install -n /usr/local/bin cocoapods

    当然如果你是第一次安装时(目前网上有些安装资料可能还指向淘宝的http):

    gem sources -l
    gem sources --remove https://rubygems.org/
    gem sources -a https://gems.ruby-china.org/
    gem sources -l
    sudo gem install -n /usr/local/bin cocoapods

     1.1

    $ gem sources -l  (用来检查使用替换镜像位置成功)

    1.2 报证书错误

    $ gem sources -a https://gems.ruby-china.org/

    ERROR:  SSL verification error at depth 1: unable to get local issuer certificate (20)

    ERROR:  You must add /C=IL/O=StartCom Ltd./OU=Secure Digital Certificate Signing/CN=StartCom Certification Authority to your local trusted store

    ERROR:  SSL verification error at depth 2: self signed certificate in certificate chain (19)

    ERROR:  Root certificate is not trusted (/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA)

    https://gems.ruby-china.org/ added to sources

     

    解决方式:

     

    $ sudo curl -O http://curl.haxx.se/ca/cacert.pem

    $ sudo mv cacert.pem cert.pem

     

    1.3:当pod update时卡在Setting up CocoaPods master repo 就更新一下ruby

     

    淘宝的那个镜像(https://ruby.taobao.org/ )已经不可用了。所以我们现在用最新支持的ruby镜像(https://gems.ruby-china.org/)
      需要的命令行:
    $ gem sources -r https://rubygems.org/ (移除旧版本的镜像,如果你不知道你电脑上目前用的是什么镜像,可用  $ gem sources -l  来查看)
 
    $ gem sources -a https://gems.ruby-china.org/ (增加可用的镜像)
 
    $ gem sources -l  (用来检查使用替换镜像位置成功)

    2:CocoaPods更新版本后,安装跟更新第三方报错

    Update all pods
    Re-creating CocoaPods due to major version update.
    Updating local specs repositories
    Analyzing dependencies
    [!] The dependency `ReactiveCocoa (~> 2.5)` is not used in any concrete target.
    The dependency `SDWebImage (~> 3.7.5)` is not used in any concrete target.
    The dependency `AFNetworking (~> 2.5.4)` is not used in any concrete target.
    The dependency `Masonry (~> 0.6.4)` is not used in any concrete target.
    The dependency `JSONModel (~> 1.2.0)` is not used in any concrete target.
    The dependency `JCAlertView (~> 1.1.5)` is not used in any concrete target.
    The dependency `RongCloudIMKit (= 2.5.2)` is not used in any concrete target.
    The dependency `SMPageControl (~> 1.2)` is not used in any concrete target.
    The dependency `FMDB` is not used in any concrete target.
    The dependency `GTSDK` is not used in any concrete target.
    The dependency `BaiduMapKit` is not used in any concrete target.
    The dependency `UMengAnalytics-NO-IDFA` is not used in any concrete target.
    The dependency `Fabric` is not used in any concrete target.
    The dependency `Crashlytics` is not used in any concrete target.
    The dependency `CocoaLumberjack` is not used in any concrete target.
    The dependency `TTTAttributedLabel` is not used in any concrete target.
    The dependency `FLEX` is not used in any concrete target.
    The dependency `GVUserDefaults` is not used in any concrete target.
    The dependency `UMengFeedback (~> 2.3.4)` is not used in any concrete target.
    The dependency `TYAttributedLabel (~> 2.5.6)` is not used in any concrete target.
    The dependency `IQKeyboardManager` is not used in any concrete target.
    The dependency `MWPhotoBrowser` is not used in any concrete target.

    可以通过 $ pod --version 查看版本号;

    原因是podfile升级到最新版本,pod里的内容必须明确指出所用第三方库的target;可以修改Podfile文件的配置文件,让它兼容不指定固定版本;且又不报错;

    platform :ios, '7.0'
    
    target 'zxptUser’ do
    
    pod 'ReactiveCocoa', '~> 2.5'
    pod 'SDWebImage', '~> 3.7.5'
    pod 'AFNetworking', '~> 2.5.4'
    pod 'Masonry', '~> 0.6.4'
    pod 'JSONModel', '~> 1.2.0'
    pod 'JCAlertView', '~> 1.1.5'
    pod 'RongCloudIMKit', '2.5.2' #不要更新此库 源代码已被修改
    pod 'SMPageControl', '~> 1.2'
    pod 'FMDB'
    pod 'GTSDK'
    pod 'BaiduMapKit' #百度地图SDK
    pod 'UMengAnalytics-NO-IDFA'#友盟统计无IDFA版SDK
    pod 'Fabric'
    pod 'Crashlytics'
    pod 'CocoaLumberjack'
    pod 'TTTAttributedLabel'
    pod 'FLEX'
    pod 'GVUserDefaults'
    pod 'UMengFeedback', '~> 2.3.4'
    pod 'TYAttributedLabel', '~> 2.5.6’
    pod 'IQKeyboardManager'
    pod 'MWPhotoBrowser'
    
    end

    其中zxptUser要换成当前target名,最后不要忘记增加一个end结尾,当然如果你的工程是有多个target都要引用;如下:

    abstract_target 'defaults' do

        platform :ios, '7.0'

        pod 'AFNetworking', '~>2.5.0'

        pod 'ReactiveCocoa', '~> 2.5'

        pod 'JSONModel', '~> 1.0.1'

        pod 'Masonry','~>0.6.1'

        pod 'FMDB/common' , '~>2.5'

        pod 'FMDB/SQLCipher', '~>2.5'

        pod 'CocoaLumberjack', '~> 2.0.0-rc'

        pod 'SVPullToRefresh', '~> 0.4.1'

        pod 'GTSDK','1.4.3'

        pod 'RongCloudIMKit', '2.6.7'

        pod 'UMengSocialCOM', '5.2.0'

        pod 'RealReachability'

        

        

        target 'Blossom'

      end

        target 'Blossom_test'

             end

        target 'Blossom_bls'

             end

        target 'Blossom_dongguan'

             end

        target 'Blossom_qijia'

             end

        target 'Blossom_shanghai'

             end

        target 'Blossom_zhengzhuang_test'

             end

        target 'Blossom_bls_test'

             end

    end

    注意基中'defaults'一定不要存在,下面记得写target,可以查看官网的写法:https://guides.cocoapods.org/using/the-podfile.html

     

    3:不同的target引用不同的第三方插件

    target :'zxptUser' do
    platform :ios  
    pod 'Reachability',  '~> 3.0.0'  
    pod 'SBJson', '~> 4.0.0'  
      
    platform :ios, '7.0'  
    pod 'AFNetworking', '~> 2.0'
    end
    
    target :'zxptUser_local' do
    pod 'OpenUDID', '~> 1.0.0'
    end

    注意每个都要以end结尾

     

    4:删除CocoaPods版本,并安装指定版本

    比如我本来安装完CocoaPods 1.0.0版,但发现它实现跟先前还是差别满大的,决定降回0.39这个比较稳定版本;就可以用命令先删除本地的CocoaPods版本,再指定安装特定版本;

    a 卸载 cocoapods(它会提示你要删除本地哪个版也可以全删)

    sudo gem uninstall cocoapods

    b 安装 0.39版本

    sudo gem install -n /usr/local/bin cocoapods -v 0.39

     

    5:更新PODS后,报diff: /../Podfile.lock: No such file or directory 错误

    diff: /../Podfile.lock: No such file or directory 

    diff: /Manifest.lock: No such file or directory 

    error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.

    如图

    解决办法:

    查看工程中PROJECT中Configurations中相关配置是否正准,有可能某个分枝指到一个不存在的pods导致;

     

    6:当PODS引入第三方后,项目中引用时发现头文件却显示不存在

    排查办法,可以看到相应的targets里面的Build Phases中的Link Binary WithLibraries里面是否有把libPods.a库引入进来

    一般出现没有引入进来可能是podFile指定的相应Targets导致其它的Targets没有这个库;

     

    7:友盟最新版SDK调整

    a:#import“MobClick.h”引入头文件由原来,更新为:#import "UMMobClick/MobClick.h"

    b:初始化配置文件也进行更改,采用UMConfigInstance全局变量设置:

        UMConfigInstance.appKey=kUMAnalyticsAppKey;
        UMConfigInstance.channelId=@"App Store";
        [MobClick startWithConfigure:UMConfigInstance];

     

    8:关于融云跟百度地图支持IPV6

    融云SDK 从2.5.2开始   百度地图SDK 从3.0.0开始

     

     

     

    最近有个妹子弄的一个关于扩大眼界跟内含的订阅号,每天都会更新一些深度内容,在这里如果你感兴趣也可以关注一下(嘿对美女跟知识感兴趣),当然可以关注后输入:github 会有我的微信号,如果有问题你也可以在那找到我;当然不感兴趣无视此信息;

  • 相关阅读:
    linux批量远程多服务器FTP并下载文件的脚本
    NPM更换国内源
    Win10禁用无用的服务
    JS测试
    FastAdmin导出
    VScode全局设置
    Vue路由history模式
    kill_devtmpfsi
    获取域名URL
    Axios去除Respones中的config、headers、request
  • 原文地址:https://www.cnblogs.com/wujy/p/5545680.html
Copyright © 2020-2023  润新知