iOS开发 -- 为本地文件添加自定义属性的工具类
2023-09-14 08:57:29 时间
前言:实际开发,我们可能会有这样的需求,就是为文件添加自定义的属性,或者是可以将文件的相关信息添加进该文件的属性中,这样可以以备下次读取利用。
那么本文就是要介绍"拓展文件属性的工具类"
github网址也给出了这个工具类的示例源码:https://github.com/HeYang123456789/NSURLSession-ExpendedAttributesTool
这个工具类的设计学习来源来自老谭博客笔记:http://www.tanhao.me/pieces/1102.html/ 老谭讲解了两种方法为本地文件属性列表添加属性,其中用方法二(通过NSFileManager一个特殊的AttributeName)我发现好像无效了,暂时不明原因,待以后再探究和解决。但是方法一是有效的,代码就无比鸡贼的拷贝展示如下喽:
ExpendFileAttributes.h
// // ExpendFileAttributes.h // NSURLSession实现离线断点续传 // Created by HEYANG on 16/2/19. // Copyright © 2016年 HEYANG. All rights reserved. * ExpendFileAttributes工具类下载源码:https://github.com/HeYang123456789/NSURLSession-ExpendedAttributesTool #import Foundation/Foundation.h @interface ExpendFileAttributes : NSObject /** 为文件增加一个扩展属性,值是字符串 */ + (BOOL)extendedStringValueWithPath:(NSString *)path key:(NSString *)key value:(NSString *)value; /** 读取文件扩展属性,值是字符串 */ + (NSString *)stringValueWithPath:(NSString *)path key:(NSString *)key;
* ExpendFileAttributes工具类下载源码:https://github.com/HeYang123456789/NSURLSession-ExpendedAttributesTool #import "ExpendFileAttributes.h" #include sys/xattr.h @implementation ExpendFileAttributes //为文件增加一个扩展属性 + (BOOL)extendedStringValueWithPath:(NSString *)path key:(NSString *)key value:(NSString *)stringValue NSData* value = [stringValue dataUsingEncoding:NSUTF8StringEncoding]; ssize_t writelen = setxattr([path fileSystemRepresentation], [key UTF8String], [value bytes], [value length], return writelen==0?YES:NO; //读取文件扩展属性 + (NSString *)stringValueWithPath:(NSString *)path key:(NSString *)key ssize_t readlen = 1024; do { char buffer[readlen]; bzero(buffer, sizeof(buffer)); size_t leng = sizeof(buffer); readlen = getxattr([path fileSystemRepresentation], [key UTF8String], buffer, leng, if (readlen 0){ return nil; else if (readlen sizeof(buffer)) { continue; }else{ NSData *data = [NSData dataWithBytes:buffer length:readlen]; NSString* result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"result---%@",result); return result; } while (YES); return nil; @end
打印展示结果:
[ios开发]-APP-上架流程 由于苹果的机制,在非越狱机器上安装必须通过官方的Appstore, 开发者开发好应用后上传Appstore,也需要通过审核等环节。 AppCan作为一个跨主流平台的一个开发平台,也对ipa包上传Appstore作了支持。 本文从三个流程来介绍如何实现AppCan在 线编译出ipa包,以及上传到苹果Appstore。
相关文章
- Objc将数据写入iOS真机的plist文件中
- IOS中弹出键盘后出现fixed失效现象的解决方案
- iOS应用IAP设置总结
- iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)
- iOS Xcode编译文件存在却说找不到
- iOS 文件读写 (一)
- iOS开发之网络编程--3、NSURLSessionDataTask实现文件下载(离线断点续传下载)
- iOS开发之网络编程--使用NSURLConnection实现文件上传
- iOS开发 - 文件压缩与解压缩
- iOS开发UI篇—iOS开发中三种简单的动画设置
- 【IOS-COCOS2D游戏开发之四】独自收集COCOS2D提供的字体!共57种(有对照的字体图)
- iOS开发那些事-iOS应用本地化-资源文件本地化
- [转]iOS 应用内付费(IAP)开发步骤
- ios swift alamofire 上传图片(文件),上传进度
- ios swift view父视图(半)透明,子视图不透明
- ios(swift) UIButton设置字体颜色
- iOS 加载(读取)本地的json文件
- iOS(oc swift)蓝牙框架(工具类 demo)
- h5在iOS上滑动卡顿问题
- IOS Object和javaScript相互调用
- iOS 证书申请 iOS描述文件配置
- Objective-C(十八、谓语使用及实例说明)——iOS开发基础
- iOS_8_键盘操作简单
- IOS ARC和非ARC文件混用