浅析SuperMap iMobile 8C for iOS打包静态库

2023-10-24 06:20

本文主要是介绍浅析SuperMap iMobile 8C for iOS打包静态库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:为梦齐舞

      近段时间,有客户咨询如何将超图的库打包成静态库,然后到项目中进行使用,在这里小编做一个简单的介绍,本文中将介绍如何打包静态库,并在也使用超图的库进行调用静态库。
      一、新建静态库工程Cocoa Touch Static Library
这里写图片描述
      二、命名工程为supermapLib
这里写图片描述
      三、设置Search Paths路径
        1、设置头文件路径Header Search Paths:安装目录/SDKs/iPhoneOS.sdk/SuperMap.framework/Versions/A/Headers
        2、设置动态库路径Library Search Paths:安装目录/SDKs/iPhoneOS.sdk/SuperMap.framework/Versions/A

      四、在静态库工程中编写代码
            1、supermapLib.h文件中

#import <Foundation/Foundation.h>
@class Workspace;
@interface supermapLib : NSObject
{Workspace *workspace;
}
-(Workspace*)openWorkspace;
@end

            2、supermapLib.m文件中

#import "supermapLib.h"
#import "SuperMap.h"
@implementation supermapLib
-(Workspace*)openWorkspace
{@try{workspace=[[Workspace alloc]init];DatasourceConnectionInfo *info=[[DatasourceConnectionInfo alloc]init];info.engineType=ET_BAIDU;info.server=@"http://map.baidu.com";[workspace.datasources open:info];return workspace;}@catch (NSException *exception) {}}
@end

      五、编译工程,会生成一个libsupermaplib.a的静态库包和include头文件。
这里写图片描述
      六、新建一个Single View Application工程来测试静态库,命名为SmLibTest,按照SuperMap要求的工程配置进行配置,添加libstdc++.6.0.9.tbd库;其中SuperMap.framework不需要再添加到工程中,SuperMap.bundle资源依然需要放置到工程中。
      七、将libsupermaplib静态库include头文件以及SuperMap的头文件加入到工程中。
这里写图片描述
      八、将生成的libsupermaplib.a的静态库加入到工程中,并拖拽到工程中。
这里写图片描述
      九、在SmLibTest中添加如下代码
            1、ViewController.h文件中

#import <UIKit/UIKit.h>
#import <SuperMap.h>
@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet MapControl *mapControl;
@end 

            2、ViewController.m文件中

#import "ViewController.h"
#import "supermapLib.h"
@implementation ViewController
@synthesize mapControl;
- (void)viewDidLoad {[super viewDidLoad];[self openMap];// Do any additional setup after loading the view, typically from a nib.
}
-(void)openMap
{mapControl=[[MapControl alloc]initWithFrame:[[UIScreen mainScreen]bounds]];[self.view addSubview:mapControl];[mapControl mapControlInit];supermapLib *superlib=[[supermapLib alloc]init];Workspace *workspace=[superlib openWorkspace];[mapControl.map setWorkspace:workspace];Datasource* baiduDatasource=[workspace.datasources get:0];[mapControl.map.layers addDataset:[baiduDatasource.datasets get:0] ToHead:NO];  
}

      十、编译运行程序,效果如下图所示
这里写图片描述

这篇关于浅析SuperMap iMobile 8C for iOS打包静态库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/273260

相关文章

Flutter打包APK的几种方式小结

《Flutter打包APK的几种方式小结》Flutter打包不同于RN,Flutter可以在AndroidStudio里编写Flutter代码并最终打包为APK,本篇主要阐述涉及到的几种打包方式,通... 目录前言1. android原生打包APK方式2. Flutter通过原生工程打包方式3. Futte

浅析CSS 中z - index属性的作用及在什么情况下会失效

《浅析CSS中z-index属性的作用及在什么情况下会失效》z-index属性用于控制元素的堆叠顺序,值越大,元素越显示在上层,它需要元素具有定位属性(如relative、absolute、fi... 目录1. z-index 属性的作用2. z-index 失效的情况2.1 元素没有定位属性2.2 元素处

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

浅析Python中的绝对导入与相对导入

《浅析Python中的绝对导入与相对导入》这篇文章主要为大家详细介绍了Python中的绝对导入与相对导入的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1 Imports快速介绍2 import语句的语法2.1 基本使用2.2 导入声明的样式3 绝对import和相对i

Apache伪静态(Rewrite).htaccess文件详解与配置技巧

《Apache伪静态(Rewrite).htaccess文件详解与配置技巧》Apache伪静态(Rewrite).htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令,主要的... 一、.htAccess的基本作用.htaccess是一个纯文本文件,它里面存放着Apache服务器

linux打包解压命令方式

《linux打包解压命令方式》文章介绍了Linux系统中常用的打包和解压命令,包括tar和zip,使用tar命令可以创建和解压tar格式的归档文件,使用zip命令可以创建和解压zip格式的压缩文件,每... 目录Lijavascriptnux 打包和解压命令打包命令解压命令总结linux 打包和解压命令打

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

配置springboot项目动静分离打包分离lib方式

《配置springboot项目动静分离打包分离lib方式》本文介绍了如何将SpringBoot工程中的静态资源和配置文件分离出来,以减少jar包大小,方便修改配置文件,通过在jar包同级目录创建co... 目录前言1、分离配置文件原理2、pom文件配置3、使用package命令打包4、总结前言默认情况下,