首页
网站首页
公司简介
资讯中心
推荐内容
返回顶部
快速集成评论输入框www.64222.com:,ios清除缓存
发布时间:2020-04-15 14:55
浏览次数:

www.64222.com 1Swift-快速集成评论输入框.gif

今天在升级ruby环境过程中遇到问题,记录下来提供给想要解决的人.

 /* 知识补充:应用沙盒 每个ios应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离。 1.Documents:可以将应用程序数据储存在Document目录中,如果应用启用了Itunes文件分享功能,Itunes同步设备时会备份该目录. 2.Library:保存应用运行时生成的需要持久化的数据,iTunes同步设备时不会备份该目录,一般储存体积大,不需要备份的数据. 3.tmp:供应用储存临时文件,使用完毕后再将相应的文件从该目录删除,当ios设备同步时不会备份这个文件。 模拟器沙盒目录:根目录 NSString *homeDirectory = NSHomeDirectory(); Documents路径: NSArray *documentDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; Library路径: NSArray *libraryDirectory = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) firstObject]; Library--Cache目录(这里存放的就是缓存文件) NSArray *cacheDirectory = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject]; Library--Cache--default(这里存放的是用户头像) NSArray *cacheDirectory = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject stringByAppendingPathComponent:@"default"] ; tmp路径: NSString *tmpDir = NSTemporaryDirectory(); */ //获取缓存,清除缓存的操作比较耗时,理应开子线程去执行. //给NSObject封装一个分类,实现清除缓存的操作. //1.获取缓存 //需要提供一个对象方法,外界去调用对象方法. - getFileCacheSizeWithPath:(NSString *)path completion:(NSInteger total))completion { [NSObject getFileCacheSizeWithPath:path completion:completion]; } //写一个类方法 // 异步方法使用回调,block + getFileCacheSizeWithPath:(NSString *)path completion:(NSInteger total))completion { // 开启异步线程 2秒 dispatch_async(dispatch_get_global_queue, ^{ // 1.创建文件管理者 NSFileManager *mgr = [NSFileManager defaultManager]; // 1.1.判断下是否存在,而且是否是文件夹 BOOL isDirectory; BOOL isFileExist = [mgr fileExistsAtPath:path isDirectory:&isDirectory]; // 判断下当前是否是文件 if (isFileExist){ // 判断下是否是文件夹 NSInteger total = 0; if (isDirectory) { // 2.遍历文件夹下所有文件,全部加上,就是文件夹大小 NSArray *subPaths = [mgr subpathsAtPath:path]; for (NSString *subPath in subPaths) { // 3.拼接文件全路径 NSString *filePath = [path stringByAppendingPathComponent:subPath]; BOOL isDirectory; // 4.判断下当前是否是文件 BOOL isFileExist = [mgr fileExistsAtPath:filePath isDirectory:&isDirectory]; // 5.获取文件大小 if (isFileExist && !isDirectory && ![filePath containsString:@"DS"]) { NSDictionary *fileAttr = [mgr attributesOfItemAtPath:filePath error:nil]; NSInteger fileSize = [fileAttr[NSFileSize] integerValue]; total += fileSize; } } }else{ // 当前传入是文件 NSDictionary *fileAttr = [mgr attributesOfItemAtPath:path error:nil]; total = [fileAttr[NSFileSize] integerValue]; } // 计算完毕 -> 把计算的值传递出去 dispatch_sync(dispatch_get_main_queue(), ^{ if (completion) { completion; } }); } }); } //2.清除缓存 + removeCacheWithCompletion:completion{dispatch_async(dispatch_get_global_queue, ^{ // 创建文件管理者 NSFileManager *mgr = [NSFileManager defaultManager]; // 删除文件 NSString *path = self.cachePath; BOOL isDirectory; BOOL isFileExist = [mgr fileExistsAtPath:path isDirectory:&isDirectory]; if (!isFileExist) return; if (isDirectory) { NSArray *subPaths = [mgr subpathsAtPath:path]; for (NSString *subPath in subPaths) { NSString *filePath = [path stringByAppendingPathComponent:subPath]; [mgr removeItemAtPath:filePath error:nil]; } } dispatch_sync(dispatch_get_main_queue(), ^{ if (completion) { completion;});}- removeCacheWithCompletion:completion { [NSObject removeCacheWithCompletion:completion]; } // 3.缓存路径 - (NSString *)cachePath { return [NSObject cachePath]; } + (NSString *)cachePath { // 获取cachePath文件路径 return [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject]; } // 写的够详细了吧,至于外界怎么去调用,废话不多说了.
  • 选择工程, 编译的
  • 选择 Build Settings 菜单
  • 查找 Library Search Paths 和 Framework Search Paths, 删掉编译报warning的路径即OK详细步骤图文参考

很多时候我们都会用到评论的功能,那么今天就给大家分享一个简单好用的评论输入框。

首先,查看自己的ruby版本:

相关知识参考stackoverfollowarm架构问题手机的架构是为arm架构

这个评论输入框是已经写好了的,只需要调用一下就可以了,节省了我们一大部分的编码时间。

$ ruby -v 
  • armv6iPhoneiPhone2iPhone3G第一代和第二代iPod Touch
  • armv7iPhone4iPhone4Sarmv7siPhone5iPhone5C
  • arm64iPhone5S

首先我们要导入一个叫Masonry的第三方库,他是一个用来做自动布局的库,在EwenTextView.m文件中被引用到。

终端输出:(版本2.0.0p648)

现在app store规定提交的应用必须包含arm64.

在你的Podfile中填写

ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]

xcode里Architectures这个属性

platform :ios, '9.0'use_frameworks!target 'Swift-集成评论输入框' dopod 'Masonry'end

Mac升级ruby环境需要安装 RVM.

这是指你想支持的指令集,比如:armv7,armv7s,或者可以用$(ARCHS_STANDARD_32_BIT)这样的参数

友情链接: 网站地图
Copyright © 2015-2019 http://www.nflfreepicks.net. 新葡萄京娱乐场网址有限公司 版权所有