Tag: cordova

在Bitrise上为Cordova和Ionic项目引入自动预配置

现在,可以在 Bitrise 上分离Cordova和Ionic项目的准备阶段和构建阶段 ,因此您也可以对这些项目类型使用iOS Auto Provision步骤。 -! 我们最近发布了iOS自动配置步骤,该步骤可管理Xcode项目的iOS配置配置文件。 该步骤使iOS的代码签名更加容易:您只需上传iOS开发和发行证书,该步骤将处理Provisioning Profiles。 该步骤分析iOS Xcode项目(或工作区),以确定签署该项目需要哪些Provisioning Profiles。 Cordova和Ionic的构建步骤(Cordova存档和Ionic存档)使用Cordova和Ionic CLI生成本机项目(通过调用platform rm和platform add命令)并进行构建(通过调用build命令)。 与在工作流中运行Cordova archive和Ionic archive步骤之前一样,本机iOS Xcode项目不存在,因此自动配置功能不适用于这些项目类型。 为了让您的生活更轻松,我们进行了一些更改以使其正常运行: 1.分开的Cordova / Ionic项目的准备和构建阶段 Ionic和Cordova存档步骤都有输入: Should remove platforms as prepare step? ,它控制是否应在构建阶段之前删除并重新添加本机平台。 通过将此输入设置为false ,该步骤将不会触摸生成的本机项目。 2.为Cordova / Ionic项目的准备阶段创建了新步骤 我们在构建步骤中关闭了平台删除功能,但是我们还必须注意准备过程。 从现在开始,您可以使用: 和 脚步。 新的准备步骤可以通过调用platform rm和platform add命令从您的Cordova和Ionic项目生成本机项目。 3.更新了 iOS Auto Provision 步骤 最新步骤版本(1.1.2)导出 项目的开发团队 已安装的代码签名标识的名称 已安装的配置文件 这些输出可用于提供“ […]

在IOS上部署离子应用程序

为您的应用创建所有这三件事,然后下载它们。 不要忘记下载证书和配置文件。 回到ionic应用程序,在文件夹的根目录下运行以下命令 离子科尔多瓦建立iOS 然后去平台> ios 打开.xcworkspace文件,它将以xcode打开项目。 您可以通过选择任何特定设备或连接的设备来播放该应用程序。 现在,让我们学习构建应用程序的存档,以将其部署到Test Flight中,然后在测试后将其移动到存储中。 🙂 选择通用ios设备,然后选择产品>存档 您的档案清单将会显示 点击上传到App Store。 让它自动进行管理,您就完成了…您的应用程序将在iTunes Connect上可用。

Cordova-plugin-cocoapods-support的Cordova编译问题修补程序

cordova-plugin-cocoapods-support是一个Cordova / PhoneGap插件,它允许您在XML文件中为iOS定义插件或项目CocoaPods依赖项。 但是,当与cordova-ios@4.5.2或更高版本一起使用时,Cordova编译命令将失败。 本文将指出导致此问题的更改以及使iOS构建再次通过的潜在解决方案。 当Cordova发布cordova-ios@4.5.2时,引入了新变量location ,其中包含了必要的信息,以供平台构建器获取捆绑包标识符。 新变量的属性之一是pbxproj文件的路径。 该文件位于xcodeproj目录中。 在Cordova准备项目之后,将执行cordova-plugin-cocoapods-support插件的after_prepare挂钩脚本,并对平台构建脚本进行修改。 执行的修改之一是非常松散的查找,并将xcodeproj所有实例替换为xcworkspace 。 由于意外更改,生成器在尝试从xcworkspace目录解析pbxproj文件时失败,因为找不到文件。 该问题只能通过cordova compile命令看到,而不能通过cordova build命令看到。 这是因为build命令执行所有构建步骤,并从缓存中维护包标识符信息,并且不需要解析pbxproj文件。 此解决方案无需多说。 如果您是插件开发人员,并且有可能,那么删除插件依赖项并将Cordova的本机实现用于CocoaPods支持将是理想的选择。 这是有关如何使用Cordova的实现加载OpenSSL Pod文件的示例。 <framework src=" OpenSSL ” type=” podspec ” spec=” 1.0.210 ” /> 您可以在此处找到更多详细信息。 如果您不是插件开发人员,并且不能删除插件依赖项,则可以创建自己的挂钩脚本来还原重大更改。 首先,我们将需要创建钩子脚本,最后将其添加到项目的config.xml中,以便使用它。 创建脚本 让我们创建一个名为beforeCompileCocoapodsHotfix.js的新文件,并将其添加到hooks文件夹中。 路径应类似于以下/hooks/beforeCompileCocoapodsHotfix.js 。 接下来,我们将添加脚本内容。 该脚本将仅显式搜索重大更改并还原。 这不会还原插件的所有更改。 最后,我们将向项目的config.xml添加对新钩子脚本的引用,以在编译前执行。 由于这是一个iOS依赖项,因此我们将其添加到iOS平台声明中。 <platform name =“ ios ”> <hook type =“ before_compile ” src […]

Cordova에서Firebase이용하여推送通知base

在iOS上推送通知,在Cordova上下载Firebase插件,再在推送上下载。 APN密钥생성과Firebase활용방법들은科尔多瓦되는이내용이내용이내용이읽어이읽어보읽어보읽어다。 Apple推送通知服务SSL密钥密钥방식으이다。 방식의장장간간간하하하하하않아도다。다。 Apple开发人员计划의证书,标识符和配置文件메뉴로들어간다。 。이지에서사이드바이나올이다。 密钥를과정은다。 姓名,服务名称和服务名称。 继续하면确认화면으로넘어간다。 。기서된다。 화면에서화면에서p8 8다。 여기가다시가바로바로바로바。 고리고ID또한로고다。 密码,p8推送,p8密钥,密钥ID,团队ID供应。 团队ID는苹果开发人员计划成员资格에서이가능하다。 이제Key끝났다。 Firebase차례이다。 Firebase的서버와a쓰쓰서버와서버와a a a BaaS(后端即服务)。 base base Firebase능을다이다。 보안DB DB API API API Mo Mo Mo Mo通知외에도AdMob을광고로있다있다。 Fire로디어이디어가빠르게때때Fire를를를Fire Fire Fire Fire Fire Fire Fire Fire Fire Fire Fire Fire Fire Fire Fire Fire Fire Fire。Fire 서비스볼륨이크지무료로능을로능을기장점이다。 지이하는推서버도Firebase를단시간에스트까스트까스트까!! 在Firebase上进行下载。 […]

在iOS的Swift 3中编写Cordova插件

本文是对我在2016年4月写的一篇文章的更新,并且已被修改为使用Xcode 8.2支持的“现代” Swift 3语法。 此外,它已更新为使用Cordova 6.4.0。 您可以在 此处 找到使用Swift 2语法的原始文章 。 自2008年App Store首次开放以来,希望开发iOS应用的开发人员必须学习Objective-C。 这包括那些选择使用Apache Cordova的混合模型的人,因为在Objective-C中还编写了可扩展Cordova覆盖本机API的插件。 长期以来,这是可用于iOS开发的唯一语言。 事情在2014年发生了变化,当时苹果在当年的全球开发者大会上发布了Swift编程语言。 从那时起,苹果一直在不断发展Swift语言,分别发布了版本2和版本3,并更新和改进了语言语法,并于2015年底开放了源代码。这引起了人们对于使用该语言进行本机应用程序开发以及其他方面的极大兴趣。 Cordova混合应用程序开发人员可以继续使用平台生态系统提供的出色的现成设备API插件,但是经常需要编写特定于项目的插件。 虽然Cordova的CLI生成的核心应用程序代码继续使用Objective-C,但是开发人员现在可以在制作自己的插件时在Objective-C或Swift之间进行选择。 让我们看一下复制在上一篇博客文章中使用Objective-C构建的“ ModusEcho”插件所涉及的内容。 这次,我们将使用Swift作为本机代码。 回顾一下,此插件借鉴了Cordova文档中的“ echo”示例,并具有两个功能: echo:带有字符串参数,显示“ Toast”(本地对话框,显示在短时间后自动关闭的消息),并将传递给它的字符串返回给调用者 echojs:带有字符串参数,将传递给它的字符串返回给调用方,完全用JavaScript实现,没有本机代码 初始插件创建 和以前一样,Plugman可以通过创建插件支架来帮助我们前进,就像Cordova CLI对新应用程序所做的一样。 我们可以创建一个新的“ ModusEchoSwift”插件,如下所示: 插件创建-名称ModusEchoSwift –plugin_id com-moduscreate-plugins-echoswift –plugin_version 0.0.1 –path modusechopluginswift 这不会将任何输出记录到控制台,但是会在“ modusechopluginswift / ModusEchoSwift”中设置支架。 在该文件夹中,我们可以找到Plugman生成的样板plugin.xml: ModusEchoSwift 让我们更改“ clobbers”元素,通过更新plugin.xml使其看起来像“ modusechoswift。”,使Cordova应用程序可以访问我们的插件函数: ModusEchoSwift 保存更改后,我们现在可以查看插件的JavaScript界面​​。 实施通用JavaScript接口 Plugman创建的初始JavaScript模块“ www / […]

从UIWebView过渡到WKWebView(iOS)

根据Apple文档的重要说明: 从iOS 8.0和OS X 10.10开始,使用WKWebView将Web内容添加到您的应用程序。 不要使用UIWebView或WebView。 WKWebView优于UIWebView的优点: 在应用程序的主要流程之外运行 使用Nitro,更快的JavaScript引擎 异步处理JavaScript 消除某些触摸延迟 支持服务器端身份验证挑战 支持认证自签名安全证书和有错误的证书

如何以JPEG格式读取HEIC画廊照片

iOS11引入了HEIC作为高质量图像的新格式。 不幸的是,其他设备(例如PC)经常无法以这种格式渲染图像。 因此,建议在将图像提供给其他用户之前将其转换为JPEG。 一种选择是将HEIC文件上传到服务器,然后将文件在那里转换为JPEG。 尽管将文件直接从设备上传到S3或Azure Blob存储之类的云存储服务时没有任何中间处理,但这是不可能的。 对于这些情况,在设备本身上将HEIC图像转换为JPEG是最好的方法。 可以在Objective-C中完成以下操作: [[PHImageManager defaultManager] requestImageDataForAsset :obj 选项:选项 resultHandler:^(NSData * _Nullable imageData,NSString * _Nullable dataUTI,UIImageOrientation方向,NSDictionary * _Nullable info){ UIImage * image = [UIImage imageWithData:imageData]; mediaData = UIImageJPEGRepresentation(image,1) ; … 有关完整示例,请参见对cordova-gallery-api插件的以下提交。 编码愉快!

科尔多瓦iosrtc구축하기

WebRTC Web应用程序iOS iOS应用程序。 RT는존의존의반의반의를브브브브브RT RT RT RT RT RT RT RT RT RT RT의RT의의의의의의RT RT RT RT WebRTCRT RT RT는하였는다하였하였。 이선택은선택은선택은Cordova였다。 Apache Cordova하이브리드다이다。 使用Android,iOS,Windows Phone,API,CSS3,HTML5和JavaScript。 하이브리드이라는술과라는이술을기술을다이다。 。티브티브티브티브티브티브티브를를를를를용할용할。。。。。。。。。。。。。。。。。 Cordova런라는정을插件라는이있다있다。 在Cordova插件中下载Cordova-plugin-iosrtc이란Plugin的照片。 X OS X체최신버전의iOS최신버전의code최신버전의Xcode설치되어있어야다。 Xcode开发工具包SDK和iOS的Cordova插件。 Node.js설치 科尔多瓦(Cordova)的Node.js发行版npm。 Node.js的下载。 2.科尔多瓦설치 $ sudo npm install -g cordova 科尔多瓦命令-g로설치한다。 3. ios-sim,ios-deploy설치 $ npm install -g ios-sim $ npm install -g […]

如何将Framework7 / Cordova应用发布到Apple App Store

昨天,我的一个朋友问我如何给他发送电子邮件,说明如何将他用Framework7和cordova构建的应用程序发布到Apple App Store。 我想您可能像我的朋友一样需要帮助,因此,本指南的原因。 根据您的出发地,这将分为三个步骤。 设置机器(MAC和Linux) 从源代码转换为Xcode项目 部署到App Store 要求:基于Intel的Mac上的OS X操作系统。 Xcode®10.0(最低要求版本)仅可在OS X版本10.13(Sierra High)或更高版本上运行,并包括iOS 11 SDK(软件开发工具包),Mac book,Node.js,npm和毅力(用于双关语)。 如果尚未在计算机上安装cordova,则可能要先进行操作,然后再继续。 检查您是否已安装节点和npm 要检查是否已安装Node.js,请在终端中运行以下命令: 节点-v 要确认您已安装npm,可以在终端中运行以下命令: npm -v npm与Node.js一起分发,这意味着当您下载Node.js时,会自动在计算机上安装npm。 npm是与Node.js分开的项目,并且往往更新频率更高。 结果,即使您刚刚下载了Node.js(并因此下载了npm),您也可能需要更新npm。 幸运的是,npm知道如何自我更新! 要更新您的npm,请在终端中输入以下内容: npm安装npm @ latest -g 现在您已经安装了npm和node.js,继续安装cordova CLI。 这是我们将转换为各种本机平台的地方。 在您的终端中,键入 sudo npm install -g科尔多瓦 安装后,您应该可以在命令行中不带任何参数地运行cordova ,并且应该打印帮助文本。 创建Cordova应用 在终端中,转到您要维护源代码的目录,然后创建一个cordova项目: 科尔多瓦创建你好com.example.hello HelloWorld 这将为您的cordova应用程序创建所需的目录结构。 默认情况下, cordova create脚本会生成一个基于骨骼的基于Web的应用程序,其主页为项目的www/index.html文件。 现在,我假设您已经拥有和现有的framework7应用程序。 如果您使用Framework7开发应用程序,只需将www/文件夹的内容复制到新的HelloWorld Cordova应用程序的www/文件夹中。 所有后续命令都需要在cordova项目的目录中运行。 […]

PhoneGap Build 7.0.1支持iOS启动演示图板(是!)

随着2017年8月1日发布的PhoneGap Build 7.0.1,我们现在可以将iOS Launch Storyboards与PhoneGap Build一起使用。 这意味着我们可以在Cordova,PhoneGap 和 PhoneGap Build中使用它们,这为每个工具带来了完全的奇偶校验。 好极了! 这会带来一些后果: 现在,PhoneGap Build可以使用每台设备的本机分辨率,以iPad Pro 10.5“和12.9”尺寸为目标。 Apple没有提供其他支持的方法来针对这些设备上的本机分辨率,除非使用情节提要。 只要Apple继续使用相同尺寸的尺寸类别,PhoneGap Build现在就可以在将来针对任何新的屏幕尺寸(iPhone 8, *咳嗽,咳嗽* )。 PhoneGap Build应用程序现在可以支持带附加配置/插件的分屏和滑盖式多任务处理。 最酷:您可以使用单个图像来定位所有设备的外形尺寸和视口(如果需要)。 什么是启动故事板? 苹果长期以来一直在努力使开发人员构建能够响应视口大小的应用程序。 作为混合开发人员,这听起来像是“响应式设计”。 但是,在iOS开发的初期,开发人员将代码编码为特定的视口大小,因为只有一个视口大小,所以工作了……直到有很多视口不起作用为止。 长期以来,显示启动画面的唯一方法是“启动图像”-特定分辨率的PNG文件。 苹果公司长期以来也一直在尝试提出这样的想法,即启动映像应以未填充状态反映应用程序。 其想法是给人以更快的启动速度的印象。*但是,不利的一面是,开发人员必须为每个可能的视口创建单独的启动图像版本。 一开始没什么大不了的,但是现在呢? * 亲自? 我认为这会使发射速度变慢 。 但这就是我。 随着Apple发布具有新屏幕尺寸的设备,他们还开始使用这些启动图像作为该应用程序支持的视口的指示器。 如果该应用程序未提供适当大小的启动图像,则将缩放该应用程序或将其装箱。 然后发布了iPad Pro 12.9“,Apple 没有提供支持的方法来生成iPad Pro 12.9”启动图像 。 他们还发布了分体式和滑盖式多任务处理功能,没有一种方法可以为所有可能发生的所有广泛变化的视口生成启动图像。 唯一受支持的方法是使用Xcode 6中引入的功能:启动情节提要。 如果您完全熟悉Xcode中的情节提要,那么启动情节提要只是分配给应用程序启动时显示的情节提要。 如果您不熟悉情节提要,那么简单的解释就是:情节提要是应用程序用户界面的可视化设计的集合,以及设计之间的连接(顺序)。 现在,情节提要是提供启动图像的首选方法。 这很有道理-如果您应用的启动图像应该代表一个未填充的UI,那么您(潜在地)可以将现有的故事板重新用作启动图像,并完成此操作。 情节提要板还具有根据大小类调整布局的方法,因此可以使它们响应视口大小。 […]