2017-01-02 91 views
1

目前我的框架(myFramework.framework)通过cocoapods可用。我将它的源代码公开,但面临一些问题。通过.podspec文件创建.framework

我刚才提到以下链接:

  1. CocoaPod/Podspec and *.framework
  2. https://guides.cocoapods.org/making/using-pod-lib-create.html
  3. http://blog.cocoapods.org/Pod-Authors-Guide-to-CocoaPods-Frameworks/

我怎样才能创建podspec文件.framework(不是库)? 甚至我能够从podspec创建库。但我想制作myFramework.framework文件。

这里是podspec文件:

Pod::Spec.new do |s| 
s.name    = 'myFramework' 
s.version   = '1.0.0' 
s.summary   = 'Product summary will go here' 

s.description  = <<-DESC 
Product description goes here. It can be anything which describes your product in few lines. 
DESC 

s.homepage   = 'homepage link' 
s.license   = { :type => 'Commercial',:text => 'Link to website'} 
s.author   = { 'abcd' => 'email address' } 
s.source   = {:path => ':path => ‘local_path/framework-folder'} 
s.social_media_url = 'social_media_url' 

s.ios.deployment_target = '7.0' 

s.source_files = 'framework-folder/inner-folder/*.h' 
s.public_header_files = 'framework-folder/inner-folder/*.h' 

s.frameworks = 'CoreGraphics', 'MobileCoreServices', 'Security', 'SystemConfiguration' 
s.pod_target_xcconfig = { 'OTHER_LDFLAGS' => '-lObjC' } 

end 

目前我在本地测试框架。

use_frameworks! 

target 'podDemo' do 

pod 'myFramework', :path => ‘~folder_path/myFramework.podspec’ 
end 

pod install结果是这样的:

folder structure in pod project

但我想补充.framework这样的:

framework

回答

0

podspec没有规定如何库将被构建 - 静态或动态。图书馆用户有责任指定如何构建它 - 即在其Podfile中。

默认情况下,Cocoapods建立静态库,如果你需要一个框架,那么你可以在你的Podfile中指定use_frameworks!

关于项目导航器中的头文件存在,这是预期的行为,因为如果希望将头文件包含在构建的框架中,则需要在某处引用头文件。如果你去建立目录,你应该能够找到框架。

+0

谢谢@Cristik。目前我正在使用'pod'myFramework',:path =>''folder_path/myFramework.podspec''在本地测试它,我添加了'use_frameworks!'在podfile中,它仍然给我头文件夹里面的文件夹结构,我认为它必须使'myFramework.framework'。所以困惑怎么办? –

+0

@PriyankaMistry哪个文件夹结构?你指的是构建位置?还有,是框架没有被构建? – Cristik

+0

Hi @Cristik,我已经更新了我的问题 –