ArcGIS Runtime SDK for iOS的新版本10.1.1发布
内容提要
1、新版的iOS SDK更名又发生了变化,为什么要更名呢,请看博文;
2、新版iOS SDK又带来了哪些可喜的变化,请看博文;
3、旧版应用如何迁移至新版本,请看博文。
很高兴在新年发布ArcGIS Runtime SDKfor iOS的新版本10.1.1,更新内容包括:支持高级军事符号、支持PKI客户端验证的安全链接、位置定位模拟功能、查询结果排序和分组等等,点击链接下载新版SDK。
先吐槽下runtime 10.1.1的统一架构,这是iOS SDK发布以来最大的一次重构,涉及到改进地图组件和渲染引擎,目的在于更好利用硬件性能和迎接更多GIS功能。我们尽量让这些改变发生在底层,但还是有一部分上层接口需要更新,细节将在下面列出。另外,如果你在升级或使用新版本过程发现问题,请反馈给我们,我们会及时帮助你。
细心的ArcGIS老用户可能会发现,这个版本的SDK命名又发生了变化,新的版本号将ArcGIS Runtime SDKs foriOS、Android、Java SE、Windows Phone和WPF等都进行了同步,并且与ArcGIS的版本号进行了统一。这种变化不仅反映了几个SDKs之间定位和发展的一致性,也体现了这几个产品之间功能和体系架构的同步性,同时,Runtime SDKs现在也使用了同样的C++运行时。这种运行时的好处是:在软件更新时,所有的SDKs都能同步的继承新的功能,并且同样的新功能将在各个平台保持一致的模型,以便用户能充分利用熟知平台上的编码经验快速过渡到新平台开发,但各个平台仍然保留自己的开发环境、编程语言、开发工具和工作流等特性,这在native的模式下很难做到。
10.1.1新特性列表
- 支持ArcGIS Online更多细节
支持ArcGIS Online图层的过滤显示、可视范围设置,支持对要素图层的编辑,支持需要身份验证的安全服务等等。
- 支持全球地址编码服务
新接口AGSLocator可使用ArcGIS Online提供的全球地址编码服务,目前该服务提供了全球100多个国家的地址编码服务,可根据街道号、地名、邮政编码、坐标等方式进行地址匹配,但暂不包括中国内地。
- 增强查询功能
对ArcGIS Server 10.1及以上版本,可以使用高级查询功能,比如:按照某字段或某组字段对查询结果进行排序,并统计每组的平均值、标准差、数量等等,查看详细。
- 访问安全服务
客户端认证是常见的服务器资源访问安全管理方法,通过分发的系统公钥在客户端和服务器端生成数字签名,这里提供了接口使用移动设备上的数字签名去和服务器验证,验证成功后建立安全通信来访问服务器上的受保护资源,查看详细。
- 模拟位置定位
开发阶段通常需要临时模拟位置信息,用于功能测试或原型演示,新的接口增加了位置信息来源的选项,支持从GPX文件和几何多边形模拟位置,查看详细。
- 符号高亮显示
可以通过添加一个光环轮廓效果来高亮显示任何符号,如此一来我们就可以控制高亮显示要素,很有用的增强,调用AGSGraphicsLayer的setSelected:forGraphic方法即可。
- 支持高级军事符号
迁移已有应用支持美军的MIL-STD-2525C 军事符号和制图表达,查看详细。
注意点:10.1.1版本要求iOS 5版本以上。
我们每次更新都尽量保持向后兼容的API,以便开发者迁移原有应用,但10.1.1这一版本变化太大,无法完全保证迁移的兼容性,请先谈定的备份好之前的工程,再按下面部署迁移。
XCode工程修改
- 1. 更新Frameworks Search Path setting
修改Frameworks SearchPath为:$(HOME)/Library/SDKs/ArcGIS/iOS/**
- 2. 删除armv7s选项
从 Valid Architectures 设置里删除armv7s(iPhone 5的A6 处理器新架构)。
- 3. 修改依赖项
移除 libstdc++.dylib
添加 libc++.dylib 和 OpenGLES.framework
- 4. 更新资源包文件
ArcGIS.bundle里新增了图片,因此需要删除后重新添加.
API 修改
API的变化帮助文档里有详细介绍,但对天性懒惰的开发者来说先用新SDK编译,再针对编译错误逐项修改可以更快完成迁移,具体接口变化情况请猛戳在线帮助: