美文网首页
2020-12-07(6)自己_3

2020-12-07(6)自己_3

作者: 想在月球上弹琴的孩子 | 来源:发表于2020-12-09 09:00 被阅读0次

    21:

    pod 本地库

    cd 本地项目路径

    pod install

    #如果本地repo库太长时间没更新可以使用下面命令 忽略更新

    pod install --verbose --no-repo-update

    22://检查是否有代理服务器

        + (BOOL)getProxyStatus

            CFDictionaryRef dicRef = CFNetworkCopySystemProxySettings();

            const CFStringRef proxyCFstr = CFDictionaryGetValue(dicRef, (const void*)kCFNetworkProxiesHTTPProxy);

            CFRelease(dicRef);

            NSString *proxy = (__bridge NSString*)(proxyCFstr);

            if(proxy) {

                return YES;

            }

            return NO;

        }

    23:

    cocoapods 安装使用

    1:cd 当前目录下

    2:vim podfile

    3:i esc :wq 

    4:打开podfile  platform :ios,'8.0'

    target 'TestCompoment' do

    pod 'MJExtension', '~> 3.0.13'

    end

    5:pod install ok下面的就是熟悉的节奏

    24: pod install --repo-update

    解决办法:.xcworkspace和Podfile.lock文件删除,重新pod install。

    组件化 私有库

    私有库建立 并可以供别人使用

    1:github 或者 gitee上需要建立两个仓库 GitHub的两个个私有库地址(一个是用来podspec使用, 一个是用来存放源码demo)

    2:首先:创建github私有仓库 #warning 记得选择readme 选项,不然和本地源码关联不起来

    3:创建私有Spec Repo ;PrivatePodsSpecs名字一般都是和github上面的一致

    $ pod repo add PrivatePodsSpecs  https://github.com/lxiaokai/PrivatePodsSpecs.git

      如果成功的话进入到~/.cocoapods/repos目录下就可以看到PrivatePodsSpecs这个目录了。

      到此podspec 完成任务了,下面是本地源码和github另一个私有库的建立、连接

    4:创建Pod项目工程文件(选择一个自己的路径文件夹)

    $ pod lib create DemoPods

    iOS ObjC 、 demo Yes、 test No、----

    5:备注:Classes放lib,资源文件放到Assets这个文件夹。

    然后我在classes里面建立文件{工程中创建选择 加入到classes文件夹中,拖进去的记得pod install一下才能加进去},并且上传到github

    $ git add .

    $ git commit -s -m "Initial Commit of Library"

    $ git remote add origin https://github.com/lxiaokai/DemoPods.git  #添加另一个仓库地址远端仓库

    $ git push origin master    #提交到远端仓库

    因为podspec文件中获取Git版本控制的项目还需要tag号,所以我们要打上一个tag,

    $ git tag -m "first release" 0.1.0

    $ git push --tags    #推送tag到远端仓库

    备注:更新标签时记得修改.podspec中的版本号 eg:s.version = '0.2.0'

    $ git tag -m "second release" 0.2.0

    $ git push --tags    #推送tag到远端仓库

    【在podDemo01.podspec目录下 然后再pod repo push private03podspecs  podDemo01.podspec --allow-warnings 更新本地podspecs】

    6:编辑DemoPods.podspec文件 这里主要是s.version 和 s.source :git =>地址指向 第二个私有库的地址

    编辑之后需要验证一下,查看是否有错误信息,具体错误会有提示,按照提示修改即可.

    $ pod lib lint

    $ pod lib lint --allow-warnings 忽略警告

    7:向Spec Repo提交podspec

    $ pod repo push private03podspecs  podDemo01.podspec --allow-warnings

    前面的是podspecs, 后面的是需要上传的名字(需要在DemoPods.podspec路径下执行)

    错误: 如果执行这个命令的时候build success 但是 pull 失败的时候,可以git上面建立一个readme文件或者建立仓库的时候勾选也可以

    ----完成之后这个组件库就添加到我们的私有Spec Repo中了,可以进入到~/.cocoapods/repos/PrivatePodsSpecs目录下查看, github上面也可以查看到

    至此,我们的这个组件库就已经制作添加完成了

    建立一个项目,使用

    #CocoaPods官方spec仓库

    source 'https://github.com/CocoaPods/Specs.git'

    #自己创建的私有库

    source 'https://gitee.com/gccfly/private03podspecs.git'  //这个是第一个私有库的地址不是第二个

    platform :ios,'9.0'//这个版本号设置最好跟 ios development target 9.0一致不然会出现

    # 类似这样的问题 Specs satisfying the `***` dependency were found, but they required a higher minimum deploymen

    target 'TestCompoment' do

    pod 'MJExtension', '~> 3.0.13'

    pod 'podDemo01' //第二个私有库内容

    end

    2020-12-07 周一

    24:viewdidappear同viewwillappear 一样也是每次进来都刷新

    25:数组 4. enumerateObjectsUsingBlock方法

        // 顺序遍历

        [array enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

            NSLog(@"%@----%@",array[idx],[NSThread currentThread]);

            if (idx == 5) {

                *stop = YES;  // 停止遍历

            }

        }];

        // 倒序遍历

        [array enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

            NSLog(@"%@----%@",array[idx],[NSThread currentThread]);

            if (idx == 5) {

                *stop = YES;  // 停止遍历

            }

        }];

      Block内代码可以并发执行。

      ----字典情况下

        NSDictionary * dic = [NSDictionary dictionary];

        [dic enumerateKeysAndObjectsUsingBlock:^(id key, id value, BOOL *stop) {

            NSLog(@"value for key %@ is %@ ", key, value);

            if ([@"key2" isEqualToString:key]) {

                *stop = YES;

            }

        }];

    26:nsuserdefault 只能存储---- 不能存储自定义数据

    。NSUserDefaults支持的数据类型有NSString、 NSNumber、NSDate、 NSArray、NSDictionary、BOOL、NSInteger、NSFloat等系统定义的数据类型

    即使你将model再次封装成字典:

    [[NSUserDefaults standardUserDefaults] setValue:@{@"user": user} forKey:@"user"];

    这样依然会崩溃。

    自定义的类型需要转成NSData再存入。

    27:=Request failed: method not allowed (405),

    接口405  get post是不是错了先考虑下这个

    相关文章

      网友评论

          本文标题:2020-12-07(6)自己_3

          本文链接:https://www.haomeiwen.com/subject/axvxgktx.html