合并framework 真机、模拟器兼容

最近百度地图的SDK更新了,为了兼容IOS 9 ,不得不做更新。

下载SDK后发现,原来的静态库.a木有了。现在是framework,而且做了真机和模拟器两个,显然需要我们将两个framework合并成一个。

framework不能直接合并,也不需要,只要我们合并目录下面的BaiduMapAPI就可以了。方法跟合并.a是一样的。

-》打开终端

-》输入

lipo -create 
Release-iphoneos/BaiduMapAPI.framework/BaiduMapAPI 
Release-iphonesimulator/BaiduMapAPI.framework/BaiduMapAPI 
-output Release-iphoneos/BaiduMapAPI.framework/BaiduMapAPI

即 lipo -create 真机framework路径 模拟器framework路径 -output 通用framework路径

就可以将两个BaiduMapAPI合成通用并输出到所给路径。

如果在终端中输入上述命令行后遇到如下错误:

crun: error: active developer path (“/Applications/Xcode 2.app/Contents/Developer”) does not exist, use xcode-select --switch path/to/Xcode.app to specify the Xcode that you wish to use for command line developer tools (or see man xcode-select)

可以输入

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

之后输入密码 ,再执行上面的合并就可以了

??tips:??

正常编译后

1.如果出现manager start failed!,可以根据错误提示进行处理,一般是需要在info.plist中加入displayname

2.出现引擎初始化失败,需要在工程中添加BaiduMapAPI.framework/Resources/mapapi.bundle

??

时间: 2024-10-27 05:17:48

合并framework 真机、模拟器兼容的相关文章

iOS打包Framework真机和模拟器兼容合并版本 - 详细攻略步骤

打包Framework,测试时: 1.用模拟器打包,测试时只能跑在模拟器 2.用真机打包,测试时只能跑在真机 那么怎么做到一个版本兼容以上两种场景呢? 解决如下: 1.打开终端 2.输入   lipo -create [模拟器打包path] [真机打包path] -output [导出兼容版本path] =======================  示例  Demo========================== 准备前提: -- 假设我们包已经完成,并在模拟器和真机都能编译通过. --

合并第三方真机和模拟器的.framework或(静态库.a)文件的方法

iOS开发中使用第三方SDK时经常会遇到一些第三方提供真机和模拟器两套.framework(或.a)文件.但开发者在开发过程中会挺不方便的.这里就来总结一下真机和模拟器的.framework(或.a)文件的合并. 两种库文件的合并方式是一样的, .framework文件的合并稍微有点差别.我们先说.a文件的合并. 运行终端命令:lipo -create /Users/***/Desktop/ThirdParty/library/Release-iphoneos/libthirdparty.a /

ios 动态库合成包(真机&模拟器)脚本

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #008400 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "PingFang SC"; color: #008400 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #000000 } p.p4 {

Appium移动端自动化测试-安卓真机+模拟器启动

一.环境准备 appium-pythin-client版本(0.17),selenium版本(2.53.6)(版本需对应,否则执行脚本可能出错,我用的是这两个版本) macOs版本10.14.1(appium默认不支持该版本,需修改配置文件),参考:https://blog.csdn.net/yxys01/article/details/73551281 xcode版本10.1 下载SDK解压后,点击tools文件里的android文件,进行相关安卓版本下载 二.demo代码 测试文件代码: #

unity3D 4.6与上述号码. UI穿透问题,而且不穿透的真机模拟器渗透问题解决

好久没有写博客颓废很长一段时间. . . 不废话. EventSystem.current.IsPointerOverGameObject(); //返回值true 如果是点击UI该.不过貌似没有使用移动设备 点击这个 把你的项目的选项 胡克红盒子一样好.. 版权声明:本文博主原创文章.博客,未经同意不得转载.

一个有趣的现象(苹果的bug Or 坑?),关于区分真机和模拟器的预编译宏

TARGET_IPHONE_SIMULATOR和TARGET_OS_IPHONE 是苹果的两个宏定义, 在真机sdk中位于ios->usr/include/targetconditionals.h中, 在模拟器sdk中位于simulator->usr/include/targetconditionals.h中 (笔者此时使用的xcode版本为5.1,sdk版本是7.1) 仔细看其模拟器sdk中的定义: #define TARGET_OS_IPHONE            1 #define

ios framework 分离与合并多种CPU架构,分离与合并模拟器与真机

ios  framework 分离与合并多种CPU架构,分离与合并模拟器与真机 如果你所用的framework支持真机和模拟器多种CPU架构,而你需要的是其中的一种或几种,那么可以可以从framework中分离出各种架构,然后合并你需要的,具体的方式举例如下: 首先从framework中分离出armv7 arm64,或者还有armv7s lipo XXXX.framework/XXXX -thin arm64 -output XXXX.framework/XXXX-arm64 lipo XXXX

对百度地图SDK中的真机framework和模拟器framework合并时遇到的问题

在终端中输入的命令: lipo -create Release-iphoneos/BaiduMapAPI.framework/BaiduMapAPI Release-iphonesimulator/BaiduMapAPI.framework/BaiduMapAPI -output Release-iphoneos/BaiduMapAPI.framework/BaiduMapAPI 注意: Release-iphoneos/BaiduMapAPI.framework/BaiduMapAPI 为真机

IOS::.a的生成,以及模拟器和真机.a 的合并

首先来谈谈为何要使用.a文件 Objective-c语言有.h .m 文件组成.静态库可以将 .m文件封装成一个.a文件,第三方应用程序只需要拿到这个.a文件和代码对应的.h文件即可使用静态库中封装的方法.IOS静态库适合去制作第三方提供的SDK. 第一步 1.首先创建一个新的工程,选择Framework&:,在选择Cocoa Touch Static Library 工程名自己定义 BB2ECA5B-8795-4ECA-88AF-D2FB0F8BA382.png 2.接下来你会看到自动生成.h