zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

iOS开发 -- 为本地文件添加自定义属性的工具类

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。