Native.js for iOS封装一条通过JS语法直接调用Native Objective-C接口通道,通过plus.ios可调用几乎所有的系统API

方法:

对象:

权限:

5+功能模块(permissions)

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// ...</span>
<span style="color:#ffa0a0">"permissions"</span><span style="color:#ffffff">:{</span>
	<span style="color:#87ceeb">// ...</span>
	<span style="color:#ffa0a0">"Invocation"</span><span style="color:#ffffff">:</span> <span style="color:#ffffff">{</span>
		<span style="color:#ffa0a0">"description"</span><span style="color:#ffffff">:</span> <span style="color:#ffa0a0">"Native.js"</span>
	<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
			</code></span></span>

importClass

导入Objective-C类对象

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#98fb98">ClassObject</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">ios</span><span style="color:#ffffff">.</span><span style="color:#ffffff">importClass</span><span style="color:#ffffff">(</span> <span style="color:#98fb98">String</span><span style="color:#ffffff"> classname </span><span style="color:#ffffff">);</span>
				</code></span></span>

说明:

导入类对象后,就可以通过.操作符直接调用对象(类对象/实例对象)的方法。 通过.操作符号调用方法时,不需要使用":"来分割参数。 注意:导入类对象将会消耗较多的系统资源,不应该导入过多的类对象,可以使用plus.ios.invoke()来调用未导入类实例对象的方法。

参数:

  • classname: ( String | InstanceObject ) 必选 要导入的Objective-C类名

    如果指定的类名不存在,则导入类失败,不会抛出异常。

返回值:

ClassObject : Objective-C类对象,如果导入类对象失败则返回null。

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#cccccc"><!DOCTYPE html></span>
<span style="color:#f0e68c"><strong><html></strong></span>
	<span style="color:#f0e68c"><strong><head></strong></span>
	<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>charset</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"utf-8"</span><span style="color:#f0e68c"><strong>/></strong></span>
	<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>name</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"viewport"</span> <span style="color:#bdb76b"><strong>content</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"initial-scale=1.0, maximum-scale=1.0, user-scalable=no"</span><span style="color:#f0e68c"><strong>/></strong></span>
	<span style="color:#f0e68c"><strong><title></strong></span><span style="color:#ffffff">iOS Native.js</span><span style="color:#f0e68c"><strong></title></strong></span>
	<span style="color:#f0e68c"><strong><script</strong></span> <span style="color:#bdb76b"><strong>type</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"text/javascript"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#87ceeb">// 监听plusready事件  </span><span style="color:#ffffff">
document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"plusready"</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(){</span>
	<span style="color:#87ceeb">// 扩展API加载完毕,现在可以正常调用扩展API</span>
	<span style="color:#87ceeb">// 导入GKLocalPlayer</span>
	<span style="color:#f0e68c"><strong>var</strong></span> <span style="color:#98fb98">GKLocalPlayer</span>  <span style="color:#ffffff">=</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">ios</span><span style="color:#ffffff">.</span><span style="color:#ffffff">importClass</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"GKLocalPlayer"</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span> <span style="color:#ffffff">);</span>
	<span style="color:#f0e68c"><strong></script></strong></span>
	<span style="color:#f0e68c"><strong></head></strong></span>
	<span style="color:#f0e68c"><strong><body></strong></span>
	<span style="color:#f0e68c"><strong></body></strong></span>
<span style="color:#f0e68c"><strong></html></strong></span>
				</code></span></span>

uni-app使用plus注意事项

newObject

创建实例对象

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#98fb98">InstanceObject</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">ios</span><span style="color:#ffffff">.</span><span style="color:#ffffff">newObject</span><span style="color:#ffffff">(</span> <span style="color:#98fb98">String</span><span style="color:#ffffff"> classname</span><span style="color:#ffffff">,</span> <span style="color:#98fb98">Object</span><span style="color:#ffffff">..</span><span style="color:#ffffff">args </span><span style="color:#ffffff">);</span>
				</code></span></span>

参数:

  • classname: ( String ) 必选 要创建实例对象的类名

    如果指定的类名不存在,则创建对象失败,不会抛出异常。

  • args: ( Object ) 可选 创建实例对象的构造参数

    如果指定的构造参数类型不区配,则创建对象失败,不会抛出异常。

返回值:

InstanceObject : Objective-C实例对象,如果创建对象失败则返回null。

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#cccccc"><!DOCTYPE html></span>
<span style="color:#f0e68c"><strong><html></strong></span>
	<span style="color:#f0e68c"><strong><head></strong></span>
	<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>charset</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"utf-8"</span><span style="color:#f0e68c"><strong>/></strong></span>
	<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>name</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"viewport"</span> <span style="color:#bdb76b"><strong>content</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"initial-scale=1.0, maximum-scale=1.0, user-scalable=no"</span><span style="color:#f0e68c"><strong>/></strong></span>
	<span style="color:#f0e68c"><strong><title></strong></span><span style="color:#ffffff">iOS Native.js</span><span style="color:#f0e68c"><strong></title></strong></span>
	<span style="color:#f0e68c"><strong><script</strong></span> <span style="color:#bdb76b"><strong>type</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"text/javascript"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#87ceeb">// 监听plusready事件  </span><span style="color:#ffffff">
document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"plusready"</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(){</span>
	<span style="color:#87ceeb">// 扩展API加载完毕,现在可以正常调用扩展API</span>
	<span style="color:#87ceeb">// 创建GKLocalPlayer类的一个实例对象</span>
	<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> localplayer  </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">ios</span><span style="color:#ffffff">.</span><span style="color:#ffffff">newObject</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"GKLocalPlayer"</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span> <span style="color:#ffffff">);</span>
	<span style="color:#f0e68c"><strong></script></strong></span>
	<span style="color:#f0e68c"><strong></head></strong></span>
	<span style="color:#f0e68c"><strong><body></strong></span>
	<span style="color:#f0e68c"><strong></body></strong></span>
<span style="color:#f0e68c"><strong></html></strong></span>
				</code></span></span>

uni-app使用plus注意事项

deleteObject

销毁实例对象

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">ios</span><span style="color:#ffffff">.</span><span style="color:#ffffff">deleteObject</span><span style="color:#ffffff">(</span> <span style="color:#98fb98">Object</span><span style="color:#ffffff"> obj </span><span style="color:#ffffff">);</span>
				</code></span></span>

参数:

  • obj: ( Object ) 必选 要销毁的实例对象

    如果obj对象不是有效的实例对象,则不执行销毁对象操作,不会抛出异常。 如果不执行销毁实例对象操作,在页面关闭时会自动执行销毁对象的操作。

返回值:

void

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值