Cordova-iOS SDK封装
Posted tony-17
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cordova-iOS SDK封装相关的知识,希望对你有一定的参考价值。
转载请标明来源:https://www.cnblogs.com/tony-17/p/11276027.html
源码编译与制作静态库
- 下载cordova-ios源码,下载地址为:cordova-ios
- 解压后使用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封装的主要内容,如果未能解决你的问题,请参考以下文章
Cordova-ios 6.1.0 如何使用 WKURLSchemeHandler
如何在 Visual Studio 2015 Cordova 项目中更新 cordova-ios 版本?
Cordova 6.0.0 iOS 本地化与 cordova-ios@4.0 和 Xcode 7.2.1
使用 nodejs 8、angularjs、ionic3、cordova8 更新 cordova-android 6 到 9、cordova-ios 5 到 6
如何在 cordova-ios 6.1.0 中实现原生 WKURLSchemeHandler
VS2017 Cordova 构建错误 Remotebuild 要求您的项目使用带有 XCode 8.3 的 cordova-ios 4.3.0 或更高版本