objective-c
仅有的幸福
仅有的幸福 2017-05-02 09:24:29
[iOS讨论组]
//拼接补丁打包目录
NSString *patchDirectory = [self patchDirectoryWithAppVersion:entity.appVersion patchVersion:entity.patchVersion];
[[NSFileManager defaultManager] removeItemAtPath:patchDirectory error:NULL];
[[NSFileManager defaultManager] createDirectoryAtPath:patchDirectory withIntermediateDirectories:YES attributes:nil error:NULL];
NSString *patchZipPath = [self patchZipPathWithAppVersion:entity.appVersion patchVersion:entity.patchVersion];
//将数据写到制定打包文件目录
[data writeToFile:patchZipPath atomically:YES];
//计算补丁的MD5值
NSString *hashCode = [FileHash md5HashOfFileAtPath:patchZipPath];
//比对文件MD5值与服务器提供的MD5值
if (hashCode && entity.hashCode && [hashCode isEqualToString:entity.hashCode]) {
    //拼接补丁包解压地址
    NSString *directory = [self jsDirectoryWithAppVersion:entity.appVersion patchVersion:entity.patchVersion];
    [[NSFileManager defaultManager] createDirectoryAtPath:directory withIntermediateDirectories:YES attributes:nil error:NULL];

    ZipArchive *zip = [[ZipArchive alloc] init];
    if ([zip UnzipOpenFile:patchZipPath]) {
        if ([zip UnzipFileTo:directory overWrite:YES]) {
            [self setAppVersion:entity.appVersion];
            [self setPatchVersion:entity.patchVersion];
            if ([self checkNeedPatch]) {
                [JPEngine startEngine];
                //获取目录中所有的JavaScript文件
                NSArray *array = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:directory error:nil];
                [array enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL *_Nonnull stop) {
                    NSString *path = [directory stringByAppendingPathComponent:(NSString *) obj];
                    //如果文件是.js文件 则将文件注入打补丁
                    if ([path hasSuffix:@".js"]) {
                        [JPEngine evaluateScriptWithPath:path];
                    }
                }];

            }
        }
仅有的幸福
仅有的幸福

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号