科大讯飞语音功能的集成还是比较简单的,按照文档来,就几步,就是注册麻烦一点。不过没有看到通过cocoapods的方式进行集成的。刚好自己这边也在创建自己的私有cocoapods库,干脆搞一个pod spec自己使用。
私有的Spec Repo
创建一个git repo,这个repo始终存放着最新的文件,我命名为XFRepo
-
在XFRepo的基础上创建pod repo
pod repo add XFRepo https://github.com/xxdzyyh/XFRepo.git
感觉这个pod repo就是git repo的一个镜像,pod repo update就是将git repo的内容同步到pod repo里面
创建Pod Spec
-
首先,创建一个工程,XFVoice,按科大讯飞集成文档将SDK集成进来,能够正常运行就可以了。
注意:科大讯飞的demo里有个DataHelper,在编写pod spec时,注意将它也包含进来。
-
给XFVoice建一个podspec
//创建
pod spec create XFVoice https://github.com/xxdzyyh/XFVoice.git修改这个XFVoice.spec。验证修改可能会返回多次。
Pod::Spec.new do |s| s.name = "XFVoice" s.version = "0.0.2" s.summary = "科大讯飞语音识别" s.description = <<-DESC XF 科大讯飞 语音识别 DESC s.homepage = "http://www.baidu.com" s.license = { :type => "MIT", :file => "FILE_LICENSE" } s.author = { "xxdzyyh" => "xxdzyyh@163.com" } s.platform = :ios, "7.0" s.source = { :git => "https://github.com/xxdzyyh/XFVoice.git", :tag => '0.0.2' } s.source_files = "Src/*.h", "Src/*.m" s.vendored_frameworks = "**/iflyMSC.framework" s.frameworks = "AVFoundation", "SystemConfiguration", "Foundation", "CoreTelephony", "AddressBook" s.library = "z" end
注意 s.library = "z",SDK中需要使用libz.tbd,但是写的时候,不需要lib前缀和后缀。
//验证 pod spec lint XFVoice.podspec --verbose
假死--verbose,可以看到详细信息,知道哪里出错了。
原来的项目里,pod spec更新可能比较频繁,大家都不作验证,事实上,也验证不过去。现在的话,项目规模不大,还是都验证一下。
使用
platform :ios,'7.0'
source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/xxdzyyh/XFRepo.git'
# ignore all warnings from all pods
inhibit_all_warnings!
target "XFVoiceTest" do
pod 'XFVoice'
end