2019-07-05 23:53:55 harmsworth2016 阅读数 949
  • 苹果iOS应用UI控件开发

    本视频是传智播客iOS学院精心录制的免费精华版UI基础视频,该视频特点在于较大程度保证了知识点的完整性,视频的起点都是针对有一定OC基础的同学

    13880 人正在学习 去看看 传智

解决ios系统在safari浏览器中添加web应用程序到主屏幕,打开子链接会跳转到safari的问题

前言

ios系统的safari浏览器有一个功能可以将web应用程序添加到主程序,使得web程序像app一样全屏显示操作。

代码

<!-- 在 `head` 标签中添加描述 `html` 元数据的标签。表示允许该应用以全屏运行 -->
<meta name="apple-mobile-web-app-capable" content="yes">

<!-- 添加脚本 -->
<script>
  if (('standalone' in window.navigator) && window.navigator.standalone) {
    var noddy, remotes = false;
    document.addEventListener('click', function (event) {
      noddy = event.target;
      while (noddy.nodeName !== 'A' && noddy.nodeName !== 'HTML') noddy = noddy.parentNode;
      if ('href' in noddy && noddy.href.indexOf('http') !== -1 && (noddy.href.indexOf(document.location.host) !==
          -1 || remotes)) {
        event.preventDefault();
        document.location.href = noddy.href;
      }
    }, false);
  }
</script>
  1. 添加 meta 标签后,web应用 会在主屏幕上以全屏显示,然当点击子链接时,依然会跳转到 safari 浏览器。

示例如下:
https://harmsworth.github.io/webapp-demo/2019/06/test3.html
在这里插入图片描述

  1. 添加 meta 标签并且添加上面的 js 脚本能全屏显示,当点击子链接时,会在 web应用 内跳转。

示例如下:
https://harmsworth.github.io/webapp-demo/2019/06/test5.html
在这里插入图片描述

参考

https://www.cnblogs.com/PeunZhang/p/3407453.html#meta
https://blog.csdn.net/lilinoscar/article/details/70270374
https://cloud.tencent.com/developer/article/1025378

2019-11-04 12:12:27 HeroGuo_JP 阅读数 171
  • 苹果iOS应用UI控件开发

    本视频是传智播客iOS学院精心录制的免费精华版UI基础视频,该视频特点在于较大程度保证了知识点的完整性,视频的起点都是针对有一定OC基础的同学

    13880 人正在学习 去看看 传智

iOS给应用添加支持的文件类型/根据文件类型打开应用

之前写过类似的文章 IOS UTI(统一类型标识符) 根据文件后缀打开APP自定义UTI 注册你的APP所支持的文件类型 这里 再次总结说明。

已经存在的UTL类型

苹果官方文档提供了常见情况下,所支持的UTL类型 【链接

如何添加已经存在的类型

在Xcode中选择TARGES----> Info 添加 Document types 中配置 一个item
在这里插入图片描述
说明:

DocumentTypeName:

文档的类型名称

HandlerRank:

指定文件能被app持有或者只能打开文件,默认为Default,
其中包含 Owner,Default,Alternate,None四个可选值,指定对于某种类型的优先权级别,而Launcher Service会根据这个优先级别来排列显示的App的顺序。优先级别从高到低依次是Owner,Alternate,Default。None表示不接受这种类型。

Document Content Type UTIs:

文件类型的UTI。这里填写你App的bundle identifier + 分享的文件的后缀.

CFBundleTypeIconFiles

在别的app上显示图片。

需要注意的是 Xcode 10 中关于此配置的如下在这里插入图片描述

添加自定义的 UTL

在这里插入图片描述
在这里插入图片描述
Document Content Type UTIs:这里填写你App的bundle identifier + 分享的文件的后缀
public.filename-extension:这里填写你压缩包的扩展名。

在App中获取文件

#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_9_0

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
   NSLog(@"openURL : %@",url);
   [self openFileWithopenURL:url];
   return YES;
}

#else

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation
{
    NSLog(@"Get doc file url: %@",url);
    [self openFileWithopenURL:url];
    return YES;
}

#endif



-(void)openFileWithopenURL:(NSURL *)url
{
    // 模型文件的地址
    NSString *str = [[url absoluteString] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSString *modeName = [[str componentsSeparatedByString:@"/"]lastObject];
    NSString *docDir = [str stringByReplacingOccurrencesOfString:@"file://" withString:@""];
    if (modeName.length >0)
    {
     	NSLog(@"docDir 就是文件的路径")}
}
2013-10-29 14:42:42 u012600842 阅读数 379
  • 苹果iOS应用UI控件开发

    本视频是传智播客iOS学院精心录制的免费精华版UI基础视频,该视频特点在于较大程度保证了知识点的完整性,视频的起点都是针对有一定OC基础的同学

    13880 人正在学习 去看看 传智
iOS开发平台搭建完成之后,就可以正式开始考虑ios程序开发问题了。这需要考虑的问题就比较多,通常情况下,iOS平台的限制很多也很严格,受到iOS平台的认可才是ios应用开发成功的关键。在开发者编码前,需要对范围有完整的定义,对设计有明确的规划。
    1、代码
    在网站设计时,可以很方便地添加一个新页面,并为之创建链接,但在iOS应用中却不能这么做,所有元素都必须从一开始就确定,任何细微的改动都有可能会引发意想不到的后果。iOS代码的结构就像一个复杂的面板,虽然仍可以在部分地方做改动,但一旦改错了地方,将可能会导致整个面板崩溃。
    2、界面设计
    不管是使用标准界面组件,还是自定义组件,必须一开始就选择对,因为整个应用的结构都依赖于界面设计。例如,界面底部的标签栏,如果想使用其他颜色的图标代替青色色调,在代码中要做很大改动。
    3、拓展iPhone应用兼容设备
    不建议拓展iPhone应用的附加功能,使其同时支持iPad,因为iPad应用并不是iPhone应用的一个附加功能,而是一种比iPhone应用更为复杂的东西,通常情况下需要与iPhone应用完全不同的界面和互动机制。将iPhone应用转变成iPad应用就好比将电动自行车改装成摩托车一样,虽然并非完全不可能,但绝非一项轻松简单的工作。此外,iPhone应用和iPad应用的底层API以及用户体验截然不同。
  iOS应用开发规划是至关重要的,这关系到开发者到底要开发什么样的ios应用,这ios应用到底有能用来干什么,这ios应用是否能为用户带来很好的体验?等等这些问题都要做好规划,让这个ios应用开发项目能够按正确的顺序开发出来。
2016-06-06 15:56:46 jingyipo 阅读数 9934
  • 苹果iOS应用UI控件开发

    本视频是传智播客iOS学院精心录制的免费精华版UI基础视频,该视频特点在于较大程度保证了知识点的完整性,视频的起点都是针对有一定OC基础的同学

    13880 人正在学习 去看看 传智

iOS应用上线——从证书申请到打包上线


本文只针对应用上线来写,其他与上线无关的证书都不在考虑范围内。考虑到第一次接触开发者账号并申请证书的童鞋,本文采取傻瓜式书写流程(即按照流程无脑操作即可),文章末尾会给予一定的概念描述。话不多说,下面将详细介绍流程。

一、在申请证书前,我们需要做一些准备工作:


1.首先你要准备好“苹果全球开发者关系证书”即AppleWWDRCA.cer



这里分为两种情况:<1> 若之前使用过全球开发者证书,打开钥匙串访问->点击最上面工具栏显示->显示已过期的证书(或keychains - >View -> Show Expired Certificates)






在登录和系统项中选择证书,若存在如上图中显示的AppleWWDRCA失效证书,,则说明苹果全球开发者证书过期,需要我们删除

存在于登录和系统项(两项中都可能存在,只有都删除了才有效)中的AppleWWDRCA证书,下载新的苹果开发者证书https://developer.apple.com/certificationauthority/AppleWWDRCA.cer并双击安装后,再看钥匙串中的

AppleWWDRCA证书已经提示为“此证书有效”,如下图





若之前使用过,且已经是有效证书,请忽略准备工作的第一步。

<2> 若之前未使用过全球开发者证书,请直接点击<1>中苹果全球开发者证书的链接下载,并双击安装。

对于不清楚自己的mac是否使用过的童鞋请参考情况<1>。

2.在苹果开发者后台中申请证书前,我们还需要准备一个CSR文件,在钥匙串访问下拉菜单中选证书助理 - > 从证书颁发机构请求证书。



点击“从证书颁发机构请求证书...”后,弹出下图,按图操作后,点击继续按钮



然后根据下图中提示完成操作后点击存储按钮,并在自己的存储位置找到CSR文件。



好了,到这里为止准备工作就已经结束了。



二、申请应用发布到AppStore所需证书

废话不多说,直接上硬菜

进入苹果开发者后台点击右上角“账户”或"Account"按钮,登录你的苹果开发者账号后,选择"Certificates, IDs & Profiles",如下图中红框中的任意一个。



1.申请发布证书(也叫生产证书或分发证书)





然后点击下图中Continue按钮以继续










到这里发布证书(也叫生产证书或分发证书)就申请完成了,点击Download按钮下载后,点击Done。

或者你也可以点击左侧Production - > 新申请的发布证书 - > Download下载,如下图。


注意:《1》上面提到的发布证书有申请个数限定(开发证书也一样),超过即不可申请(亲测),望各位童鞋们慎重申请。

我用苹果个人开发者账号申请了发布证书三个(开发证书两个),公司开发者账号发布证书两个(开发证书两个),企业级开发者账号发布证书两个(开发证书两个),由此得出结论每个证书申请的限定个数一般为2个,也不排除3个的可能。由于没有更多的账号,以上不一定是绝对的,若有更准确的答案欢迎改正。

《2》发布证书可以和多个App ID关联,一般情况下发布证书申请一个就可以了。


2.申请App ID(也就是Xcode中的boundle Id),若App ID已存在,请忽略这一步。









点击register后,出现新页面点击Done即可。







创建推送生产证书的操作同创建发布证书的流程相同,请参考第1.步进行操作。



OK,到这里App ID创建完成。


3.创建授权文件(也叫配置文件或描述文件)
















点击继续后在新的页面中点击Download下载授权文件即可。

在你的默认下载路径中找到下载的三个文件(如下图,根据命名能知道,第一个发布证书,第二个推送生产证书,第三个授权文件)



到这里应用打包上线所需要的证书就创建完毕了。

四、应用打包上传iTunes后台(默认你的应用已完成,iTunes后台App已经创建,如果不创建无法上传)

首先,将刚才得到的ios_distribution.cer发布证书双击安装到钥匙串访问




然后用Xcode打开自己的应用后,双击uploadTest.mobileprovision授权文件,它会自己安装到Xcode中。

然后按下图中描述操作:



如果Team中没有选项:





添加你的开发者账号后Team中就会增加一个以你账号命名的选项,选择即可。(有可能会有延时,可能要等会儿出现)

注意:如果你的账号名下有两个选项,一个是开发证书,一个是发布证书。开发证书后面会带有“(Personal Team)”的字样,选择另外一个即是发布证书(打包上线用)。






到这里我们就可以开始打包上传了。





打开Product - > Archive 点击




如果Archive失败,出现找不到对应UUID...的错误的话(如下图)



将Code Signing 中Provisioning Profile项中选择Automatic,重新Archive即可



原因不详,自从更行了Xcode7.2后就会出现这个问题。QAQ



等Archive成功后会弹出一个窗口如下图,点击Validate验证一下应用。








点击Validate验证



验证这一步可能会有点耗时(跟苹果服务器和你的网络有关)


验证成功后,点击Upload to App Store上传




同Validate时一样,选择开发证书对应的Team,点击Choose



然后点击Upload按钮上传




上传时也可能有点耗时,只能等...



等上传成功会有Success的提醒,点击Done即可。这时已经说明打包上传App Store成功


到iTunes Connect后台 - > 你的App - > 准备提交的版本 - > 构建版本旁边的“+”号或选择一个构建版本。



选择刚才打包上传的版本后,点完成。



这里需要注意的是.ipa包上传成功后到构建版本中显示,这段时间是不确定的,可能与苹果服务器有关,我等过最长时间的一次是一天左右。。。不过近期貌似都挺快的


到这里就告一段落了,iTunes后台App中的其它信息可以根据公司的要求来填写,完成之后点击右上角“存储”后,点击“提交以供审核”即可。




以上两项,如果公司没有特别说明,都选否然后提交即可。



OK,打完收工微笑,接下来给大家科普一下关于证书的大致概念:

1.    Certification(证书)
证书是对电脑开发资格的认证,分为两种:
1)    Developer Certification(开发证书)
安装在电脑上提供权限:开发人员通过设备进行真机测试。
可以生成副本供多台电脑安装;

2)      Distribution Certification(发布证书)
安装在电脑上提供发布iOS程序的权限:开发人员可以制做测试版和发布版的程序。
可以生成副本,供多台电脑安装使用;

注:以上两种证书,用了一台电脑的CSR文件配置并下载下来之后,只有配置该证书的电脑才可使用。所以如果想要用其它电脑使用以上两种证书就需要制作副本(即生成.12文件)(副本制做介绍在下面Keychain中介绍)


2.    Provisioning Profile(授权文件)
授权文件是对设备如iPod Touch、iPad、iPhone的授权,文件内记录的是设备的UDID和程序的App Id,即使被授权的设备可以安装或调试Bundle identifier与授权文件中记录的App Id对应的程序。
开发者帐号在创建授权文件时候会选择App Id,(开发者帐号下App Id中添加,单选)和UDID(开发者帐号下Devices中添加最多100个,多选)。
授权文件分为两种,对应相应的证书使用:
1)    Developer Provisioning Profile(开发授权文件)
在装有开发证书或副本(.p12文件)的电脑上使用,开发人员选择该授权文件通过电脑将程序安装到授权文件记录的设备中,即可进行真机测试。
注意:确保电脑有权限真机调试,即安装了开发证书或副本;在开发工具中程序的Bundle identifier和选中使用的授权文件的App Id要一致;连接调试的设备的UDID在选中的授权文件中有记录。

2)    Distribution Provisioning Profile(发布授权文件)
在装有发布证书副本(.p12文件)的电脑上(不只一台)制做测试版和发布版的程序。
发布版就是发布到App Store上的程序文件,开发者帐号创建授权文件时选择store选项,选择App Id,无需选择UDID;
测试版就是在发布之前交给测试人员可同步到设备上的程序文件,开发者帐号创建授权文件时选择AdHoc,选择App Id和UDID;只有选中的UDID对应的设备才可能安装上通过该授权文件制做的程序。

3.    Keychain(开发密钥)
安装证书成功的情况下证书下都会生成Keychain,上面提到的证书副本就是通过配置证书的电脑导出Keychain(就是.p12文件)安装到其他机子上,让其他机子得到证书对应的权限。Developer CertificationDistribution Certification都可以制做副本Keychain(即.p12文件
分发到其他电脑上安装,使其可以进行真机测试或发布应用


以上关于证书概念内容转载自http://southking.iteye.com/blog/1428776,个人感觉有些错误并作出了改正,若不对欢迎指正,勿喷。

Distribution Certification证书导出的.p12文件安装到其他电脑上,可以赋予其他电脑发布应用的权限,亲测。


副本(.p12文件)的导出流程:

在钥匙串访问中找到需要导出的证书 - > 右键点击 - > 选择导出(你的证书)






点击存储后,给.p12文件设置一个密码确定即可。然后在存储路径中找到.p12文件


五、对于推送的开发和生产证书的处理

关于推送的开发和生产证书:
1.先双击将证书(.cer)安装到钥匙串访问中;
2.按照上面导出.p12文件的流程导出.p12文件;
3.将.p12文件和文件的密码上传给第三方推送平台即可。



OK,文章到这里就结束了,如果发现有不对的地方欢迎指正,谢谢大家!互相学习共同进步!

2019-06-11 10:02:31 weixin_43936132 阅读数 363
  • 苹果iOS应用UI控件开发

    本视频是传智播客iOS学院精心录制的免费精华版UI基础视频,该视频特点在于较大程度保证了知识点的完整性,视频的起点都是针对有一定OC基础的同学

    13880 人正在学习 去看看 传智

开发者中心操作配置

登陆开发者中心

  1. 开发者中心
  2. 输入苹果账户,如果没有可以直接创建

进入开发中心–>点击Certificates, IDs & Profiles

在这里插入图片描述

白名单列表

白名单列表

添加白名单

在这里插入图片描述

白名单文件列表

在这里插入图片描述
可参考: https://www.jianshu.com/p/304ec98842e1

名单添加

在这里插入图片描述

打包篇-xcode -》 windows -》 organizer

在这里插入图片描述

原来进行过打包配置,打包配置此处不放

在这里插入图片描述

开发者

在这里插入图片描述
在这里插入图片描述

选择profile文件

在这里插入图片描述

导入之前下载的文件即可

在这里插入图片描述

后续步骤基本没啥了,就是文件导出的位置

总结下:

  1. ios白名单打包只需要原始一次打包即可
  2. 如果有第三方应用引用需要更改id时候,同步进行更改
  3. 上传应用可上传 蒲公英 firm
没有更多推荐了,返回首页