当前位置: 首页 > news >正文

商务网站建设评估的指标前端网课

商务网站建设评估的指标,前端网课,wordpress站内301,应用网站开发项目在 Archive 打包后#xff0c;生成ipa包 将 xxx.ipa文件修改为zip后缀即 xxx.zip #xff0c;然后再双击解压#xff0c;会生成一个 Payload 文件夹#xff0c;里面一个文件 如下图#xff1a; 然后显示改文件的包内容#xff1a; 解压 Assets.car 文件的方式生成ipa包 将 xxx.ipa文件修改为zip后缀即 xxx.zip 然后再双击解压会生成一个 Payload 文件夹里面一个文件 如下图 然后显示改文件的包内容 解压 Assets.car 文件的方式 方法一、 插件 AssetCatalogTinkerer 下载插件 AssetCatalogTinkerer 用【My Mac】模拟器运行然后 Assets.car 使用 AssetCatalogTinkerer 打开 如下图 可以选择到处一张图片也可选择到处所有图片 方式二、插件 cartool 下载插件 cartool 用【My Mac】模拟器运行这时候会报错替换main.m文件内容如下 // // main.m // cartool // // Created by Steven Troughton-Smith on 14/07/2013. // Copyright (c) 2013 High Caffeine Content. All rights reserved. //#import Foundation/Foundation.h #import ImageIO/ImageIO.htypedef enum _kCoreThemeIdiom {kCoreThemeIdiomUniversal,kCoreThemeIdiomPhone,kCoreThemeIdiomPad,kCoreThemeIdiomTV,kCoreThemeIdiomCar,kCoreThemeIdiomWatch,kCoreThemeIdiomMarketing } kCoreThemeIdiom;typedef NS_ENUM(NSInteger, UIUserInterfaceSizeClass) {UIUserInterfaceSizeClassUnspecified 0,UIUserInterfaceSizeClassCompact 1,UIUserInterfaceSizeClassRegular 2, };interface CUICommonAssetStorage : NSObject-(NSArray *)allAssetKeys; -(NSArray *)allRenditionNames;-(id)initWithPath:(NSString *)p;-(NSString *)versionString;endinterface CUINamedImage : NSObjectproperty(readonly) CGSize size; property(readonly) CGFloat scale; property(readonly) kCoreThemeIdiom idiom; property(readonly) UIUserInterfaceSizeClass sizeClassHorizontal; property(readonly) UIUserInterfaceSizeClass sizeClassVertical;-(CGImageRef)image;endinterface CUIRenditionKey : NSObject endinterface CUIThemeFacet : NSObject(CUIThemeFacet *)themeWithContentsOfURL:(NSURL *)u error:(NSError **)e;endinterface CUICatalog : NSObjectproperty(readonly) bool isVectorBased;-(id)initWithURL:(NSURL *)URL error:(NSError **)error; -(id)initWithName:(NSString *)n fromBundle:(NSBundle *)b; -(id)allKeys; -(id)allImageNames; -(CUINamedImage *)imageWithName:(NSString *)n scaleFactor:(CGFloat)s; -(CUINamedImage *)imageWithName:(NSString *)n scaleFactor:(CGFloat)s deviceIdiom:(int)idiom; -(NSArray *)imagesWithName:(NSString *)n;endvoid CGImageWriteToFile(CGImageRef image, NSString *path) {CFURLRef url (__bridge CFURLRef)[NSURL fileURLWithPath:path];CGImageDestinationRef destination CGImageDestinationCreateWithURL(url, kUTTypePNG, 1, NULL);CGImageDestinationAddImage(destination, image, nil);if (!CGImageDestinationFinalize(destination)) {NSLog(Failed to write image to %, path);}CFRelease(destination); }NSString *idiomSuffixForCoreThemeIdiom(kCoreThemeIdiom idiom) {switch (idiom) {case kCoreThemeIdiomUniversal:return ;break;case kCoreThemeIdiomPhone:return ~iphone;break;case kCoreThemeIdiomPad:return ~ipad;break;case kCoreThemeIdiomTV:return ~tv;break;case kCoreThemeIdiomCar:return ~carplay;break;case kCoreThemeIdiomWatch:return ~watch;break;case kCoreThemeIdiomMarketing:return ~marketing;break;default:break;}return ; }NSString *sizeClassSuffixForSizeClass(UIUserInterfaceSizeClass sizeClass) {switch (sizeClass){case UIUserInterfaceSizeClassCompact:return C;break;case UIUserInterfaceSizeClassRegular:return R;break;default:return A;} }NSMutableArray *getImagesArray(CUICatalog *catalog, NSString *key) {NSMutableArray *images [[NSMutableArray alloc] initWithCapacity:5];for (NSNumber *scaleFactor in [1, 2, 3]){CUINamedImage *image [catalog imageWithName:key scaleFactor:scaleFactor.doubleValue];if (image image.scale scaleFactor.floatValue) [images addObject:image];}return images; }void exportCarFileAtPath(NSString * carPath, NSString *outputDirectoryPath) {NSError *error nil;outputDirectoryPath [outputDirectoryPath stringByExpandingTildeInPath];// CUIThemeFacet *facet [CUIThemeFacet themeWithContentsOfURL:[NSURL fileURLWithPath:carPath] error:error]; // // CUICatalog *catalog [[CUICatalog alloc] init];// 替换成以下代码CUICatalog *catalog nil;if ([CUICatalog instancesRespondToSelector:selector(initWithURL:error:)]) {/* If CUICatalog has the URL API (Mojave), use it. */catalog [[CUICatalog alloc] initWithURL:[NSURL fileURLWithPath:carPath] error:error];} else {CUIThemeFacet *facet [CUIThemeFacet themeWithContentsOfURL:[NSURL fileURLWithPath:carPath] error:error];catalog [[CUICatalog alloc] init];/* Override CUICatalog to point to a file rather than a bundle */[catalog setValue:facet forKey:_storageRef];}/* Override CUICatalog to point to a file rather than a bundle */ // [catalog setValue:facet forKey:_storageRef];/* CUICommonAssetStorage wont link */CUICommonAssetStorage *storage [[NSClassFromString(CUICommonAssetStorage) alloc] initWithPath:carPath];for (NSString *key in [storage allRenditionNames]){printf(%s\n, [key UTF8String]);NSArray* pathComponents [key pathComponents];if (pathComponents.count 1){// Create subdirectories for namespaced assets (those with names like some/namespace/image-name)NSArray* subdirectoryComponents [pathComponents subarrayWithRange:NSMakeRange(0, pathComponents.count - 1)];NSString* subdirectoryPath [outputDirectoryPath copy];for (NSString* pathComponent in subdirectoryComponents){subdirectoryPath [subdirectoryPath stringByAppendingPathComponent:pathComponent];}[[NSFileManager defaultManager] createDirectoryAtPath:subdirectoryPathwithIntermediateDirectories:YESattributes:nilerror:error];}NSMutableArray *images getImagesArray(catalog, key);for( CUINamedImage *image in images ){if( CGSizeEqualToSize(image.size, CGSizeZero) )printf(\tnil image?\n);else{CGImageRef cgImage [image image];NSString *idiomSuffix idiomSuffixForCoreThemeIdiom(image.idiom);NSString *sizeClassSuffix ;if (image.sizeClassHorizontal || image.sizeClassVertical){sizeClassSuffix [NSString stringWithFormat:-%x%, sizeClassSuffixForSizeClass(image.sizeClassHorizontal), sizeClassSuffixForSizeClass(image.sizeClassVertical)];}NSString *scale image.scale 1.0 ? [NSString stringWithFormat:%dx, (int)floor(image.scale)] : ;NSString *name [NSString stringWithFormat:%%%%.png, key, idiomSuffix, sizeClassSuffix, scale];printf(\t%s\n, [name UTF8String]);if( outputDirectoryPath )CGImageWriteToFile(cgImage, [outputDirectoryPath stringByAppendingPathComponent:name]);}}} }int main(int argc, const char * argv[]) {autoreleasepool {if (argc 2){printf(Usage: cartool path to Assets.car [outputDirectory]\n);return -1;}exportCarFileAtPath([NSString stringWithUTF8String:argv[1]], argc 2 ? [NSString stringWithUTF8String:argv[2]] : nil);}return 0; } 然后修改 Edit Scheme 如下 设置好两个路径 1.Assert.car文件的路径我是放在桌面的上的所以路径为 /Users/xxx/Desktop/Assets.car2.解压后的资源存在的路径这里是一个文件夹路径我是在桌面创建一个名为img的文件夹所以路径为 /Users/xxx/Desktop/img替换完main.m文件设置好路径后就可以运行该项目然后可以看到控制台一直在输出内容解压完成后可以查看 img 文件夹里面解压后的资源图片 我们项目中是用的是 pdf 矢量图所以打包后会自动生成 1x、2x、3x图片已适配不同分辨率的机型。
http://www.huolong8.cn/news/95107/

相关文章:

  • 商城网站建设快速服务订货网站开发价格
  • 微站设计做设计用哪个素材网站好
  • 自考网站建设与管理资料成都网页设计师
  • c2c网站制作定制网站开发食道里感觉有东西堵
  • 宁波网站怎么建设网站建设 深圳
  • 做证券考试的网站wordpress主题js文件在哪
  • 工商注册在哪个网站前端开发是程序员吗
  • 薛城网站建设怎么弄一个自己的网址
  • 做网站虚拟主机推荐为什么想做网站运营
  • 赵公口网站建设网络推广app是干什么的
  • 卖高权重网站做跳转网站主办者和所有者区别
  • 网站简介 更改做网站和推广
  • 深圳比较好的ui设计公司小果seo实战培训课程
  • 网站制作定制图pc网站如何做sp
  • 最新网站建设软件wordpress 虾米音乐插件
  • 建站价格会差网站空间多大
  • 学校网站资源建设方案制作排行榜的软件
  • 深圳网站专业建设公司政协门户网站建设方案
  • 本科学计算机是做网站吗网站开发费用包括美工费吗
  • 网络推广营销网站建设专家flash做网站的论文
  • 网站开发技术代码源码可以做网站吗
  • 阜阳市住房和城乡建设局网站网络营销是什么样子的
  • 产品网站免费模板下载地址做一个宣传网站的策划书
  • 360网站页面的工具栏怎么做网站移动端的设计思想
  • hype做网站动效wordpress kallyas
  • 做海淘是在哪个网站好文学写作网站
  • 开封网站推广公司业务型网站做seo
  • 在局网站 作风建设方案开发app需要的技术
  • 成都市建设相关网站做外汇看新闻在什么网站看
  • 自己做网站不推广网站开始怎么做