转载请标明来源: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文件进行支持,其中核心部分如下:

    

  



最新文章

  1. JavaScript 操作 Cookie
  2. Android随笔之——Android单元测试
  3. Node Pm2 配置
  4. LINUX 命令定期执行可执行文件
  5. RSA数字证书管理
  6. Java提高篇——equals()方法和“==”运算符
  7. iOS开发网络篇—网络编程基础(二)
  8. [设计模式] JavaScript 之 原型模式 : Object.create 与 prototype
  9. CodeForces_#354_Div.2_2016.5.25(A+B+C)
  10. HDOJ(HDU) 2109 Fighting for HDU(简单排序比较)
  11. Yii 安装
  12. 在ASP.Net中"../" "./" "~/"表示的意思
  13. GPRS的工作原理、主要特点
  14. Effective Java 第三版——25. 将源文件限制为单个顶级类
  15. controller 单元测试
  16. Mysql表的约束设计和关联关系设计
  17. centos删除用户出错userdel: user xxx is currently used by process 23750
  18. Spring整合JDBC实现简单的增删改
  19. NetBeans 启动时出现 Invalid jdkhome specified提示
  20. python学习整理

热门文章

  1. Netty源码分析--创建Channel(三)
  2. Java NIO学习系列二:Channel
  3. tar命令压缩和解压
  4. C++用EGE简单实现别踩白块游戏
  5. Centos7下安装Mysql8.0
  6. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'wher id = 41' at line 1
  7. 找不到 main 方法
  8. mysql远程连接设置
  9. Python浮点数(小数)运算误差的原因和解决办法
  10. Sublime Text 3 安装 BracketHighlighter