最后更新时间:2019年6月28日
for iOS二次开发环境
MapGIS Mobile 10.3 for iOS的二次开发环境如下所示,包括iOS开发环境(Xcode)、GIS服务器环境(MapGIS桌面工具、MapGIS IGServer),移动GIS开发包。
说明:若涉及MapGIS在线地图服务的移动端应用,需要安装配置GIS服务器环境——即安装配置MapGIS IGServer。
一、安装配置iOS开发环境
分为iOS硬件环境与Xcode开发环境。
iOS硬件环境
要成为一名iOS开发人员,首先需要拥有一台可以运行Mac OS的电脑,您可以购买iMac、MacBook、MacBookPro、MacBook Air、Mac Mini。也可以安装黑苹果(被破解过的可以安装到PC上的Mac OS)的PC机,或通过VMWare、VirtualBox等虚拟机运行Mac OS。我们建议您购买一台原生的Mac机器,以避免一些因为不兼容所带来的调试错误。
如果您已经拥有苹果设备,并获得了Apple ID,将该ID用作开发账户。如果目前没有Apple ID,您需要新注册一个专门用于开发的新ID。具体操作如下:
(1)首先,访问Apple iOS开发中心(https://developer.apple.com),点击Account按钮,如下图登录Apple ID的界面可登录Apple ID。
(2)单击上图中的“Create Apple ID”按钮后可以创建一个新的Apple ID账号,注册成功后输入登录信息登录,登录成功后的界面如下图登录成功的界面所示。
Xcode开发环境
要开发iOS的应用程序,需要安装Xcode开发环境。Xcode是苹果提供的开发工具集,提供了项目管理、创建执行程序、代码编辑、代码调试、代码库管理和性能调节等功能。
1
(1)下载的前提是先注册成为一名开发人员,打开苹果开发主页面(https://developer.apple.com/);
(2)登录到Xcode的下载页面 (https://developer.apple.com/download/ ),找到Xcode 8.2.1选项下载,如下图所示。您也可以从网络中搜索热心网友的共享信息,下载Xcode8.2.1;或者在App Store 搜索Xcode关键字,点击下载即可,如下图所示在App Store 搜索下载Xcode。
2
(1)下载完成后,打开下载的“.dmg”或“.xip”格式文件进行安装,如下图打开下载的Xcode文件;
(2)在安装协议条款中,点击“I agree”按钮继续进入下一步;
(3)随后输入系统的用户密码,如下图所示;
(4)最后安装完成,如下图所示。
二、安装配置GIS开发环境
GIS开发环境涉及移动开发包、GIS服务器以及桌面工具三方面:
移动开发包:提供MapGIS Mobile 10.3 for iOS开发包(SDK),包含了iOS开发所需的开发库、示例、帮助文档等。
GIS服务器:提供在线地图服务及功能服务。若涉及在线地图服务及功能服务的移动端应用,需要安装配Web浏览器平台——MapGIS IGServer(for .NET/Java)。
桌面工具:在开发前的移动端数据准备阶段,需要使用MapGIS 10.3桌面工具进行数据组织或转换。
MapGIS Mobile 10.3的开发环境配置,主要为MapGIS开发许可与移动开发包的获取与配置。
第一步,如何获取免费开发授权
面向广大开发者,MapGIS 10.3提供免费开发云许可(即基础开发授权与高级开发授权),请访问司马云云开发世界在线申请获取,前提是需要注册【云开发世界】账号并升级为开发者。此开发授权三端通用,包括GIS工具产品与开发产品,即MapGIS 10.3系列的桌面工具、GIS服务器(IGServer)、移动开发包均可使用。
说明:免费开发许可支持1个PC开发设备和5个移动端(包括模拟器)调试设备的绑定,用户可以根据实际开发需求绑定/解绑设备。其中,for iOS的开发授权默认自动提供,无需验证,每次可持续运行10分钟。
第二步,如何获取MapGIS开发包
MapGIS 10.3的SDK(包括MapGIS Mobile 10.3的SDK),均通过云开发世界(http://www.smaryun.com/dev/)在线获取,操作方法:【云开发世界】→资源中心→产品开发包,在线下载MapGIS开发包,如MapGIS Mobile 10.3的开发包(for iOS)、MapGIS 10 IGServer开发包(for .NET)。
>>查看与下载MapGIS Mobile 10.3的开发包(for iOS)
第三步,如何在PC端安装配置GIS环境
若涉及在线地图服务的移动端应用,需要安装配置GIS服务器环境——MapGIS IGServer(for .NET/Java),其中MapGIS 10 IGServer(for .NET)开发包内置了MapGIS 10.3桌面工具。在开发前的移动端数据准备阶段,需要使用MapGIS 10.3桌面工具进行数据组织或转换,若没有安装内置桌面工具的MapGIS IGServer,则需要单独安装MapGIS 10.3桌面工具。
说明:所有MapGIS开发包均可从【云开发世界】下载迁移,或在【云交易中心】下载安装MapGIS桌面工具、MapGIS IGServer产品。其中MapGIS 10 IGServer开发包(for .NET)开发包内置了MapGIS 10.3桌面工具,推荐直接在【产品开发包】中下载并安装配置。
安装配置GIS服务器
推荐:从【产品开发包】中下载安装MapGIS 10 IGServer开发包(for .NET),运行安装时根据界面提示操作即可,此略。
安装MapGIS IGServer后,通过其GIS服务管理器——MapGIS Server Manager发布MapGIS自定义地图服务与OGC服务,如下图所示。移动端可直接调用GIS服务器发布的服务进行二次开发。
提示:在浏览器中输入:http://localhost:9999(Java版本为http://localhost:9000),进入MapGIS IGServer的服务管理器界面。安装平台后平台服务默认自动启动,可在本地服务中进行查看。包括 MapGIS 数据存储服务(MapGIS DataStorageService),瓦片存储服务(TileStorage Server)和 IGServer 服务(MapGIS IGServer)。通常这三个服务为自动启动,如果未启动,则需要手动全部启动。
安装配置桌面工具
安装后打开MapGIS 10.3桌面工具如下图所示,通过此工具制作组织移动端应用数据,其中“移动数据工具条”提供数据转换工具,将地图数据转换生成移动数据包,离线模式使用。
【小技巧】:若当前MapGIS 10.3桌面工具未加载“移动数据工具条”,则可手动将“移动数据工具条”加载到桌面工具中。
具体操作:
① 打开MapGIS 10.3桌面工具,在菜单栏空白处右键,在弹出的工具条列表中查看是否有“移动数据工具条”,若有在单击勾选,将其显示出来;若没有则单击最下方的『自定义…(C)』按钮,打开如图 3 18所示的「自定义」窗口;
② 在「自定义」窗口中选择“命令”项,即可看到“扩展管理器”与其快捷键(Ctrl+Shift+M),于是按Ctrl+Shift+M快捷键打开“扩展管理器”;
③ 在“扩展管理器”中单击“插件”项,然后在右侧显示已加载的插件列表,此时再单击『加载』按钮,在弹出的对话框中选择“移动数据工具条”插件文件(路径为:…\MapGIS 10\Program\MobileTool\MapGIS.Mobile.Plugin.dll);
④ 选择“移动数据工具条”插件文件(MapGIS.Mobile.Plugin.dll)后,单击『打开』按钮即可,然后关闭“扩展管理器”;
⑤ 最后,返回到MapGIS 10.3桌面工具,在菜单栏空白处右键,在弹出的工具条列表中已增加“移动数据工具条”,单击勾选即可。
第四步,如何使用移动GIS开发包
MapGIS Mobile 10.3 for iOS开发包(SDK), 下载得到一个对应的压缩资源包(MapGISMobileiOS_SDK.zip),将此解压即可。 >>查看与下载MapGIS Mobile 10.3的开发包(for iOS)
基于iOS的二次开发库提供了framework形式的开发框架,基于Objective-C语言的开发,该形式开发库配置简单、使用方便。
使用向导:在集成开发环境中创建工程,引入SDK中的二次开发库,调用API进行移动GIS开发。在此过程中,可充分参考其API、配套接口示例、以及配套开发文档。
如何使用配套接口示例
配套接口示例须基于示例源码调试安装使用,即先配置好iOS开发环境(Xcode),然后打开源码调试运行即可。
具体操作步骤如下:
1、准备好iOS开发环境,打开Xcode;
2、在Xcode中打开示例源码(MapGISSample),将libs开发库中的framework框架和bundle文件拷贝到samples->code->MapGISSample的根目录下,使用真机或模拟器调试运行;
3、若编译运行成功,则可在对应模拟器或移动设备中安装并打开示例APP。
如何进行iOS授权认证
MapGIS Mobile 10.3 for iOS的应用授权方式有两种:手工授权和代码授权,开发者可选择其中任意一种方式对MapGIS Mobile for iOS进行正式授权。在未正式授权(即使用开发授权)的情况下,用户可每次试用10分钟。
iOS正式授权流程如下: (1)首先需要向中地数码公司商务部申请移动授权用户标识码; (2)然后采用以下两种方式进行授权:
MGSAuthorize* author = [MGSAuthorize sharedInstance]; [author getLicenseCodeWithRegCode:[author generateRegCode] UserCode:@"1111102858" userName:@"zondy" userUnit:@"zondy" userEmail:@"111111111@qq.com" userPhone:@"11111111111" userDesc:@"110" delegate:self];