转载请标明来源:https://www.cnblogs.com/tony-17/p/11276027.html

源码编译与制作静态库

  1. 下载cordova-ios源码,下载地址为:cordova-ios
  2. 解压后使用Xcode进行编译,编译选定模拟器和Generic iOS Device,cmd+B,编译成功(Dynamic、Static均可)即可;

    

  3. 使用lipo命令,合并Cordova.framework

    选中Products下的Cordova.framework文件,Show in Finder找到该文件

    

   如果项目编译成功,应该有两个文件夹,我用的是bebug模式,所以存在Debug-iphoneos和Debug-iphonesimulator两个文件夹

    

   将Products文件夹Copy出来,使用终端工具,进行合并

    

   合并成功后,出现新的文件,查看支持的架构

    

   可以看到支持模拟器和真机;

   之后将Cordova这个二进制文件放到Products下的任一Cordova.framework中,替换旧的exec文件;

    

Podspec的制作,支持pod引入

   前提条件:需要安装了cocoapods

   新建一个文件夹如CordovaiOSSDK,终端输入

pod spec create Cordova 

   之后会生成一个 Cordova.podspec 文件,接下来就是修改该文件了,找个顺手的编辑器,这里使用的是sublime text 3

   打开podspec文件,看到内容、注释较多,将所有的注释删除,结果如下:

Pod::Spec.new do |s|

  s.name         = "Cordova"
s.version = "4.5.4"
s.summary = "基于cordova-ios 4.5.4封装的cordova sdk." s.homepage = "https://gitee.com/rayz-plugins-specs/cordova-ios-sdk"
s.license = { :type => "MIT", :file => "FILE_LICENSE" }
s.author = { "rayz_17" => "rayz_17@126.com" } s.platform = :ios, "9.0"
s.source = { :git => "https://gitee.com/rayz-plugins-specs/cordova-ios-sdk.git", :tag => "#{s.version}" }
s.requires_arc = true s.source_files = "*.framework/Headers/*.h"
s.public_header_files = "*.framework/Headers/*.h"
s.vendored_frameworks = "*.framework" s.frameworks = "AVFoundation", "AssetsLibrary", "CoreLocation", "MobileCoreServices", "Security", "SystemConfiguration", "AdSupport" end

 说明:

  • 在github、gitee、gitlab等网页端创建一个cordova仓库,将本地文件上传到仓库中;
  • 将合并后生成的framework用pod语法链接进去;
  • 校验一下私有库是否可用`pod spec lint Cordova.podspec --allow-warnings`

    

  如果不使用.framework,而又想使用pod引入,则在源码目录下创建podspec文件进行支持,其中核心部分如下:

    

  



Cordova-iOS SDK封装的更多相关文章

  1. 高德地图iOS SDK限制地图的缩放比例

    问题 高德地图的iOS SDK 3D版中(v2.4.0), 显示范围在560m左右时建筑会呈现3D效果. 我们有没有办法可以限制地图最小缩放到这个比例, 从而保证建筑始终使用3D效果显示呢? 探索 高 ...

  2. 极光推送iOS SDK教程

    iOS SDK 调试指南 iOS 调试思维导图 2 确认证书 请到"应用详情页面"确认证书可用性: 3 开发环境测试 在对  JPush iOS 开发环境进行测试前,请确保 3 个 ...

  3. 转载-iOS SDK开发

    最近帮兄弟公司的做支付业务sdk,积累了 sdk 封装的经验!下面我会从零开始把我的 sdk 封装和调试经历分享给大家,希望能给看到这篇文章的人有所帮助! 本文我会从以下几个方面来讲述: Framew ...

  4. XE6移动开发环境搭建之IOS篇(9):配置XE6的IOS SDK(有图有真相)

    网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 1.开启PAServ ...

  5. iOS SDK Release Notes for iOS 9 iOS9 SDK 版本更新说明

    Important: This is a preliminary document for an API or technology in development. Apple is supplyin ...

  6. Xamarin.iOS调试提示需要iOS SDK

    Xamarin.iOS调试提示需要iOS SDK   错误信息:The version of Xamarin.iOS requires th iOS 9.3 SDK (shipped with Xco ...

  7. 百度VS高德:LBS开发平台ios SDK对比评测

    随着iPhone6手机的热销,目前的iOS应用开发市场也迎来了全盛时期.据了解,目前市面上已有的iOS应用基本覆盖了购物.上门服务.用车服务.娱乐等行业.而在这些iOS应用中,内置LBS服务的应用占大 ...

  8. ios--集成支付宝钱包支付iOS SDK的方法与经验

    文/胖花花(简书作者)原文链接:http://www.jianshu.com/p/fe56e122663e著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 没想到,支付宝的SDK是我目前 ...

  9. 【转】使用Xcode中的iOS SDK给iphone开发出第一个App程序

    之前已经折腾过用Xcode开发OS X的程序了,现在继续折腾,用iOS SDK开发移动设备(iphone/ipad/ipod touch)的程序. 1.从iOS Developer Library中找 ...

  10. 集成支付宝钱包支付ios SDK的方法和经验

    没想到,支付宝的SDK是我目前用过的所有第三方SDK中最难用的一个了. 下载 首先,你要想找到这个SDK,都得费点功夫.现在的SDK改名叫移动支付集成开发包了,下载页面在 这里 的 “请点此下载集成开 ...

随机推荐

  1. 解决wireshark打开错误

    错误提示如下: Lua: Error during loading: [string "/usr/share/wireshark/init.lua"]:44: dofile has ...

  2. 【Flink】Flink 底层RPC框架分析

    1. 前言 对于Flink中各个组件(JobMaster.TaskManager.Dispatcher等),其底层RPC框架基于Akka实现,本文着重分析Flink中的Rpc框架实现机制及梳理其通信流 ...

  3. laravel配置不同环境的配置文件

    //在入口bootstrap/App.php中 $env = $app->detectEnvironment( function () use ($app) { $uname = php_una ...

  4. hexo + next搭建博客

    使用hexo和next主题搭建GitHub博客 安装node.js 在node.js 官网下载, 相应系统位数的软件包. 可以选择LTS长期支持版, 或者Current当前版本. 我这里选择的是Win ...

  5. Linux就该这么学---第一课 20190705

    要认真学习,认真完成作业,最主要是坚持,我感觉自己坚持这个能力欠缺,要主动改正. 还想说一句,以前我是20期学员,后面没有时间学习了,现在到22期了,我要坚持学习完成,坚持 坚持 坚持!!! 现在分享 ...

  6. java springboot调用第三方接口 借助hutoool工具类 爬坑

    楼主是个后端小白一枚,之前没接触过后端,只学了java基本语法,还是在学校老师教的,学的很浅,什么ssh.ssm框架都没有学,最近在自学spring boot,看书学也看不是很懂,就在b站上看教学视频 ...

  7. 使用new新建动态二维数组(多注意)

    #include<iostream> using namespace std; int main() { //设想要建立一个rows行,cols列的矩阵 //使用new进行新建 int r ...

  8. Thinkphp5.0之异常处理

    1.默认异常处理在调试模式下,系统默认展示的错误页面:请输入图片描述 异常处理接管 1.修改config.php 'app_debug' => false,2.在配置文件里添加如下代码 // 异 ...

  9. 浅说——树形DP

    啊!DP! 顾名思义,树形DP就是在树上所做的动态规划.我们一般所做的动态规划多是线性的,线性DP我们可以从前向后或从后向前两种方法,不妨类比一下,在树上我们同样可以有两种方法,从根向树叶或者从树叶向 ...

  10. mysql的数据存储

    # pycharm 连接mysql import pymysql username = input("输入用户名:") pwd = input("输入密码:") ...