相关推荐
-
苹果开发者计划许可协议(2017年5月2日)
在下载或使用苹果软件或苹果服务之前,请仔细阅读以下APPLE开发者计划许可协议条款和条件。这些条款和条件构成了您与苹果之间的法律协议。 苹果开发者计划许可协议 目的 您希望使用Apple Software(如下所...
-
iCloud和Core Data
本文转自Di Wu's blog,原文:iCloud ...当乔布斯第一次在苹果全球开发大会上介绍iCloud的时候,他将无缝同步的功能描述的太过完美,以至于让人怀疑其是否真的能实现。但当你在iOS 5和iOS 6系统中尝试
-
iOS开发工具,ios开发类库
,iosUI组件介绍,iOS开发常用工具整理,ios开发总结 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SDWebImage多个缩略图缓存组件 UICKeyChainStore存放用户账号密码组件 ...
-
iOS开发之swift资料大全
目录(?)[+] 版本:Swift ...1. 将Swift从Objective-C混合的md文件中抽出(正在进行…) 使用方法:根据目录关键字搜索,记得包含@,以保证搜索目录关键字的唯一性。 问题反馈:请广大网
-
iOS开发 非常全的三方库、插件、大牛博客等等
- FXLabel是一个功能强大使用简单的类库,通过提供一个子类改进了标准的UILabel组件,为字体增加了阴影、内阴影和渐变色等,可以被用在任何标准的UILabel中。FXLabel还提供了更多控件,可以对字体行距、字体间距等...
-
iOS开发第三方库汇总
- FXLabel是一个功能强大使用简单的类库,通过提供一个子类改进了标准的UILabel组件,为字体增加了阴影、内阴影和渐变色等,可以被用在任何标准的UILabel中。FXLabel还提供了更多控件,可以对字体行距、字体间距等...
-
iOS 2015年3月苹果新的审核标准(中文)
iOS开发者计划许可协议目的你想用苹果软件(定义见下文)制定的一个或多个应用程序(定义见下文),运行iOS和OS关注的苹果品牌产品。苹果愿意给你一个有限的许可使用苹果软件开发和对本协议规定的条款和条件,...
-
2015年3月苹果新的审核标准(中文)
请阅读以下许可协议的条款和条件之前仔细下载或使用Apple软件。这些条款和条件构成了您与苹果的法律协议。 的iOS开发者计划许可协议 ...本协议项下开发的应用程序可以分布在四个方面:(1)通过Ap
-
iOS:iOS开发非常全的三方库、插件等等
iOS开发非常全的三方库、插件等等 github排名:https://github.com/trending, github搜索:https://github.com/search. 此文章转自github:https://github.com/Tim9Liu9/TimLiu-iOS 一、UI 下拉刷新 ...
-
iOS开发最常用三方库集合Swift版(三方库、插件、博客等等)
Swift学习资料@ SwiftGuide很赞 的Swift...Swift 30 Projects- 最新 Swift 3.0 的30个小App,更注重代码规范和架构设计(故胤道长) V2ex-Swift- 用 Swift 写的 V2EX 客户端。 iBBS-Swift- “新手开源一个用Swift...
-
iOS开发指南:从零基础到App Store上架(第2版 )
第一部分 基础篇 第1章 开篇综述 2 ... 1.2 开发环境及开发工具 3 1.3 本书中的约定 4 1.3.1 案例代码约定 4 1.3.2 图示的约定 5 第2章 第一个iOS应用程序 7 2.1 创建基于nib的HelloWorld工程
-
在互联网上,没有人知道你是一条狗?
这则漫画中有两只狗:一只黑狗站在电脑椅上,爪子扶着键盘。它望向站在地上、表情迷茫的另一只狗,兴奋地说:「在互联网上,没人知道你是一条狗。 (On the Internet, nobody knows you’re a dog.)画中那只狗的...
-
iOS开发之资料收集
- FXLabel是一个功能强大使用简单的类库,通过提供一个子类改进了标准的UILabel组件,为字体增加了阴影、内阴影和渐变色等,可以被用在任何标准的UILabel中。FXLabel还提供了更多控件,可以对字体行距、字体间距等...
-
spring-ai-bedrock-converse-1.0.0-M7.jar中文文档.zip
# 【spring-ai-bedrock-converse-1.0.0-M7.jar中文文档.zip】 中包含: 中文文档:【spring-ai-bedrock-converse-1.0.0-M7-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【spring-ai-bedrock-converse-1.0.0-M7.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【spring-ai-bedrock-converse-1.0.0-M7.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【spring-ai-bedrock-converse-1.0.0-M7.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【spring-ai-bedrock-converse-1.0.0-M7-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: spring-ai-bedrock-converse-1.0.0-M7.jar中文文档.zip,java,spring-ai-bedrock-converse-1.0.0-M7.jar,org.springframework.ai,spring-ai-bedrock-converse,1.0.0-M7,org.springframework.ai.bedrock.converse,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,springframework,spring,ai,bedrock,converse,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【spring-ai-bedrock-converse-1
-
房地产 -可视化管理课件.ppt
房地产 -可视化管理课件.ppt
-
tokenizers-0.18.0.jar中文-英文对照文档.zip
# 【tokenizers-***.jar***文档.zip】 中包含: ***文档:【tokenizers-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【tokenizers-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【tokenizers-***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【tokenizers-***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【tokenizers-***-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: tokenizers-***.jar***文档.zip,java,tokenizers-***.jar,ai.djl.huggingface,tokenizers,***,ai.djl.engine.rust,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,djl,huggingface,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【tokenizers-***.jar***文档.zip】,再解压其中的 【tokenizers-***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件; # Maven依赖: ``` <dependency> <groupId>ai.djl.huggingface</groupId> <artifactId>tokenizers</artifactId> <version>***</version> </dependency> ``` # Gradle依赖: ``` Gradle: implementation group: 'ai.djl.huggingface', name: 'tokenizers', version: '***' Gradle (Short): implementation 'ai.djl.huggingface:tokenizers:***' Gradle (Kotlin): implementation("ai.djl.huggingface:tokenizers:***") ``` # 含有的 Java package(包): ``` ai.djl.engine.rust ai.djl.engine.rust.zoo ai.djl.huggingface.tokenizers ai.djl.huggingface.tokenizers.jni ai.djl.huggingface.translator ai.djl.huggingface.zoo ``` # 含有的 Java class(类): ``` ai.djl.engine.rust.RsEngine ai.djl.engine.rust.RsEngineProvider ai.djl.engine.rust.RsModel ai.djl.engine.rust.RsNDArray ai.djl.engine.rust.RsNDArrayEx ai.djl.engine.rust.RsNDArrayIndexer ai.djl.engine.rust.RsNDManager ai.djl.engine.rust.RsSymbolBlock ai.djl.engine.rust.RustLibrary ai.djl.engine.rust.zoo.RsModelZoo ai.djl.engine.rust.zoo.RsZooProvider ai.djl.huggingface.tokenizers.Encoding ai.djl.huggingface.tokenizers.HuggingFaceTokenizer ai.djl.huggingface.tokenizers.HuggingFaceTokenizer.Builder ai.djl.hu
-
基于MATLAB的BP神经网络预测模型构建与应用
内容概要:本文详细介绍了如何使用MATLAB构建和应用BP神经网络预测模型。首先,通过读取Excel数据并进行预处理,如归一化处理,确保数据的一致性和有效性。接着,配置网络结构,选择合适的训练算法(如SCG),设置训练参数(如最大迭代次数、目标误差等)。然后,进行模型训练,并通过可视化窗口实时监控训练过程。训练完成后,利用测试集评估模型性能,计算均方误差(MSE)和相关系数(R²),并通过图表展示预测效果。最后,将训练好的模型保存以便后续调用,并提供了一个简单的预测函数,确保新数据能够正确地进行归一化和预测。 适合人群:具有一定MATLAB基础,从事数据分析、机器学习领域的研究人员和技术人员。 使用场景及目标:适用于需要对多维数据进行预测的任务,如电力负荷预测、金融数据分析等。主要目标是帮助用户快速搭建一个可用的BP神经网络预测系统,提高预测准确性。 其他说明:文中提供了完整的代码框架和详细的注释,便于理解和修改。同时,强调了数据预处理的重要性以及一些常见的注意事项,如数据量的要求、归一化的必要性等。
-
tokenizers-0.22.1.jar中文-英文对照文档.zip
# 【tokenizers-***.jar***文档.zip】 中包含: ***文档:【tokenizers-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【tokenizers-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【tokenizers-***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【tokenizers-***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【tokenizers-***-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: tokenizers-***.jar***文档.zip,java,tokenizers-***.jar,ai.djl.huggingface,tokenizers,***,ai.djl.engine.rust,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,djl,huggingface,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【tokenizers-***.jar***文档.zip】,再解压其中的 【tokenizers-***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件; # Maven依赖: ``` <dependency> <groupId>ai.djl.huggingface</groupId> <artifactId>tokenizers</artifactId> <version>***</version> </dependency> ``` # Gradle依赖: ``` Gradle: implementation group: 'ai.djl.huggingface', name: 'tokenizers', version: '***' Gradle (Short): implementation 'ai.djl.huggingface:tokenizers:***' Gradle (Kotlin): implementation("ai.djl.huggingface:tokenizers:***") ``` # 含有的 Java package(包): ``` ai.djl.engine.rust ai.djl.engine.rust.zoo ai.djl.huggingface.tokenizers ai.djl.huggingface.tokenizers.jni ai.djl.huggingface.translator ai.djl.huggingface.zoo ``` # 含有的 Java class(类): ``` ai.djl.engine.rust.RsEngine ai.djl.engine.rust.RsEngineProvider ai.djl.engine.rust.RsModel ai.djl.engine.rust.RsNDArray ai.djl.engine.rust.RsNDArrayEx ai.djl.engine.rust.RsNDArrayIndexer ai.djl.engine.rust.RsNDManager ai.djl.engine.rust.RsSymbolBlock ai.djl.engine.rust.RustLibrary ai.djl.engine.rust.zoo.RsModelZoo ai.djl.engine.rust.zoo.RsZooProvider ai.djl.huggingface.tokenizers.Encoding ai.djl.huggingface.tokenizers.HuggingFaceTokenizer ai.djl.huggingface.tokenizers.HuggingFaceTokenizer.Builder ai.djl.hu
-
基于蒙特卡洛算法的电动汽车对IEEE 33节点电网影响的研究及应用场景分析
内容概要:本文探讨了电动汽车(EV)对IEEE 33节点电网的影响,特别是汽车负荷预测与节点潮流网损、压损计算。通过蒙特卡洛算法模拟电动汽车负荷的时空特性,研究了四种不同场景下电动汽车接入电网的影响。具体包括:负荷接入前后的网损与电压计算、不同节点接入时的变化、不同时段充电的影响以及不同负荷大小对电网的影响。通过这些分析,揭示了电动汽车充电行为对电网的具体影响机制,为未来的电网规划和优化提供了重要参考。 适合人群:从事电力系统研究的专业人士、电网规划工程师、电动汽车行业从业者、能源政策制定者。 使用场景及目标:①评估电动汽车大规模接入对现有电网基础设施的压力;②优化电动汽车充电设施的布局和运营策略;③为相关政策和技术标准的制定提供科学依据。 其他说明:文中提供的Python代码片段用于辅助理解和验证理论分析,实际应用中需要更复杂的模型和详细的电网参数。
-
房地产 -【万科经典-第五园】第五园产品推介会.ppt
房地产 -【万科经典-第五园】第五园产品推介会.ppt
2 楼 linzcup 2013-09-05 20:11
1 楼 linzcup 2013-09-05 20:11
icloud客户端API,支持C#,JAVA,
本文主要面向使用DateSync的开发者,开发者可通过此文学习如何使用DateSync SDK进行开发。
开发环境
1.安装Microsoft Visual C# 2008/2010
2.安装Microsoft .NET Framework 3.5
3.请将以下DLL文件加入到项目中(以下文件位于DataSyncSDK安装路径下)
DLL文件:
agsXMPP.dll
CE.iPhone.PList.dll
DataSync.dll
log4net.dll
Newtonsoft.Json.dll
主要类介绍
名称
说明
DataSyncObject
DateSync SDK的核心类,通过调用该类中的login,put,get,delete等方法实现在icloud中对联系人,相片流等功能进行操作。
Context
DataSyncObject类中的方法参数都通过该类传入值,传出处理结果。
如何使用DataSync SDK
首先导入DataSync.dll文件到工程中
1.用户登陆
using DataSync;
static void Main()
{
DataSyncObject ds = new DataSyncObject();//创建DataSyncObject对像
ds.gIcloud = new Cloud();//生成gIcloud对像
Context loginctx = new Context();//生成Context对像
loginctx.loginUsername = "apple id ";//输入icoud 帐号
loginctx.loginPassword = "password";//输入icoud 帐号密码
loginctx.modeType = Context.ICLOUD_MODE;//输入Context参数的模块类型,当前设为登陆到icloud服务器上
bool ret = ds.login(loginctx);//登陆icoud,成功返回true,失败返回false;
if (ret == false)
{
return;
}
}
2.相片下载
using DataSync;
//进度条回调函数
//参数:transfered已传输字节数, total 表示总字节数
//返回值: true:中断传输,false:继续传输
public static bool TransferProgress(int transfered,int total)
{
return false;
}
static void Main()
{
DataSyncObject ds = new DataSyncObject();//创建DataSyncObject对像
ds.gIcloud = new Cloud();//生成gIcloud对像
Context loginctx = new Context();//生成Context对像
loginctx.loginUsername = "apple id ";//输入icoud 帐号
loginctx.loginPassword = "password";//输入icoud 帐号密码
loginctx.modeType = Context.ICLOUD_MODE;//输入Context参数的模块类型,当前设为登陆到icloud服务器上
bool ret = ds.login(loginctx);//登陆icoud,成功返回true,失败返回false;
if (ret == false)
{
return;
}
//登陆后,便可以下载相片
Context getctx ;
List<FileNode> files = ds.gIcloud.getPhotoList();//登陆成功后,通过该方法取得需要下载的文件列表
foreach (FileNode item in files)
{
getctx = new Context();
getctx.transferProgresscallback = new TransferProgressCallBack(TransferProgress);//进度条回调接口
getctx.modeType = Context.ICLOUD_PS_MODE;//指定要操作的模块为相片流模块
getctx.inItem = item;//要下载的文件节点
ds.get(getctx);//下载文件
if (getctx.outItem != null)
{
Console.Write("\n\n file " + getctx.outItem.filename + "down success.");
}
}
}
3.上传相片
using DataSync;
//进度条回调函数
//参数:transfered已传输字节数, total 表示总字节数
//返回值: true:中断传输,false:继续传输
public static bool TransferProgress(int transfered,int total)
{
return false;
}
static void Main()
{
DataSyncObject ds = new DataSyncObject();//创建DataSyncObject对像
ds.gIcloud = new Cloud();//生成gIcloud对像
Context loginctx = new Context();//生成Context对像
loginctx.loginUsername = "apple id ";//输入icoud 帐号
loginctx.loginPassword = "password";//输入icoud 帐号密码
loginctx.modeType = Context.ICLOUD_MODE;//输入Context参数的模块类型,当前设为登陆到icloud服务器上
bool ret = ds.login(loginctx);//登陆icoud,成功返回true,失败返回false;
if (ret == false)
{
return;
}
//登陆后,便可以上传相片
Context putctx = new Context();
putctx.transferProgresscallback = new TransferProgressCallBack(TransferProgress);
putctx.srcFileFullName = "e:/ndphoto/IMG_0255.JPG";//指定要上传的文件
putctx.modeType = Context.ICLOUD_PS_MODE;
ret = ds.put(putctx); //上传一张相片,最大不能超过50M
if (ret)
{
Console.Write("\n\n file put success. ");
}
}
4.删除图片
using DataSync;
static void Main()
{
DataSyncObject ds = new DataSyncObject();//创建DataSyncObject对像
ds.gIcloud = new Cloud();//生成gIcloud对像
Context loginctx = new Context();//生成Context对像
loginctx.loginUsername = "apple id ";//输入icoud 帐号
loginctx.loginPassword = "password";//输入icoud 帐号密码
loginctx.modeType = Context.ICLOUD_MODE;//输入Context参数的模块类型,当前设为登陆到icloud服务器上
bool ret = ds.login(loginctx);//登陆icoud,成功返回true,失败返回false;
if (ret == false)
{
return;
}
Context delctx = new Context();
delctx.srcFileFullName = "e:/ndphoto/IMG_0260.JPG";//要删除的图片
delctx.modeType = Context.ICLOUD_PS_MODE;
ret = ds.delete(delctx); //删除图片
if (ret)
{
Console.Write("\n\n file delete success. ");
}
}
5.获取所有联系人列表
using DataSync;
static void Main()
{
DataSyncObject ds = new DataSyncObject();//创建DataSyncObject对像
ds.gIcloud = new Cloud();//生成gIcloud对像
Context loginctx = new Context();//生成Context对像
loginctx.loginUsername = "apple id ";//输入icoud 帐号
loginctx.loginPassword = "password";//输入icoud 帐号密码
loginctx.modeType = Context.ICLOUD_MODE;//输入Context参数的模块类型,当前设为登陆到icloud服务器上
bool ret = ds.login(loginctx);//登陆icoud,成功返回true,失败返回false;
if (ret == false)
{
return;
}
Context ctx = new Context();
ctx.modeType = Context.ICLOUD_CONTACT_MODE;
ds.get(ctx);//结果存在ctx.outContactList中
List<Contact> contactList = ctx.outContactList;
}
6.删除所有联系人
using DataSync;
static void Main()
{
DataSyncObject ds = new DataSyncObject();//创建DataSyncObject对像
ds.gIcloud = new Cloud();//生成gIcloud对像
Context loginctx = new Context();//生成Context对像
loginctx.loginUsername = "apple id ";//输入icoud 帐号
loginctx.loginPassword = "password";//输入icoud 帐号密码
loginctx.modeType = Context.ICLOUD_MODE;//输入Context参数的模块类型,当前设为登陆到icloud服务器上
bool ret = ds.login(loginctx);//登陆icoud,成功返回true,失败返回false;
if (ret == false)
{
return;
}
ICloudContact iCloudContact = ds.icloud.GetContacts();
Context ctx = new Context();
ctx.contactList = iCloudContact.contacts;
ctx.modeType = Context.ICLOUD_CONTACT_MODE;
ds.delete(ctx);//删除所有联系人
List<Contact> contactList = ctx.outContactList;
}
7.增加联系人
using DataSync;
static void Main()
{
DataSyncObject ds = new DataSyncObject();//创建DataSyncObject对像
ds.gIcloud = new Cloud();//生成gIcloud对像
Context loginctx = new Context();//生成Context对像
loginctx.loginUsername = "apple id ";//输入icoud 帐号
loginctx.loginPassword = "password";//输入icoud 帐号密码
loginctx.modeType = Context.ICLOUD_MODE;//输入Context参数的模块类型,当前设为登陆到icloud服务器上
bool ret = ds.login(loginctx);//登陆icoud,成功返回true,失败返回false;
if (ret == false)
{
return;
}
//增加联系人
List<Contact> contacts = new List<Contact>();
Contact contact = new Contact { prefix = "pre", firstName = "aaa",
lastName = "bbb", middleName = "ccc",phoneticLastName = "",
phoneticFirstName = "Nicolas",suffix = "suff",nickName = "nickname",
jobTitle = "jobTitle", department = "systemSport", companyName = "nd",
birthday = "1999-01-01",notes = "测试添加一个完整的联系人"
};
////电话
contact.phones = new List<Phone>();
Phone phone1 = new Phone { label = "WORK", field = "13635260966" };
Phone phone2 = new Phone { label = "HOME", field = "059122321966" };
Phone phone3 = new Phone { label = "custum", field = "15918726583" };
contact.phones.Add(phone1);
contact.phones.Add(phone2);
contact.phones.Add(phone3);
////邮件
contact.emailAddresses = new List<EmailAdr>();
EmailAdr emailAdr1 = new EmailAdr { label = "WORK", field = "test_1@yahoo.com.cn" };
EmailAdr emailAdr2 = new EmailAdr { label = "HOME", field = "test_2@gmail.com" };
EmailAdr emailAdr3 = new EmailAdr { label = "custum", field = "test_3@me.com" };
contact.emailAddresses.Add(emailAdr1);
contact.emailAddresses.Add(emailAdr2);
contact.emailAddresses.Add(emailAdr3);
////地址
contact.streetAddresses = new List<StreetAdr>();
StreetField streetField1 = new StreetField();
streetField1.city = "city";
streetField1.country = "country";
streetField1.state = "state";
streetField1.street = "street";
streetField1.countryCode = "countryCode";
StreetAdr streetAdr1 = new StreetAdr { label = "HOME", field = streetField1 };
StreetField streetField2 = new StreetField();
streetField1.city = "city";
streetField1.country = "country";
streetField1.state = "state";
streetField1.street = "street";
streetField1.countryCode = "countryCode";
StreetAdr streetAdr2 = new StreetAdr { label = "WORK", field = streetField2 };
StreetField streetField3 = new StreetField();
streetField1.city = "city";
streetField1.country = "country";
streetField1.state = "state";
streetField1.street = "street";
streetField1.countryCode = "countryCode";
StreetAdr streetAdr3 = new StreetAdr { label = "custum", field = streetField3 };
contact.streetAddresses.Add(streetAdr1);
contact.streetAddresses.Add(streetAdr2);
contact.streetAddresses.Add(streetAdr3);
////主页
contact.urls = new List<Url>();
Url url1 = new Url { label = "WORK", field = "www.sina.com" };
Url url2 = new Url { label = "HOME", field = "www.apple.com" };
Url url3 = new Url { label = "custum", field = "www.google.com" };
contact.urls.Add(url1);
contact.urls.Add(url2);
contact.urls.Add(url3);
////概况
contact.profiles = new List<Profile>();
Profile profile1 = new Profile { label = "Facebook", field = "http://twitter.com",user = "sdfdf" };
Profile profile2 = new Profile { label = "custum", field = "http://facebook.com",user = "jjjjjj" };
contact.profiles.Add(profile1);
contact.profiles.Add(profile2);
////日期
contact.dates = new List<Date>();
Date date1 = new Date { label = "other", field = "2011-01-01" };
Date date2 = new Date { label = "custum", field = "2012-01-01" };
contact.dates.Add(date1);
contact.dates.Add(date2);
////相关人
contact.relatedNames = new List<RelatedName>();
RelatedName relatedName1 = new RelatedName { label = "other", field = "father" };
RelatedName relatedName2 = new RelatedName { label = "custum", field = "brother" };
contact.relatedNames.Add(relatedName1);
contact.relatedNames.Add(relatedName2);
////通讯
contact.IMs = new List<IM>();
IMsfield iMsfield1 = new IMsfield();
iMsfield1.IMService = "QQ";
iMsfield1.userName = "qqusername";
IMsfield iMsfield2 = new IMsfield();
iMsfield2.IMService = "Facebook";
iMsfield2.userName = "testname";
IM iMs1 = new IM { label = "QQ", field = iMsfield1 };
IM iMs2 = new IM { label = "weibo", field = iMsfield2 };
contact.IMs.Add(iMs1);
contact.IMs.Add(iMs2);
contacts.Add(contact);
Context ctx = new Context();
ctx.modeType = Context.ICLOUD_CONTACT_MODE;
ctx.contactList = contacts;
ds.put(ctx);
}
8.修改联系人
using DataSync;
static void Main()
{
DataSyncObject ds = new DataSyncObject();//创建DataSyncObject对像
ds.gIcloud = new Cloud();//生成gIcloud对像
Context loginctx = new Context();//生成Context对像
loginctx.loginUsername = "apple id ";//输入icoud 帐号
loginctx.loginPassword = "password";//输入icoud 帐号密码
loginctx.modeType = Context.ICLOUD_MODE;//输入Context参数的模块类型,当前设为登陆到icloud服务器上
bool ret = ds.login(loginctx);//登陆icoud,成功返回true,失败返回false;
if (ret == false)
{
return;
}
//修改联系人
Context ctx = new Context();
ctx.modeType = Context.ICLOUD_CONTACT_MODE;
ds.get(ctx);
List<Contact> contactList = ctx.outContactList;
List<Contact> contacts = new List<Contact>();
Contact contact = contactList[0];
contact.firstName = "aaa";
contact.lastName = "bbb";
contact.phones = new List<Phone>();
Phone phone = new Phone { label = "WORK", field = "987654321" };
contact.phones.Add(phone);
contacts.Add(contact);
Context ctx = new Context();
ctx.modeType = Context.ICLOUD_CONTACT_MODE;
ctx.contactList = contacts;
ds.updata(ctx);
}
9.删除指定联系人
using DataSync;
static void Main()
{
DataSyncObject ds = new DataSyncObject();//创建DataSyncObject对像
ds.gIcloud = new Cloud();//生成gIcloud对像
Context loginctx = new Context();//生成Context对像
loginctx.loginUsername = "apple id ";//输入icoud 帐号
loginctx.loginPassword = "password";//输入icoud 帐号密码
loginctx.modeType = Context.ICLOUD_MODE;//输入Context参数的模块类型,当前设为登陆到icloud服务器上
bool ret = ds.login(loginctx);//登陆icoud,成功返回true,失败返回false;
if (ret == false)
{
return;
}
//删除联系人
Context ctx = new Context();
ctx.modeType = Context.ICLOUD_CONTACT_MODE;
ds.get(ctx);
List<Contact> contactList = ctx.outContactList;
List<Contact> delContacts = new List<Contact>();
Phone phone = new Phone { label = "WORK", field = "15935260966" };
Contact contact = contactList[0];
delContacts.Add(contact);
Context ctx = new Context();
ctx.modeType = Context.ICLOUD_CONTACT_MODE;
ctx.contactList = delContacts;
ds.delete(ctx);
}