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是不是错了先考虑下这个