Evercam API 的 Objective-C 封装
Evercam 的 iOS 库是一个开源项目,我们非常乐意看到您的 Pull Requests!
有关任何错误和讨论,请使用 Github Issues。
Evercam 整个代码库也是开源的,详细信息请参阅:http://www.evercam.io/open-source
有关 Evercam 的问题或建议,请发电子邮件给我们: http://www.evercam.io/contact
要使用 CocoaPods 安装库
gem install cocoapods
安装 CocoaPodsPodfile
并添加以下行pod "Evercam"
pod install
#import "EvercamShell.h"
//Request user's key and id from Evercam
[[EvercamShell shell] requestEvercamAPIKeyFromEvercamUser:username Password:password WithBlock:^(EvercamApiKeyPair *userKeyPair, NSError *error) {
if (error == nil) {
...
}
else
{
NSLog(@"Error %li: %@", (long)error.code, error.localizedDescription);
}
}];
//Create new camera
EvercamCameraBuilder *cameraBuilder = nil;
cameraBuilder = [[EvercamCameraBuilder alloc] initWithCameraId:@"cameraid" andCameraName:@"cameraName" andIsPublic:NO];
cameraBuilder.vendor = @"vendorid";
cameraBuilder.model = @"modelid";
cameraBuilder.cameraUsername = @"username";
cameraBuilder.cameraPassword = @"password";
cameraBuilder.internalHost = "192.168.1.168";
cameraBuilder.internalHttpPort = @"80";
cameraBuilder.internalRtspPort = @"554";
cameraBuilder.externalHost = @"198.245.40.154";
cameraBuilder.externalHttpPort = @"8080";
cameraBuilder.externalRtspPort = @"8081";
[[EvercamShell shell] createCamera:cameraBuilder withBlock:^(EvercamCamera *camera, NSError *error) {
if (error == nil) {
...
}
else
{
NSLog(@"Error %li: %@", (long)error.code, error.localizedDescription);
}
}];
//Delete camera by Evercam ID
[[EvercamShell shell] deleteCamera:@"cameraid" withBlock:^(BOOL success, NSError *error) {
if (success) {
...
} else {
NSLog(@"Error %li: %@", (long)error.code, error.localizedDescription);
}
}];
//Updates full or partial data for an existing camera
[[EvercamShell shell] patchCamera:cameraBuilder withBlock:^(EvercamCamera *camera, NSError *error) {
if (error == nil) {
...
}
else
{
NSLog(@"Error %li: %@", (long)error.code, error.localizedDescription);
}
}];
//Returns the list of cameras owned by a particular user, including shared cameras and thumnail data
[EvercamShell shell] getAllCameras:@"joeyb" includeShared:YES includeThumbnail:YES withBlock:^(NSArray *cameras, NSError *error) {
if (error == nil) {
...
}
else
{
NSLog(@"Error %li: %@", (long)error.code, error.localizedDescription);
}
}];
//Fetch snapshot image url from Evercam
NSString *snapshotUrlString = [[EvercamShell shell] getSnapshotLink:@"cameraid"];
//Create a new Evercam user account
EvercamUser *user = [EvercamUser new];
user.firstname = @"Joe";
user.lastname = @"Bloggs";
user.username = @"joeyb";
user.country = @"us";
user.email = @"[email protected]";
user.password = @"password";
[[EvercamShell shell] createUser:user WithBlock:^(EvercamUser *newuser, NSError *error) {
if (error == nil) {
...
}
else
{
NSLog(@"Error %li: %@", (long)error.code, error.localizedDescription);
}
}];
//Fetch Evercam user details by username or Email address.
[[EvercamShell shell] getUserFromId:@"username/Email" withBlock:^(EvercamUser *user, NSError *error) {
if (error == nil) {
...
}
else
{
NSLog(@"Error %li: %@", (long)error.code, error.localizedDescription);
}
}];
//Get a list of all supported vendors
[[EvercamShell shell] getAllVendors:^(NSArray *vendors, NSError *error) {
for (EvercamVendor *vendor in vendors)
{
...
}
}];
//Get a list of camera model that associated with specified vendor id
[[EvercamShell shell] getAllModelsByVendorId:@"vendorid" withBlock:^(NSArray *models, NSError *error) {
for (EvercamModel *model in models)
{
...
}
}];