适用于ios的Phonegap插件..javascript部分
Phonegap plugin for ios...javascript part
我需要为ios创建一个phonegap插件,它可以从音乐库中获取所有艺术家。我知道如何在Objective C中做到这一点,但我对javascript一无所知。我读了iOS版的phongegap插件文档,但我不理解javascript部分。请帮忙。这是我的密码。。。
Artist.m
#import "Artist.h"
#import <MediaPlayer/MediaPlayer.h>
#import <PhoneGap/PGPlugin.h>
@implementation Artist
-(void)getArtistNames:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options
{
MPMediaQuery *query=[MPMediaQuery artistsQuery];
NSArray *artists=[query collections];
artistNames=[[NSMutableArray alloc]init];
for(MPMediaItemCollection *collection in artists)
{
MPMediaItem *item=[collection representativeItem];
[artistNames addObject:[[item valueForProperty:MPMediaItemPropertyArtist]stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];
}
uniqueNames=[[NSMutableArray alloc]init];
for(id object in artistNames)
{
if(![uniqueNames containsObject:object])
{
[uniqueNames addObject:object];
}
}
NSLog(@"%@",uniqueNames);
PluginResult *pluginResult=[PluginResult resultWithStatus:PGCommandStatus_OK messageAsArray:uniqueNames];
[self writeJavascript:[pluginResult toSuccessCallbackString:[arguments pop]]];
}
@end
Artist.js
var ArtistPlugin={};
ArtistPlugin.prototype.getArtistNames = function(types, success, fail)
{
return PhoneGap.exec(success, fail, "Artist", "getArtistNames", types);
}
在index.html中…
<script type="text/javascript" charset="utf-8" src="Artist.js"></script>
function onDeviceReady()
{
// do your thing!
navigator.notification.alert("PhoneGap is working");
alert('asdasd');
var abc=Artist.getArtistNames(types, success, fail);
alert(abc);
}
两件事:
-
最好在Obj-C和JavaScript中的主类之间保持名称相同。在您的情况下,这意味着您的Obj-C类应该称为
ArtistPlugin
,或者您创建的JavaScript对象(及其文件名)应该称为Artist
。我会接受所有被称为ArtistPlugin
的人。不太可能发生冲突。 -
PhoneGap.exec
的最后一个参数是数组,所以除非types
是数组,否则它可能看起来像:return PhoneGap.exec(success, fail, "Artist", "getArtistNames", [types]);
-
最后,确保在PhoneGap.list文件的插件部分有一个条目。键和值将是您从步骤#1中选择的同质名称(即:键:ArtistPlugin,值:ArtistPlugin)。
希望能有所帮助。
相关文章:
- Javascript部分数字匹配
- 我制作html网站的一小部分——我有一个javascript部分
- 如何使用DOMDocument将PHP变量插入javascript部分
- 我网页的Javascript部分是't工作
- 动态编写javascript部分
- 引导工具提示已经禁用了我的javascript部分
- 重构 javascript 部分以运行的过程或工具
- 在Oracle Apex的javascript部分中获取富文本编辑器的HTML文本
- DudaOne - 在头部访问JavaScript部分
- 在jade javascript部分访问express res.render的输入数据
- PHP没有在代码的javascript部分得到处理
- JavaScript 部分应用函数 - 如何仅绑定第二个参数
- JavaScript 部分在单击时未运行
- PHP JavaScript 部分页面重新加载
- 响应式网页设计 - 如何实现JavaScript部分
- 适用于ios的Phonegap插件..javascript部分
- 谷歌地图Javascript部分导致文本变为粗体
- 用于文件管理器的javascript/部分逻辑
- 有人能给我解释一下这个HTML/Javascript部分吗
- Javascript URL导航处理干扰其他Javascript部分