HTML5 SDK 可以按照“独立应用”、“Widget”和“WebView”三种方式进行集成,三种集成方式各有优点。
独立应用集成方式:使用独立应用方式,开发者需要将HTML5 SDK生成的首页面设置为当前View的subView。HTML5 SDK将对应用进行管理。
Widget集成方式:运行方式和独立运行方式类似,开发者在集成时可在需要的位置启动HTML5 SDK,显示指定的HTML5 应用。
Webview集成方式:用户可在任何页面将HTML5 SDK的页面以Webview的形式独立显示,显示的Webview页面。
2 导入SDK Lib文件和头文件
在工程中引入HTML5+ SDK扩展功能的.a文件,开发者可以根据需求添加不同的扩展插件。必须要引入的是liblibPDRCore.a,liblibPDRCore.a库是HTML5+SDK运行的基础库文件。
在引入lib文件时需要将Debug-iphoneos、Release-iphoneos和Release-iphonesimulator引入,分别为真机调试,真机编译和模拟器调试使用。
工程中引入HTML5 SDK 中提供的头文件。
3 添加代码编译测试
独立应用集成的方式比较简单,请安如下步骤实现
在应用的Controller实现文件的- (void)viewDidLoad方法中实现如下代码
1. 开发者初始化PDRCore句柄。
2. 设置指定的View为HTML5 SDK的父View,用于显示HTML5 SDK的页面
3. 调用PDRCore句柄的start接口启动应用,HTML5 Runtime将会根据用户配置的control.xml文件指定的APPID启动指定的应用。
#import "DcViewController.h"
#import "PDRCore.h"
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad]
PDRCore* pCoreHandle = [PDRCore Instance]
[pCoreHandle setContainerView:self.view]
[pCoreHandle start]
}
4 导入应用并配置
4.1 添加应用
在离线打包之前,用户需要将已经开发完成的HTML5 应用导入到Xcode工程中。
4.1.1 应用导入
需要将开发完成的HTML5 应用拷贝到Pandora/apps/[appid]/www目录下。
4.1.2 manifes.json文件编写
请参考manifest.json 文件配置指导手册
4.2 配置应用的插件功能
开发者需要将html5 SDK里的PandoraAPI.bundle引入到开发中的工程中。开发者如开发了HTML5 扩展插件,需要修改PandoraAPI.bundle下的WebFeature.plist文件,在文件中添加扩展插件JS类名和原生类名的对应关系。
5 添加Control.xml
在工程中创建文件control.xml 文件,control.xml文件用来指定默认启动应用的APPID。
Control.xml文件放在工程的资源目录下即可。
<msc debug="true" version="0.1.0.0" >
<apps>
<app appid="HelloH5" appver="1.0" />
</apps>
</msc>
6 常用类说明
PDRCore
常用接口说明:
(PDRCore*)Instance
获取Core单例对象
返回值:
PDRCore 单例的PDRCore对象
- (int)setAppsRunPath:(NSString*)workPath
设置应用运行时目录,应用运行时产生的文件在该目录下生成,当应用 runmode为liberate时将把资源拷贝到该目录
参数说明:
workPath 应用运行时目录
返回值:
int 0 成功
- (int)setAppsInstallPath:(NSString*)installPath
设置runtime应用的安装目录,该地址为安装包中携带的应用资源位置
参数说明:
installPath 应用的安装目录
返回值:
int 0 成功
- (void)setInnerVersion:(NSString*)innerVersion
设置HTML5 SDK运行版本
参数说明:
innerVersion HTML5 SDK运行版本号
- (int)setDocumethPath:(NSString*)documentPath
设置HTML5 SDK文档目录
参数说明:
documentPath 应用的文档目录
返回值:
int 0 成功
- (int)setDownloadPath:(NSString*)downlaodPath
设置runtime下载目录
参数说明:
downloadPath 应用下载文件的路径
返回值:
int 0 成功
- (int)setAutoStartAppid:(NSString*)appid
设置runtiem启动时自动运行的APP
参数说明:
appid 默认启动应用的APPID
返回值:
int 0 成功
- (int)setContainerView:(UIView*)containerView
设置runtime根视图的父亲View
参数说明:
containerView 要显示HTML5 SDK的父View
返回值:
int 0 成功
- (int)setApp:(NSString*)appid documentPath:(NSString*)doucmentPath
设置指定app的文档目录
参数说明:
appid 要设置的appid
doucmentPath 要设置的路径
返回值:
int 0 成功
- (int)regPluginWithName:(NSString*)pluginName
impClassName:(NSString*)impClassName
type:(PDRExendPluginType)pluginType
javaScript:(NSString*)javaScript
注册第三方扩展的HTML5 插件
参数说明:
pluginName 插件名称JS文件中定义的名字
impClassName 插件对应的实现类名
pluginType 插件类型 详情:PDRExendPluginType
javaScript js实现 为javascript文本
返回值:
int 0 成功
- (int)start
正常启动runtime,使用改方法启动runtime具有全部功能,包括具有应用管理、窗口管理、插件管理、权限管理、资源管理等功能
- (int)startAsWebClient
启动runtime,使用该方法启动的runtime不具有应用管理窗口管理功能,当需要显示页面时,需要自己创建PDRCoreAppFrame
PDRCoreAppFrame
常用接口说明
- (PDRCoreAppFrame*)initWithId:(NSString*)frameID loadURL:(NSString*)pagePath frame:(CGRect)frame
创建runtime页面
参数说明:
frameID 页面标示
pagePath 页面地址 支持http:// file:// 本地地址
frame 页面位置
@property(nonatomic, readonly)UIWebView *webView
应用页面的WebView对象
Max 用了精致的作图和文字去证明一次性付费和更新付费的「新增销售」会随着每次大版本更新而增长乏力,我看了后觉得蛮有道理的,也许这是他们经历了两年时间统计观察出来的,但是,再科学的推论也是从你的利益角度出发的,你让顾客看没有任何意义。
以上算是小编对此次事件的一些看法,吐糟成分有一些,但我这次并不想站队,前面说了,开发者和用户站的角度不一样,还是得看价值观是否统一。作为一个独立媒体,我们不会为哪一方站队表态。
Ulysses 订阅制的整体规则和价格
让我们回到 Ulysses 此次的新订阅制上,假如你想继续使用 Ulysses 的话,规则是这样的:
1. 订阅制可以同时解锁 Ulysses 的 macOS 版本和 iOS 版本(iPhone/iPad)使用权限,无需重复订阅,未订阅用户进入 Ulysses 仅仅是「只读模式」,但仍然可以使用文档导出功能;
2. 用户在苹果商店下载 Ulysses 后可免费试用 14 天,Max 说这样可以避免之前由于高定价,特别是 macOS 版本带来的门槛效应,导致许多目标用户望而却步或是转为盗版下载,可以进一步提高销售转化率;
3. 官方订阅价格:
新用户 – 月费:美元 $4.99,人民币 26 元,年费:美元 $39.99,人民币:218 元; 老用户 – 终身 48 折优惠,年费:163 元,折合每月 13.58 元; 学生用户 – 提供 6个月订阅时长: 73 元,每月 12 元,一年就是 146 元,比普通老用户稍微便宜一些,啧啧…
4. 如果你对新的订阅制价格反感而还想继续使用 Ulysses,可以考虑购买 SetApp,里面也有 Ulysses,但前提是你对 SetApp 里其他软件也有大量需求,这样入手才合适,我站对 SetApp 有详细介绍。
但如果你不想留在 Ulysses 上,其实也有大量的同类型软件可选,Mac玩儿法已经介绍了 N 多,自己在站内搜索一下挑挑吧。比如下面这些:
Ulysses 转入订阅模式,你还会为他掏钱吗?插图(5)
MWeb
一站式 Markdown 编辑 + 静态网站生成解决方案
Ulysses 转入订阅模式,你还会为他掏钱吗?插图(7)
Boostnote
为程序员量身定做的笔记应用
Ulysses 转入订阅模式,你还会为他掏钱吗?插图(9)
Bear
Ulysses 的对手来了,你要不要试试?
Ulysses 转入订阅模式,你还会为他掏钱吗?插图(11)
iA Writer 4
追赶主流文本编辑器的脚步
Ulysses 转入订阅模式,你还会为他掏钱吗?插图(13)
Quiver
程序员专用笔记本
Ulysses 转入订阅模式,你还会为他掏钱吗?插图(15)
Alternote for Mac
Evernote 第三方客户端
Ulysses 转入订阅模式,你还会为他掏钱吗?插图(17)
Typora
没有 Preview 窗口的奇怪文本编辑器
好了,Ulysses 转入订阅模式这件事确认令人遗憾,天下没有免费的午餐,活雷锋不好找,是否会为他继续掏钱这件事还得自己定夺,其实 Ulysses 这款软件打造的确实不错,想想它的价值吧,以及上面我们汇总的订阅政策和价格是否能让你接受,答案在你心中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)