2020-12-07(6)自己_3

2020-12-09  本文已影响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是不是错了先考虑下这个

上一篇下一篇

猜你喜欢

热点阅读