2018-05-15 14:53:39 shihuboke 阅读数 12506
  • SwiftUI入门到实战课程

    更好的应用,更少的代码! SwiftUI是苹果主推的下一代用户界面搭建技术,具有声明式语法、实时生成界面预览等特性,可以为苹果手机、苹果平板、苹果电脑、苹果电视、苹果手表五个平台搭建统一的用户界面。 SwiftUI是一种创新、简单的iOS开发中的界面布局方案,可以通过Swift语言的强大功能,在所有的Apple平台上快速构建用户界面。 仅使用一组工具和API为任何Apple设备构建用户界面。 SwiftUI具有易于阅读和自然编写的声明式Swift语法,可与新的Xcode设计工具无缝协作,使您的代码和设计**同步。自动支持动态类型、暗黑模式、本地化和可访问性,意味着您的**行SwiftUI代码已经是您编写过的非常强大的UI代码了。 【课程特点】 1、196节大容量课程:包含了SwiftUI的大部分知识点,详细讲解SwiftUI的方方面面; 2、15个超级精彩的实例:包含美食、理财、健身、教育、电子商务等各行业的App实例; 3、创新的教学模式:手把手教您SwiftUI用户界面开发技术,一看就懂,一学就会; 4、贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标; 5、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您宝贵的时间; 6、视频短小精悍:即方便于您的学习和记忆,也方便日后对功能的检索; 7、齐全的学习资料:提供所有课程的源码,在Xcode 11 + iOS 13环境下测试通过;

    533 人正在学习 去看看 李发展

 

                      联系人:石虎 QQ:1224614774  昵称: 嗡嘛呢叭咪哄

                               QQ群:807236138  群称: iOS 技术交流学习群

一、概念

   在去年的WWDC 2014上,苹果为开发者提供了一项新特性——AppPreviews(应用预览视频)。它能够让用户在下载和购买应用之前有一个详细的心理预期和使用体验,帮助用户更好地理解应用并带来更多的下载。

 

二、官方资料

  1.苹果官方资料:  https://developer.apple.com/app-store/app-previews/

  2.CocoaChina翻译:http://www.cocoachina.com/appstore/20140911/9590.html

 

  3.视频地址:http://v.youku.com/v_show/id_XOTYxNDE2OTQ4.html

  4.iTunes Connect Deveeloper:  https://help.apple.com/itunes-connect/developer/#/dev910472ff2/

  5.App Store Review Guidelines :  https://developer.apple.com/app-store/review/guidelines/#accurate-metadata/

 

  6.干货资料

    CSND:

    https://blog.csdn.net/shihuboke/article/details/79360428

    https://blog.csdn.net/shihuboke/article/details/80268735

   简书:

    https://www.jianshu.com/p/5a83d810ccb9

    https://www.jianshu.com/p/5a83d810ccb9

 

三、上传预览图(短视频)

 

1.视频预览大小:

  1.视频预览(App Previews)的大小不能超过 500MB,视频的时长应保持在 15 ~ 30秒。

  2.通过H.264 MPEG或ProRess 422(HQ)压缩

  3.每秒30帧(30p)

  4.扩展名可以是.mov、.mp4或.m4v

 

2.视频预览尺寸:

  * 3.5寸 无视频 无需上传

  * ipad 900x1200 或者 1200 x 900 

  * 4.7750x1334 或者 1334 x 750

  * 5.5寸和4寸都可以用 1080x1920 或者 1920 x 1080

 

3.视频预览手机机型

  * 3.5英寸 : iPhone4、iPhone4S

  * 4.0英寸 : iPhone5、iPhone5S、iPhoneSE、iPhone5C

  * 4.7英寸 : iPhone6、iPhone6S、iPhone7、iPhone8

  * 5.0英寸 : 略

  * 5.5英寸 : iPhone6plus、iPhone6S plus、iPhone7plus、iPhone8plus

  * 5.8英寸 : iPhoneX

 

  注意点:只是上传的4.7寸视频 ,上传后以下尺寸都有视频,原因是自动适配(5.0除,没有机型), ipad 没有,但是会有 iPhone 的预览优先展示,

 

四、上传预览图(短视频)~解决问题

 

1.错误~预览视频不是双声道:

 

 解决方法: 上传预览视频必须是有声音的,声道要求上面官方资料中有详细介绍

 

2.错误~预览视频尺寸:

 

  解决方法: 上传预览视频宽和高不正确的,如果UI 设计给你的尺寸是正确的,上传还要报这种错误,那就需要专业的 UI 设计从新做一遍短视频

 

3.错误~预览视频显示正在处理:

 

 解决方法: 上传预览视频要24小时内同步完成,耐心等待...

 

4.错误~预览视频上传提示无法载入文件:

 

 

 

 

 

  解决方法: 1.不在任何处理

           2.需要资深专业 UI 设计做图

  注意点:

    1.图片名不能带中文

    2.图片不能带透明度,这个找一下设计,用PS工具是默认带透明度的 

  3.只是上传的4.7寸视频 ,上传后以下尺寸都有视频,原因是自动适配(5.0除,没有机型), ipad 没有,但是会有 iPhone 的预览优先展示,

 

谢谢!!!

2017-07-05 10:52:08 taoerit 阅读数 959
  • SwiftUI入门到实战课程

    更好的应用,更少的代码! SwiftUI是苹果主推的下一代用户界面搭建技术,具有声明式语法、实时生成界面预览等特性,可以为苹果手机、苹果平板、苹果电脑、苹果电视、苹果手表五个平台搭建统一的用户界面。 SwiftUI是一种创新、简单的iOS开发中的界面布局方案,可以通过Swift语言的强大功能,在所有的Apple平台上快速构建用户界面。 仅使用一组工具和API为任何Apple设备构建用户界面。 SwiftUI具有易于阅读和自然编写的声明式Swift语法,可与新的Xcode设计工具无缝协作,使您的代码和设计**同步。自动支持动态类型、暗黑模式、本地化和可访问性,意味着您的**行SwiftUI代码已经是您编写过的非常强大的UI代码了。 【课程特点】 1、196节大容量课程:包含了SwiftUI的大部分知识点,详细讲解SwiftUI的方方面面; 2、15个超级精彩的实例:包含美食、理财、健身、教育、电子商务等各行业的App实例; 3、创新的教学模式:手把手教您SwiftUI用户界面开发技术,一看就懂,一学就会; 4、贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标; 5、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您宝贵的时间; 6、视频短小精悍:即方便于您的学习和记忆,也方便日后对功能的检索; 7、齐全的学习资料:提供所有课程的源码,在Xcode 11 + iOS 13环境下测试通过;

    533 人正在学习 去看看 李发展

1 需要的工具: 

   1 录视频工具: QuickTime Player 或者 imove

   2 视频转换工具:格式工厂4.10


2 视频录制

    1 ipad连接mac 电脑

    2 ipad实时预览

      打开QuickTime Player,    选择文件 -> 新建影片录制  ,然后选择相机,这个时候,你在ipad上的操作都会实时预览


    3   点击红色按钮,开始录制

         

     4 点击方形按钮,停止录制

   

     5 视频保存

     视频界面关闭时会提示保存

 



3 视频编辑

   1  视频修剪


    用QuickTime Player 打开视频,编辑->修剪



   2  修剪分离

       注意观察有个红线,红线可以拖动,红线拖动后,再编辑->分离编辑,表示在红线位置将帧分离,这样就可以进行剪切,复制等,还可以将分离的部分左右拖动,以便改变帧的位置,如果分离编辑是灰色的,那么先点击下面这个界面的修剪按钮,这样分离编辑就可用了,重复修剪和分离编辑,就可以将视频切分成一段一段的,而且编辑里有剪切,不想要的直接剪切掉就可以了。
  


    

   3 视频保存

         依旧是视频退出后提示保存

4 视频上传

    进入itunsconnect中的app应用,选择ipad,我的app是ipad版本的




5 遇到的问题

   1 分辨率问题

      提示分辨率不符合要求,这个时候要用格式工厂软件转mov格式,且分辨率尺寸根据提示来转,如图

    2 帧率问题

       上传时提示帧率过大,或者过小,大了就减,小了就加,如图

      






2015-04-14 14:52:32 u013749108 阅读数 1901
  • SwiftUI入门到实战课程

    更好的应用,更少的代码! SwiftUI是苹果主推的下一代用户界面搭建技术,具有声明式语法、实时生成界面预览等特性,可以为苹果手机、苹果平板、苹果电脑、苹果电视、苹果手表五个平台搭建统一的用户界面。 SwiftUI是一种创新、简单的iOS开发中的界面布局方案,可以通过Swift语言的强大功能,在所有的Apple平台上快速构建用户界面。 仅使用一组工具和API为任何Apple设备构建用户界面。 SwiftUI具有易于阅读和自然编写的声明式Swift语法,可与新的Xcode设计工具无缝协作,使您的代码和设计**同步。自动支持动态类型、暗黑模式、本地化和可访问性,意味着您的**行SwiftUI代码已经是您编写过的非常强大的UI代码了。 【课程特点】 1、196节大容量课程:包含了SwiftUI的大部分知识点,详细讲解SwiftUI的方方面面; 2、15个超级精彩的实例:包含美食、理财、健身、教育、电子商务等各行业的App实例; 3、创新的教学模式:手把手教您SwiftUI用户界面开发技术,一看就懂,一学就会; 4、贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标; 5、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您宝贵的时间; 6、视频短小精悍:即方便于您的学习和记忆,也方便日后对功能的检索; 7、齐全的学习资料:提供所有课程的源码,在Xcode 11 + iOS 13环境下测试通过;

    533 人正在学习 去看看 李发展
  • 在我们的app中可能会涉及到doc,docx,pdf,xls等格式的文档预览,或者调用第三方app打开文档的功能。如果不是严格要求,使用UIWebView打开是一种最为简单快捷的方式(具体方法很简单,在此就不多做说明)。下面说的是如何使用iOS自带的文档预览功能。

UIDocumentInteractionController

UIDocumentInteractionController是iOS 很早就出来的一个功能。但由于平时很少用到,自然也就不知道这个功能,从而忽略了一个功能强大的”文档阅读器”。

UIDocumentInteractionController主要由两个功能,一个是在自己的app里预览文档,另一个就是调用iPhone里第三方相关的app打开文档。
上代码:

*使用UIDocumentInteractionController不需要其他的依赖库,所以只要项目有UIKit库就可以了,在需要的类里需要引入
#import <UIKit/UIKit.h>
1、声明对象

当前视图要准守 UIDocumentInteractionControllerDelegate 协议

UIDocumentInteractionController *documentInteraction;

如果你用@propoty 要使用强引用。

2、实例化对象、 传入文档地址

#读取目标文档路径
filePathStr = [[NSBundle mainBundle]pathForResource@"mypdf" ofType:@"pdf"];

#实例化并传入文档URL
documentInteraction = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:filePathStr]];


#设置代理

documentInteraction.delegate = self;


#提前跟编译器说好,我一会要模态跳转该controller

[documentInteraction presentPreviewAnimated:YES];

前面这些基本步骤是预览和调用第三方都需要的前奏。
下面是实现功能( 开始了… 不要激动…)

/*
必须实现的代理方法 预览窗口以模态窗口的形式显示,因此需要在该方法中返回一个view controller ,作为预览窗口的父窗口。如果你不实现该方法,或者在该方法中返回 nil,或者你返回的 view controller 无法呈现模式窗口,则该预览窗口不会显示。
*/
- (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller{

    return self;
}


/*
可选的2个代理方法 (主要是调整预览视图弹出时候的动画效果,如果不实现,视图从底部推出)
*/
- (UIView*)documentInteractionControllerViewForPreview:(UIDocumentInteractionController*)controller
{
    return self.view;
}
- (CGRect)documentInteractionControllerRectForPreview:(UIDocumentInteractionController*)controller
{

    return self.view.frame;
}

运行结果如图:
这里写图片描述

点击左上角的Done退出预览,回到当前页面。右上角的图片,点击可出现发送邮件,赋值,打印等一些功能。(这个可比web功能强大多了吧)。

下面该说调用第三方app打开文档了。
ps:与平时app的相互调用不同,使用UIDocumentInteractionController不需要知道第三方app的URL Scheme信息。它会自动检测能打开(准确说是操作)它的app。具体原理是这些app在发布时都是进行URl Scheme的相关设置,意图在于告知其他app我有处理文档的功能。(如何让自己的app能被调用去打开其他app的文档请参考:http://blog.csdn.net/kmyhy/article/details/9064089

上代码:
其实就一句话,把
[_documentInteraction presentPreviewAnimated:YES];这句替换为下面这句就好了

[documentInteraction presentOpenInMenuFromRect:self.view.bounds nView:self.view animated:YES];

QLPreviewController

QLPreviewController是iOS 4之后引入的类,属于QuickLook.frameworks。
1、引入依赖库
QuickLook.framework

添加头文件 #import <QuickLook/QuickLook.h>

准守两个协议
QLPreviewControllerDataSource
QLPreviewControllerDelegate

2、创建对象
与UIDocumentInteractionController不同,QLPreviewController不是使用类方法创建的

self.review=[[QLPreviewController alloc]init];

//设置dataSource和delegate
review.dataSource=self;
review.delegate=self;  

//设置该controller的title              review.title=self.currentChance.fileName;

通过模态展示QLPreviewController

[self presentViewController:review animated:YES

其中必须实现的代理方法为

//返回在预览导航单里面显示了文档的列表个数
-(NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller{
    return 1;
}

//返回文档的路径
 - (id <QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index{
    return [NSURL fileURLWithPath:filePath];
}

可选的代理方法有:

//QLPreviewController将要消失
- (void)previewControllerWillDismiss:(QLPreviewController *)controller;

//QLPreviewController已经消失
- (void)previewControllerDidDismiss:(QLPreviewController *)controller;

//当你的文档里面含有链接的时候,点击链接会调用该方法,默认返回YES, 如果设置为NO,该链接将不会被打开。
- (BOOL)previewController:(QLPreviewController *)controller shouldOpenURL:(NSURL *)url forPreviewItem:(id <QLPreviewItem>)item;

注意事项:txt格式用预览打开会出现乱码的情况,此时需要进行处理

处理乱码的方法

- (void)transformEncodingFromFilePath:(NSString *)filePath{
    //调用上述转码方法获取正常字符串
    NSString *body = [self examineTheFilePathStr:filePath];
    //转换为二进制
    NSData *data = [body dataUsingEncoding:NSUTF16StringEncoding];
    //覆盖原来的文件
    [data writeToFile:filePath atomically:YES];
    //此时在读取该文件,就是正常格式啦
}

另外补充一下webView处理乱码的方法

- (NSString *)examineTheFilePathStr:(NSString *)str{
    NSStringEncoding *useEncodeing = nil;
    //带编码头的如utf-8等,这里会识别出来
    NSString *body = [NSString stringWithContentsOfFile:str usedEncoding:useEncodeing error:nil];
    //识别不到,按GBK编码再解码一次.这里不能先按GB18030解码,否则会出现整个文档无换行bug
    if (!body) {
        body = [NSString stringWithContentsOfFile:str encoding:0x80000632 error:nil];
    }
    //还是识别不到,按GB18030编码再解码一次.
    if (!body) {
        body = [NSString stringWithContentsOfFile:str encoding:0x80000631 error:nil];
    }

    return body;//有值代表需要转换  为空表示不需要转换
}
if(body){
        [self.webView loadHTMLString:body baseURL: nil];
    }else{
        NSURL *filePathUrl = [NSURL fileURLWithPath:self.filePathStr];
      //  NSLog(@"%@",self.filePathStr);
        NSURLRequest *request = [NSURLRequest requestWithURL:filePathUrl];
        [self.webView loadRequest:request];
    }
2018-01-16 10:54:49 u011374880 阅读数 15691
  • SwiftUI入门到实战课程

    更好的应用,更少的代码! SwiftUI是苹果主推的下一代用户界面搭建技术,具有声明式语法、实时生成界面预览等特性,可以为苹果手机、苹果平板、苹果电脑、苹果电视、苹果手表五个平台搭建统一的用户界面。 SwiftUI是一种创新、简单的iOS开发中的界面布局方案,可以通过Swift语言的强大功能,在所有的Apple平台上快速构建用户界面。 仅使用一组工具和API为任何Apple设备构建用户界面。 SwiftUI具有易于阅读和自然编写的声明式Swift语法,可与新的Xcode设计工具无缝协作,使您的代码和设计**同步。自动支持动态类型、暗黑模式、本地化和可访问性,意味着您的**行SwiftUI代码已经是您编写过的非常强大的UI代码了。 【课程特点】 1、196节大容量课程:包含了SwiftUI的大部分知识点,详细讲解SwiftUI的方方面面; 2、15个超级精彩的实例:包含美食、理财、健身、教育、电子商务等各行业的App实例; 3、创新的教学模式:手把手教您SwiftUI用户界面开发技术,一看就懂,一学就会; 4、贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标; 5、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您宝贵的时间; 6、视频短小精悍:即方便于您的学习和记忆,也方便日后对功能的检索; 7、齐全的学习资料:提供所有课程的源码,在Xcode 11 + iOS 13环境下测试通过;

    533 人正在学习 去看看 李发展

App 预览规范 (iOS、tvOS)

您可以提供 tH.264 和 ProRes 422(仅限 HQ)格式的 App 预览,并且需要具有如下规格:

视频规格

表头

H.264 格式

ProRes 422(仅限 HQ)格式

目标比特率

10-12 Mbps

VBR ~220 Mbps

视频特性

逐行输出,高达 High Profile Level 4.0

逐行输出,无外部引用

最大帧速率

30 帧/秒

30 帧/秒

音频

  • 立体声

  • 编解码:256kbps AAC

  • 采样速率:44.1kHz 或 48kHz

  • 应启用所有音轨

立体声配置:

  • 单音轨双声道立体声(第一个是左声道,第二个是右声道)

  • 双音轨单声道立体声(第一个是左音轨,第二个是右音轨)

  • 立体声

  • 编解码:PCM 或 256kbps AAC

  • 位深度(适用于 PCM):16、24 或 32 位

  • 采样速率:44.1kHz 或 48kHz

  • 应启用所有音轨

立体声配置:

  • 单音轨双声道立体声(第一个是左声道,第二个是右声道)

  • 双音轨单声道立体声(第一个是左音轨,第二个是右音轨)

支持的扩展名

.mov、.m4v、.mp4

.mov

App 预览分辨率

您可以交付具有以下分辨率的 App 预览。

设备或场景

原始分辨率

接受的分辨率

5.8 英寸超视网膜显示屏屏幕快照

2436 x 1125 像素

886 x 1920 像素(纵向)

1920 x 886 像素(横向)

5.5 英寸视网膜显示屏屏幕快照

2208 x 1242(渲染像素)

1920 x 1080(物理像素)

纵向分辨率为 1080 x 1920 像素

横向分辨率为 1920 x 1080 像素

4.7 英寸视网膜显示屏屏幕快照

1334 x 750

纵向分辨率为 750 x 1334 像素

横向分辨率为 1334 x 750 像素

4 英寸视网膜显示屏屏幕快照

1136 x 640(16:9 宽高比)

纵向分辨率为 1080 x 1920 像素

横向分辨率为 1920 x 1080 像素

12.9 英寸视网膜显示屏屏幕快照

2732 x 2048(4:3 宽高比)

纵向分辨率为 1200 x 1600 像素

横向分辨率为 1600 x 1200 像素

纵向分辨率为 900 x 1200 像素

横向分辨率为 1200 x 900 像素

10.5 英寸视网膜显示屏

2224 x 1668(4:3 宽高比)

纵向分辨率为 1200 x 1600 像素

横向分辨率为 1600 x 1200 像素

9.7 英寸视网膜显示屏屏幕快照

2048 x 1536(4:3 宽高比)

纵向分辨率为 900 x 1200 像素

横向分辨率为 1200 x 900 像素

Apple TV

1920 x 1080(16:9 宽高比)

1920 x 1080 像素

App 预览要求

您需要提供以下信息以创建您的 App 预览并将其上传至 iTunes Connect。

场景

描述

最大文件大小

500 MB

最小长度

15 秒

最大长度

30 秒

默认海报帧设置

5 秒(请参见设置 App 预览海报帧。)

方向

纵向或横向

OS 设备捕捉和播放

iOS 8 或更高版本

在 iTunes Connect 中上传和回放

Safari 浏览器 8 和 macOS 10.10 或更高版本


您必须为每个设备类型提供一组屏幕快照。针对 iPhone,您需要一组用于 5.5 英寸显示屏的屏幕快照;而针对 iPad,您需要一组用于 12.9 英寸显示屏的屏幕快照。

针对 iPhone X 的 5.8 英寸显示屏素材是可选的,且无法缩放至其他设备尺寸。您向 iTunes Connect 上传的 iPhone X 屏幕快照会带有圆角显示。

设备尺寸或平台

屏幕快照尺寸

必填项

5.8 英寸超视网膜显示屏

纵向分辨率为 1125 x 2436 像素

横向分辨率为 2436 x 1125 像素

可选

5.5 英寸视网膜显示屏

纵向分辨率为 1242 x 2208 像素

横向分辨率为 2208 x 1242 像素

如 App 在 iPhone 上运行,则此项为必填

4.7 英寸视网膜显示屏

纵向分辨率为 750 x 1334 像素

横向分辨率为 1334 x 750 像素

可能使用 5.5 英寸显示屏

4 英寸视网膜显示屏

纵向分辨率(不含状态栏)为 640 x 1096 像素

纵向分辨率(全屏)为 640 x 1136 像素

横向分辨率(不含状态栏)为 1136 x 600 像素

横向分辨率(全屏)为 1136 x 640 像素

可能使用 5.5 英寸或 4.7 英寸显示屏

3.5 英寸视网膜显示屏

纵向分辨率(不含状态栏)为 640 x 920 像素

纵向分辨率(全屏)为 640 x 960 像素

横向分辨率(不含状态栏)为 960 x 600 像素

横向分辨率(全屏)为 960 x 640 像素

可能使用 5.5 英寸、4.7 英寸或 4 英寸显示屏

12.9 英寸视网膜显示屏

纵向分辨率为 2048 x 2732 像素

横向分辨率为 2732 x 2048 像素

如 App 在 iPad 上运行,则此项为必填

10.5 英寸视网膜显示屏

纵向分辨率为 1668 x 2224 像素

横向分辨率为 2224 x 1668 像素

可能使用 12.9 英寸显示屏

9.7 英寸视网膜显示屏

高分辨率:

横向分辨率(不含状态栏)为 2048 x 1496 像素

横向分辨率(全屏)为 2048 x 1536 像素

纵向分辨率(不含状态栏)为 1536 x 2008 像素

纵向分辨率(全屏)为 1536 x 2048 像素

标准分辨率:

横向分辨率(不含状态栏)为 1024 x 748 像素

横向分辨率(全屏)为 1024 x 768 像素

纵向分辨率(不含状态栏)为 768 x 1004 像素

纵向分辨率(全屏)为 768 x 1024 像素

可以使用 10.5 或 12.9 英寸显示屏

macOS

具有 16:10 宽高比的下列分辨率之一。

1280 x 800 像素

1440 x 900 像素

2560 x 1600 像素

2880 x 1800 像素

tvOS

1920 x 1080 像素

3840 x 2160 像素

watchOS

312 x 390 像素

博文 来自: ws1836300
没有更多推荐了,返回首页