11.3开发者包 ios

2020-03-27 14:25:45 ljc_563812704 阅读数 1067
  • 组件基础2

    掌握Vue.js基础知识; 掌握Vue.js核心功能; 掌握Vue.js实战技能;

    0人学习 刘宏强
    免费试看

Xcode11之前一直都用Application Loader上传包,升级xcode11之后发现没有了,这是因为:从Xcode11开始,Application Loader不再集成在Xcode中,需要使用xcodebuild或者xcrun altool命令上传应用。解决方法如下:

第一种方法:

1.还有旧版本Xcode,在Finder里应用程序找到xcode,右键显示包内容,在contents/Applications里找到Application Loader。复制到新版本xcode相同位置,重启xcode就可以了。
如果没有旧版本Xcode,
链接: https://pan.baidu.com/s/1MVQ03_UHeINiXVOoHYQyWQ 下载链接 提取码: 3e28
下载之后解压,放到刚才的路径下,重启就好了
具体如下:找到Xcode11的安装位置,右击显示包内容,

右击显示包内容

然后找到如下Applications,在把刚下载安装好的Application Loader直接拖进来,如下图:

 

 

最后,退出xcode ,在重启一下。这个时候在打开Xcode 11就会看到Application Loader。如下图:

 

注意:如果之前已经上传过,那么直接Upload更新就可以,点击Produce->archive->Distribute App-> APP Store Connect -> Upload 以后的正常选择即可上传到ituns。更新完,会直接在APP Store Connect看到。

如下图:

Upload上传

第二种方法:

您可以使用 Application Loader 的命令行工具 altool,验证 App 二进制文件并将其上传至 App Store。使用命令行工具 xcrun altool来上传

1、需要的参数获取方式

(1)apiKey 和 apiIssuer 需要登录开发者网站,打开 用户和访问->密钥->然后新增密钥。(生成密钥的 第一行名称可以自己起一个 和 第二行我选的开发者)

创建密钥

(2)生成密钥完成后,上面的 IssuerID 就是 apiIssuer,密钥ID 就是 apiKey 。

(3)下载api密钥。注意:此密钥文件只能下载一次,请妥善保存

(4)把下载好的 密钥文件 放在 当前用户文件夹 下面的一个文件名字为 .private_keys 的文件里面去。(就是图标为小房子的那个文件夹下面,里面有,文稿,下载,图片等等什么的文件,创建的文件和这些文件同级别)
如图:

保存密钥

(5)把上面的步骤完成后,执行以下两句命令,上传即可,以后就可以轻松通过命令上传代码了。

2、验证和上传

一、 使用 xcrun 验证ipa包,输入如下指令

 

xcrun altool --validate-app -f xxx -t ios --apiKey xxx --apiIssuer xxx --verbose

第一个 xxx 填写 ipa包路径 (需要自己提前导出ipa包,然后直接拖进来即可)
第二个 xxx 填写 apiKey
第三个 xxx 填写 apiIssuer
验证成功后会提示 No errors validating archive at ...

二、上传ipa包,输入如下指令

 

xcrun altool --upload-app -f xxx -t ios --apiKey xxx --apiIssuer xxx --verbose

xxx 替换掉的参数同上一样, 验证成功后会提示 No errors uploading ...
命令参数说明:

第三种方法:

Transporter
也许,对于一般的开发者来说,altool 已经能满足基本的上传 ipa 文件的需求。但是,正好前面说的,如果你需要进行批量创建内购品项,还有其它操作,可能大多数开发者不知道,苹果除了 iOS,还有非常多的服务, iTunes Connect 帐户(图书发行商或音乐提供商)、 iTunes Store、Apple Books,尽管我们中国地区有些服务或者非常少用。

所以,苹果提供 Transporter 来处理大量和差异化数据的操作的工具(可以在 macOS、Windows 和 Linux 操作系统上安装和运行 Transporter。):

Transporter 是 Apple 基于 Java 的命令行工具,用于进行大量目录交付。您可以使用 Transporter 将预生成的内容以 Store 数据包的形式交付至 iTunes Store、Apple Books 和 App Store。
不论您使用 iTunes Connect 帐户(图书发行商或音乐提供商)、App Store Connect 帐户(App 开发者)或是编码工作室帐户来交付图书、视频、音乐或 App 内容,您都可以使用 Transporter 以确保您的元数据和素材(例如音频、视频、图书和 App 文件)适当地交付至 iTunes Store、Apple Books 或 App Store,并根据 Apple 的规范验证 Store 数据包。

点击这里进行:Transporter下载
关于Transporter的详细使用方法,在这里就不展开说了,大家可根据链接下载Transporter,然后去使用,网上这方面的资料也很多,可以搜一搜看看。

最后:此部分关于上传的也可查看苹果官网:
苹果官网上传说明
推荐这方面写的好的文章参考:
谈一谈 IPA 上传到 App Store Connect 的几种方法
Xcode11 打包IPA上传App Store
iOS Xcode更新至11,上传ipa到App Store Connect



作者:飞哥Andy
链接:https://www.jianshu.com/p/767ab0f5c8e9
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2017-06-20 13:54:10 ZY_FlyWay 阅读数 922
  • 组件基础2

    掌握Vue.js基础知识; 掌握Vue.js核心功能; 掌握Vue.js实战技能;

    0人学习 刘宏强
    免费试看

新增框架

新加入 SDK 的大的框架有两个,分别是负责简化和集成机器学习的 Core ML 和用来创建增强现实 (AR) 应用的 ARKit。

Core ML

自从 AlphaGo 出现以来,深度学习毫无疑问成了行业热点。而 Google 也在去年就转变 Mobile-first 到 AI-first 的战略。可以说一线的互联网企业几乎都在押宝 AI,目前看来机器学习,特别是深度学习是最有希望的一条道路。

如果你不是很熟悉机器学习的话,我想我可以在这里“僭越”地做一些简介。你可以先把机器学习的模型看作一个黑盒函数,你给定一些输入 (可能是一段文字,或者一张图片),这个函数会给出特定的输出 (比如这段文字中的人名地名,或者图片中出现的商店名牌等)。一开始这个模型可能非常粗糙,完全不能给出正确的结果,但是你可以使用大量已有的数据和正确的结果,来对模型进行训练,甚至改进。在所使用的模型足够优化,以及训练量足够大的情况下,这个黑盒模型将不仅对训练数据有较高的准确率,也往往能对未知的实际输入给出正确的返回。这样的模型就是一个训练好的可以实际使用的模型。

对机器学习模型的训练是一项很重的工作,Core ML 所扮演的角色更多的是将已经训练好的模型转换为 iOS 可以理解的形式,并且将新的数据“喂给”模型,获取输出。抽象问题和创建模型虽然并不难,但是对模型的改进和训练可以说是值得研究一辈子的事情,这篇文章的读者可能也不太会对此感冒。好在 Apple 提供了一系列的工具用来将各类机器学习模型转换为 Core ML 可以理解的形式。籍此,你就可以轻松地在你的 iOS app 里使用前人训练出的模型。这在以前可能会需要你自己去寻找模型,然后写一些 C++ 的代码来跨平台调用,而且难以利用 iOS 设备的 GPU 性能和 Metal (除非你自己写一些 shader 来进行矩阵运算)。Core ML 将使用模型的门槛降低了很多。

Core ML 在背后驱动了 iOS 的视觉识别的 Vision 框架和 Foundation 中的语义分析相关 API。普通开发者可以从这些高层的 API 中直接获益,比如人脸图片或者文字识别等。这部分内容在以前版本的 SDK 中也存在,不过在 iOS 11 SDK 中它们被集中到了新的框架中,并将一些更具体和底层的控制开放出来。比如你可以使用 Vision 中的高层接口,但是同时指定底层所使用的模型。这给 iOS 的计算机视觉带来了新的可能。

Google 或者 Samsung 在 Android AI 上的努力,大多是在自带的应用中集成服务。相比起来,Apple 基于对自己生态和硬件的控制,将更多的选择权交给了第三方开发者。

ARKit

Keynote 上的 AR 的演示可以说是唯一的亮点了。iOS SDK 11 中 Apple 给开发者,特别是 AR 相关的开发者带来了一个很棒的礼物,那就是 ARKit。AR 可以说并非什么新技术,像是 Pokémon Go 这样的游戏也验证了 AR 在游戏上的潜力。不过除了 IP 和新鲜感之外,个人认为 Pokémon Go 并没有资格代表 AR 技术的潜力。现场的演示像我们展示了一种可能,粗略看来,ARKit 利用单镜头和陀螺仪,在对平面的识别和虚拟物体的稳定上做得相当出色。几乎可以肯定,那么不做最早,只做最好的 Apple 似乎在这一刻回到了舞台上

ARKit 极大降低了普通开发者玩 AR 的门槛,也是 Apple 现阶段用来抗衡 VR 的选项。可以畅想一下更多类似 Pokémon Go 的 AR 游戏 (结合实境的虚拟宠物什么的大概是最容易想到的) 能在 ARKit 和 SceneKit 的帮助下面世,甚至在 iPad Pro 现有技能上做像是 AR 电影这样能全方位展示的多媒体可能也不再是单纯的梦想。

而与之相应的,是一套并不很复杂的 API。涉及的 View 几乎是作为 SceneKit 的延伸,再加上在真实世界的定为也已经由系统帮助处理,开发者需要做的大抵就是将虚拟物体放在屏幕的合适位置,并让物体之间互动。而利用 Core ML 来对相机内的实际物体进行识别和交互,可以说也让各类特效的相机或者摄影 app 充满了想像空间。

Xcode

编辑器和编译器

速度就是生命,而开发者的生命都浪费在了等待编译上。Swift 自问世以来就备受好评,但是缓慢的编译速度,时有时无的语法提示,无法进行重构等工具链上的欠缺成为了最重要的黑点。Xcode 9 中编辑器进行了重写,支持了对 Swift 代码的重构 (虽然还很基础),将 VCS 提到了更重要的位置,并添加了 GitHub 集成,可以进行同局域网的无线部署和调试。

新的编译系统是使用 Swift 重写的,在进行了一些对比以后,编译速度确实有了不小的提升。虽然不知道是不是由于换成了 Swift 4,不过正在做的公司项目的总编译时间从原来的三分半缩短到了两分钟半左右,可以说相当明显了。

Xcode 9 中的索引系统也使用了新的引擎,据称在大型项目中搜索最高可以达到 50 倍的速度。不过可能由于笔者所参加的项目不够大,这一点体会不太明显。项目里的 Swift 代码依然面临失色的情况。这可能是索引系统和编译系统没有能很好协同造成的,毕竟还是 beta 版本的软件,也许应该多给 Xcode 团队一些时间 (虽然可能到最后也就这样了)。

由于 Swift 4 编译器也提供了 Swift 3 的兼容 (在 Build Setting 中设置 Swift 版本即可),所以如果没有什么意外的话,我可能会在之后的日常开发中使用 Xcode 9 beta,然后在打包和发布时再切回 Xcode 8 了。毕竟每次完整编译节省一分半钟的时间,还是一件很诱人的事情。

这次的 beta 版本质量出人意料地好,也许是因为这一两年来都是小幅革新式的改良,让 Apple 的软件团队有相对充足的时间进行开发的结果?总之,Xcode 9 beta 现在已经能很好地工作了。

Named Color

这是个人很喜欢的一个变化。现在你可以在 xcassets 里添加颜色,然后在代码或者 IB 中引用这个颜色了。大概是这样的:

像是使用 IB 来构建 UI 的时候,一个很头疼的事情就是设计师表示我们要不换个主题色。你很可能需要到处寻找这个颜色进行替换。但是现在你只需要在 xcassets 里改一下,就能反应到 IB 中的所有地方了。

其他值得注意的变更

剩下的都是些小变化了,简单浏览了下,把我觉得值得一提的列举出来,并附上参考的链接。

  • 拖拽 - 很标准的一套 iOS API,不出意外地,iOS 系统帮助我们处理了绝大部分工作,开发者几乎只需要处理结果。UITextView 和 UITextField 原生支持拖拽,UICollectionView 和 UITableView 的拖拽有一系列专用的 delegate 来表明拖拽的发生和结束。而你也可以对任意 UIView 子类定义拖拽行为。和 mac 上的拖拽不同,iOS 的拖拽充分尊重了多点触控的屏幕,所以可能你需要对一次多个的拖拽行为做些特别处理。
  • 新的 Navigation title 设计 - iOS 11 的大多数系统 app 都采用了新的设计,放大了导航栏的标题字体。如果你想采用这项设计的话也非常简单,设置 navigation bar 的 prefersLargeTitles 即可。
  • FileProvider 和 FileProviderUI - 提供一套类似 Files app 的界面,让你可以获取用户设备上或者云端的文件。相信会成为以后文档相关类 app 的标配。
  • 不再支持 32 位 app - 虽然在 beta 1 中依然可以运行 32 位 app,但是 Apple 明确指出了将在后续的 iOS 11 beta 中取消支持。所以如果你想让自己的程序运行在 iOS 11 的设备上,进行 64 位的重新编译是必须步骤。
  • DeviceCheck - 每天要用广告 ID 追踪用户的开发者现在有了更好地选择 (当然前提是用来做正经事儿)。DeviceCheck 允许你通过你的服务器与 Apple 服务器通讯,并为单个设备设置两个 bit 的数据。简单说,你在设备上用 DeviceCheck API 生成一个 token,然后将这个 token 发给自己的服务器,再由自己的服务器与 Apple 的 API 进行通讯,来更新或者查询该设备的值。这两个 bit 的数据用来追踪用户比如是否已经领取奖励这类信息。
  • PDFKit - 这是一个在 macOS 上已经长期存在的框架,但却在 iOS 上姗姗来迟。你可以使用这个框架显示和操作 pdf 文件。
  • IdentityLookup - 可以自己开发一个 app extension 来拦截系统 SMS 和 MMS 的信息。系统的信息 app 在接到未知的人的短信时,会询问所有开启的过滤扩展,如果扩展表示该消息应当被拦截,那么这则信息将不会传递给你。扩展有机会访问到事先指定的 server 来进行判断 (所以说你可以光明正大地获取用户短信内容了,不过当然考虑到隐私,这些访问都是匿名加密的,Apple 也禁止这类扩展在 container 里进行写入)。
  • Core NFC - 在 iPhone 7 和 iPhone 7 Plus 上提供基础的近场通讯读取功能。看起来很 promising,只要你有合适的 NFC 标签,手机就可以进行读取。但是考虑到无法后台常驻,实用性就打了折扣。不过笔者不是很熟这块,也许能有更合适的场景也未可知。
  • Auto Fill - 从 iCloud Keychain 中获取密码,然后自动填充的功能现在开放给第三方开发者了。UITextInputTraits 的 textContentType 中添加了 username 和 password,对适合的 text view 或者 text field 的 content type 进行配置,并填写 Info.plist 的相关内容,就可以在要求输入用户名密码时获取键盘上方的自动填充,帮助用户快速登录。
转载于:https://onevcat.com/2017/06/ios-11-sdk/
2018-02-01 10:08:05 fzhlee 阅读数 557
  • 组件基础2

    掌握Vue.js基础知识; 掌握Vue.js核心功能; 掌握Vue.js实战技能;

    0人学习 刘宏强
    免费试看
上周,苹果发布了 iOS 11.3 第一个开发者测试版和公测版,除了 4 个全新的动话表情外,最令人期待的功能就是 ARKit 1.5。ARKit 是方便开发者在 iPhone 和 iPad 上创建增强现实应用的开发框架,之前 iOS 11 系统中的 ARKit 版本为 1.0,在 iOS 11.3 中将被升级至 ARKit 1.5。


1.jpg

那么全新的 ARKit 1.5 提供了哪些新功能呢?ARKit 1.5 不仅可以识别桌子、椅子等水平表面,还能识别墙体、房门等垂直表面,并在上面放置虚拟物体,甚至更准确地绘制圆桌等形状不规则的表面。借助先进的计算机视觉技术发现并识别标志、海报和插图等 2D 图像的位置。


79959272-79959365.jpg

在过去一周中,开发者对 ARKit 1.5 进行了各种测试,并分享了演示视频。



垂直表面识别。在下面的视频中,可以看到开发者利用 ARKit 1.5 直接在墙壁上制作了一个很真实的隧道。




下面的视频中,开发者直接设计了几个外星生物在空中游荡。






ARKit 1.5 还可以识别海报、二维码等内容,下面的视频中,ARKit 就完成了二维码识别,并给出了相关的信息。




图像识别也非常厉害,可以在博物馆中向参观者提供信息。




ARKit 1.5 摄像头中真实画面的分辨率比之前提升了 50%,支持通过自动对焦获得更清晰锐利的视图。,也就是从 720p 升级至 1080p,这回改善 ARKit 整体体验。

IMG_4212.jpg

MacX.cn 编译
2015-12-11 10:12:55 ZWQ0325 阅读数 2371
  • 组件基础2

    掌握Vue.js基础知识; 掌握Vue.js核心功能; 掌握Vue.js实战技能;

    0人学习 刘宏强
    免费试看

iOS开发正常的打包,过程不麻烦,但是最近公司网络抽疯,一直出现下边的情况,很难不抓狂啊





其根本原因在于每次打包都在从开发者中心抓取资料,能避开这个过程就不用等待了,查阅资料找到如下方法,方法不是新方法是大侠们玩过了的方法,但是用来解决问题最好不过了,其核心原理是签名是在编译期间完成的
步骤如下:
1、配置好发布用的签名身份和配置文件



2、编译你的工程
3、找到xx.app文件


4、,拖拽到iTunes
5、然后在从iTunes拖拽到指定文件夹,例如桌面,获得ipa文件,此文件可以正常安装使用