许多类都有快捷名称,用于在使用配置对象创建(实例化)类时。快捷名称被称为 alias
(别名)(如果类扩展了 Ext.Component,则称为 xtype
)。别名/xtype 列在适用类的类名旁边,以便快速参考。
框架类或其成员可以指定为 private
(私有)或 protected
(受保护)。否则,该类/成员为 public
(公共)。Public
、protected
和 private
是访问描述符,用于传达类或类成员应该如何以及何时使用。
Public(公共)类和类成员可供任何其他类或应用程序代码使用,并且可以作为主要产品版本中的稳定和持久的组件来依赖。公共类和成员可以通过子类安全地扩展。
Protected(受保护)类成员是稳定的 public
(公共)成员,旨在由拥有类或其子类使用。受保护的成员可以通过子类安全地扩展。
Private(私有)类和类成员在框架内部使用,不供应用程序开发人员使用。私有类和成员可能会随时更改或从框架中省略,恕不另行通知,并且不应在应用程序逻辑中依赖它们。
static
(静态)标签。*请参阅下面的静态。下面是一个示例类成员,我们可以剖析它以显示类成员的语法(在本例中为从 Ext.button.Button 类查看的 lookupComponent 方法)。
让我们看一下成员行的每个部分
lookupComponent
)( item )
)Ext.Component
)。对于不返回除 undefined
以外的任何内容的方法,可以省略此项,或者可以显示为由正斜杠 /
分隔的多个可能值,表示返回的内容可能取决于方法调用的结果(即,如果 get 方法调用成功,则方法可能返回 Component,如果失败,则返回 false
,这将显示为 Ext.Component/Boolean
)。PROTECTED
- 请参阅下面的标志部分)Ext.container.Container
)。如果成员源自当前类,则源类将显示为蓝色链接;如果它从祖先类或混合类继承,则显示为灰色。view source
)item : Object
)。undefined
以外的值,“Returns”(返回值)部分将注明返回的类或对象的类型以及描述(示例中为 Ext.Component
)Available since 3.4.0
- 示例中未显示),紧跟在成员描述之后Defaults to: false
)API 文档使用许多标志来进一步传达类成员的功能和意图。标签可以用文本标签、缩写或图标表示。
classInstance.method1().method2().etc();
false
,则标记为可阻止的事件将不会触发- 表示框架类
- 单例框架类。*有关更多信息,请参阅单例标志
- 组件类型框架类(Ext JS 框架中扩展 Ext.Component 的任何类)
- 表示类、成员或指南在当前查看的版本中是新的
- 表示 config
类型的类成员
- 表示 property
类型的类成员
- 表示 method
类型的类成员
- 表示 event
类型的类成员
- 表示 theme variable
类型的类成员
- 表示 theme mixin
类型的类成员
- 表示类、成员或指南在当前查看的版本中是新的
在 API 文档页面上的类名正下方是一行按钮,对应于当前类拥有的成员类型。每个按钮都显示按类型划分的成员计数(此计数会在应用过滤器时更新)。单击按钮将导航到该成员部分。将鼠标悬停在成员类型按钮上将显示一个弹出菜单,其中包含该类型的所有成员,以便快速导航。
与类配置选项相关的 Getter 和 setter 方法将显示在 methods(方法)部分以及 API 文档和成员类型菜单的 configs(配置)部分中,就在它们所作用的配置下方。Getter 和 setter 方法文档将在配置行中找到,以便于参考。
您的页面历史记录保存在本地存储中,并显示在顶部标题栏正下方(使用可用的实际空间)。默认情况下,显示的唯一搜索结果是与您当前查看的产品/版本匹配的页面。您可以通过单击历史记录栏右侧的 按钮并选择“全部”单选按钮来展开显示的内容。这将显示历史记录栏中所有产品/版本的所有最近页面。
在历史记录配置菜单中,您还将看到最近页面访问的列表。结果按“当前产品/版本”和“全部”单选按钮进行筛选。单击 按钮将清除历史记录栏以及本地存储中保存的历史记录。
如果在历史记录配置菜单中选择了“全部”,则将启用“在历史记录栏中显示产品详细信息”的复选框选项。选中后,每个历史页面的产品/版本将与历史记录栏中的页面名称一起显示。将光标悬停在历史记录栏中的页面名称上方也会以工具提示的形式显示产品/版本。
可以使用页面顶部的搜索字段搜索 API 文档和指南。
在 API 文档页面上,还有一个过滤器输入字段,它使用过滤器字符串过滤成员行。除了按字符串过滤外,您还可以按访问级别、继承和只读来过滤类成员。这是使用页面顶部的复选框完成的。
API 类导航树底部的复选框过滤类列表以包含或排除私有类。
单击空白搜索字段将显示您最近 10 次搜索,以便快速导航。
每个 API 文档页面(Javascript 原始类型页面除外)都有一个菜单视图,其中包含与该类相关的元数据。此元数据视图将具有以下一项或多项
Ext.button.Button
类有一个备用类名 Ext.Button
)。备用类名通常为了向后兼容性而维护。可运行的示例 (Fiddles) 默认在页面上展开。您可以使用代码块左上角的箭头单独折叠和展开示例代码块。您还可以使用页面右上角的切换按钮切换所有示例的折叠状态。切换所有状态将在页面加载之间记住。
类成员默认在页面上折叠。您可以使用成员行左侧的箭头图标或右上角的展开/折叠全部切换按钮全局展开和折叠成员。
在较窄的屏幕或浏览器上查看文档将导致针对较小外形尺寸优化的视图。桌面视图和“移动”视图之间的主要区别在于
可以通过单击 API 文档页面顶部的类名称来查看类源代码。可以通过单击成员行右侧的“view source”(查看源代码)链接来查看类成员的源代码。
本指南逐步介绍了在运行 iOS 的设备上创建和安装本机应用程序以进行开发和测试所需的步骤。本指南不讨论如何将完成的应用提交到 iTunes 商店。有关更多信息,请参阅 Apple Developer Portal(苹果开发者门户)。
在 Apple Developer Portal(苹果开发者门户)中需要执行以下步骤才能在 iOS 设备上运行应用程序
完成 Apple Developer Portal(苹果开发者门户)步骤后,然后
重要提示: 由于 iOS 证书包含有关创建应用程序的作者(个人和公司)的签名信息,因此通常执行此步骤一次。您可以将一个证书用于多个应用程序。
所有 iOS 原生应用程序都需要与 iOS 证书捆绑在一起,这些证书包含有关应用程序作者的信息。这些证书由 Apple Inc. 通过 Apple Developer Portal(苹果开发者门户)颁发和数字签名。
要生成 iOS 证书
在 Windows 下开发时,步骤相同,但方法和命令略有不同。
您的 iOS 证书所需的所有工具都包含在 Mac OS 中,因此使用 Keychain Access(钥匙串访问)实用工具创建证书相对简单且容易。它位于您的“应用程序/实用工具”文件夹中。
启动 KeyChain Access(钥匙串访问)实用工具。从应用程序菜单中,选择
Keychain access(钥匙串访问) > Certificate Assistant(证书助理) > Request a Certificate from a Certificate Authority(从证书颁发机构请求证书)。
在“证书信息”窗口中,输入或选择以下信息
如果您使用 Key Chain Assistant(钥匙串助理)创建 CSR,则当您创建证书签名请求 (CSR) 时,证书助理会将证书签名请求 (CSR) 文件保存到您的桌面。公钥和私钥对会在您创建证书签名请求 (CSR) 时生成。
创建 CSR 文件后,导航到 Apple Developer Portal(苹果开发者门户)的“证书”部分。要创建证书,请单击 Add(添加)按钮,然后选择证书类型 iOS App Development(iOS 应用开发)。然后,门户网站会要求您上传 CSR 文件。上传完成后,您可以生成并下载您的 iOS 证书。
下载证书后(默认名称为 ios_development.cer
),在将其捆绑到应用程序之前,将证书转换为 P12 格式。有关 P12 证书是什么的信息,请参阅 Wikipedia PKCS #12 文章。
要将证书转换为 P12 格式
ios_development.cer
文件的位置。<First Name> <Last Name>
public key reference(公钥引用)。certificatePath
变量中指定此文件。您需要 OpenSSL 才能为您的应用程序生成自签名证书。适用于 Windows 的 OpenSSL 可在 Shining Light Productions 获得,您可以在其中下载和安装
默认情况下,OpenSSL 安装在 \OpenSSL-WinXX 目录中,其中 XX 是 32 或 64,具体取决于您安装的版本。首先设置环境变量,以使 OpenSSL 正常运行,然后再继续生成创建数字证书所需的私钥。
以下示例生成私钥,这是签署数字证书所必需的
> cd \OpenSSL_Win64
> set OPENSSL_CONF=\OpenSSL-Win64\bin\openssl.cfg
> set RANDFILE=\OpenSSL-Win64\.rnd
> openssl genrsa -out myprivatekey.key 2048
Loading 'screen' into random state - done
Generating RSA private key, 2048 bit long modulus
................................................................+++
................................................................+++
e is 65537 (0x10001)
>
注意:安全地存储 myprivatekey.key
文件。您需要它来生成您的 P12 证书。
CSR 是发送到证书颁发机构的消息,用于请求身份证书。有关更多信息,请参阅 Certificate signing request(证书签名请求)。
要创建 CSR,请在命令行中键入以下 openssl 命令
> openssl req -new -key myprivatekey.key -out mycert.csr
Loading 'screen' into random state - done
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is called a Distinguished Name or a DN.
There are quite a few fields, but you can leave some blank.
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name <2 letter code> [AU]: US
State or Province Name <full name> [Some-State]: My State
Locality Name <eg, city> []: My City
Organizational Name <eg, company [Internet Widgits Pty Ltd]: MyCompany, Inc
Organizational Unit Name <eg, section> []:
Common Name <eg server FQDN or Your name> []: com.mydomain
Email Address [] [email protected]
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
>
创建 CSR 文件后,导航到 Apple Developer Portal(苹果开发者门户)的“证书”部分。要创建证书,请单击 Add(添加)按钮,然后选择证书类型 iOS App Development
(iOS 应用开发)。系统会要求您上传 CSR 文件。上传完成后,您可以生成然后下载您的 iOS 证书。
下载证书后(默认名称为 ios_development.cer
),将证书转换为 P12 格式,以便您可以将其捆绑到您的应用程序中。假设您位于下载 iOS 证书的目录中,请通过执行以下 openssl 命令将证书转换为 P12
> openssl x509 -in ios_development.cer -inform DER -out ios_development.pem -outform PEM
> openssl pkcs12 -export -inkey _myprivatekey.key_ -in ios_development.pem -out ios_development.p12
Loading 'screen' into random state - done
Enter Export Password:
Verifying - Enter Export Password:
其中 myprivatekey.key 是您在生成 CSR 时指定的密钥文件。
注意:如果您在 CSR 中没有输入质询密码,请按 Enter
键以使此请求为空。
生成的 .P12
文件是您在 packager 配置文件中为 certificatePath
设置指定的名称。
App ID(应用程序 ID),也称为 Bundle ID(捆绑 ID),是用于标识您的应用程序的唯一字符串。从 Apple Developer Portal(苹果开发者门户)获取 App ID。
出于开发目的,您的所有应用都可以使用相同的 ID,但是对于生产环境,您提交到 iTunes 商店的每个应用程序的 ID 都必须是唯一的。通常,ID 的格式遵循 tld.domain
的反向域名约定(例如,com.mydomain.appname
)。
App ID 在 Provisioning(配置文件)过程中用于在您正在开发的应用程序与 iOS 证书和允许在测试期间运行该应用程序的设备之间创建关系。
(每个设备只需注册一次)- 如果您尚未在 Apple Developer portal(苹果开发者门户)中注册您的设备,请注册。您将需要您设备的唯一 ID (UDID),您可以从您的设备通过 iTunes 获取它。
要查看 UDID
将您的 UDID 放在剪贴板中以备使用,转到开发者门户并打开 Devices
(设备)部分。
要添加您的设备
此时,您已经使用您的凭据创建了 iOS 证书(步骤 1),定义了 App ID(步骤 2)并注册了您的 iOS 设备(步骤 3)。
您只剩下一个步骤,那就是将所有这些放在一起,以便您的 iOS 设备知道它可以信任您的应用程序。这就是 Provisioning(配置文件)完成的工作。
Provisioning Profile(配置文件)只是将 App ID 与授权运行该应用程序的 iOS 证书和设备链接起来。
要创建或更新 Provisioning profile(配置文件)
_profileName_.mobile provision
(其中 profileName 是您为配置文件指定的名称)。在您的 packager 配置文件中使用 provisionProfile
设置指定下载的配置文件路径和位置
"provisionProfile": "profileName.mobileprovision"
当应用程序加载到 iOS 设备上时,iOS 会将捆绑到应用程序中的 iOS 证书和设备的 UDID 与配置文件中找到的授权证书和设备 UDID 进行比较。如果找不到捆绑的 iOS 证书或设备 UDID,则不允许将应用程序加载到设备上。
您可以拥有多个配置文件,每个项目一个配置文件,或者为您的所有应用程序仅使用一个配置文件。如果您刚刚开始一个新应用程序,或者仍处于开发的早期阶段,那么最简单的事情是为所有开发使用一个配置文件。但是,最终,您可能会发现为每个应用程序创建特定的配置文件是明智的,因为在 provisioning(配置文件)门户中添加的 AppId 会与应用程序中配置的内容进行比较,并且每个应用程序在 App Store 中只允许一个 AppId。
有关配置文件的更多信息,请参阅 Apple iOS provisioning portal(苹果 iOS 配置文件门户)(需要 Apple ID 和密码)。
下一步是使用适合您的环境和应用程序测试的设置编辑 Sencha packager 文件。
注意 如果您正在使用 Touch Cordova 或 PhoneGap 功能,则不使用 packager 文件。有关更多信息,请参阅 Cordova 和 PhoneGap 应用程序。
在您的应用程序的根目录中,应该有一个 packager 配置文件 - `packager.json'。如果此文件不存在,您可以轻松地使用以下命令生成一个
sencha app package generate packager.json
您现在可以编辑 packager 文件了。以下配置属性与 iOS 开发相关,并且对于 debug(调试)和 release(发布)配置都是必需的,除非另有说明
您给应用程序起的名称。此名称显示在设备主屏幕上应用程序图标下方。
也称为 Bundle ID(捆绑 ID),这是您的应用程序的唯一标识符。对于开发,您的所有应用程序可以共享相同的 App ID;但是对于生产环境,您提交到 iTunes 商店的每个应用程序的 App ID 都必须是唯一的。通常,ID 的格式遵循 "tld.domain" 的反向域名约定(例如,com.mydomain.appname)。
applicationId
必须与您在创建 App ID 时输入的应用程序 ID 匹配。
此值是在开发者门户中查看 App ID 时找到的 Prefix(前缀)值。它是一个 10 个字符的字符串,并且对于您帐户中的所有应用程序都是相同的。
您的原生应用构建的配置类型:为开发和测试指定 Debug,为发布到 iTunes 商店指定 Release。
您的应用程序的目标平台:指定 iOS 以在真机上测试,或指定 iOSSimulator 以在 iOS 模拟器中查看您的应用程序。
应用程序的目标设备。指定 iPhone 或 iPad。
您的证书文件(P12 文件)所在位置的路径。
此应用程序的 Provisioning 文件的路径。
将权限设置为默认值是安全的。
保存您的打包器文件设置。
在您的应用程序的根目录中构建您的原生应用程序
sencha app build native
此命令读取您的 packager.json 配置文件(如果您未使用 Cordova 或 PhoneGap),构建您的应用程序,并将其放置在 build
目录中。您可以通过执行目录列表来找到原生构建目标目录中生成的 app
压缩文件
$ cd build/<appname>/native/
$ ls
<applicationName>.app
$
其中 <appname>
是您运行 sencha generate app
命令时指定的应用程序名称,而 <applicationName>
是您在 packager.json
文件中为 applicationName
属性指定的值。
现在是您一直等待的时刻,在 iOS 设备上测试您的应用程序!
要将您的应用程序加载到您的设备上
.app
目录。.app
目录拖到 iTunes 中的“应用”屏幕。现在切换到您的设备,找到您的应用程序并按下图标。您应该看到您的基本应用程序已启动并运行。