2015-04-30 58 views
7

我想創建一個Swift框架並將其導入到我的其他項目。顯然,我想通過使用有問題的框架來分享我的代碼。 我只能在這裏找到一個相關的問題共享swift代碼和維護代碼在一個地方[框架/庫]

Create and import swift framework

,並且似乎沒有產生任何有用的東西,我在互聯網上的一些教程。 因此,這裏是我:

  1. Xcode工程(由 的CocoaPods產生.xcworkspace工作區),那就是應該使用 框架的實際應用。
  2. 「Cocoa Touch Framework」XCode項目,即 框架。

將框架(2)包含到應用程序(1)中的步驟是什麼?

我嘗試使用上面鏈接問題中描述的方法,但在構建時,它說它找不到實際的源文件。

< unknown >:0: error: no such file or directory: '/path/to/project/MyFrameWork/SomeClass.swift'

哪裏/path/to/project/顯然只是一個佔位符...

賞金目標:

Propose a viable option how I could share a set of classes in an efficient way. I need to be able to reuse code from one project easily and be able to maintain this code in one place. It also needs to be compatible with iOS7, so dynamic libraries probably won't do it for me. Any workflow that would allow me to do what I described above will be a winner. Thanks

回答

2

框架,幫助他人着想,這裏是什麼我做了跟進:

由於這樣的事實 - 在寫這篇文章時 - 使用iOS8上約有蘋果用戶使用移動設備的81%,我想我會去CocoaPods路線。 (我提到這是因爲iOS8需要使用動態Swift庫),因爲無論如何,我開始了我的項目,我想,爲什麼不從iOS8開始...

我基本上創建了一個新的庫, (:需要的CocoaPods你的系統上安裝的通知!)

pod lib create <YourLibraryName> 

並相應地更改這是在過程中創建的.podspec文件的內容,這些行。

將您的源代碼添加到爲您的庫創建的文件夾(或者您在.podspec文件中指定的source_folder),並從中創建一個git repo。現在你可以在每個項目中使用這個庫,也可以使用CocoaPods

pod 'YourFrameWork', :git => 'https://path/to/your/repo.git' 

希望它有幫助。

0

我不知道這是答案,但我無論如何都會告訴它。在Xcode中創建框架項目並將其放在github上。然後,你可以創建Carthage

+0

謝謝您的回答穆斯塔法,我真的認爲這樣做......直到我發現,它僅支持iOS8上向上... –

+0

那麼有沒有選項爲你。因爲你不能創建靜態的快速庫。 – mustafa

+0

你確定嗎?我只需要能夠在我的項目之間共享代碼,爲什麼以上帝的名義是如此困難/不可能:(? –

0

Here是我發現的一個很好的教程。

你需要做什麼?

[sudo] gem install cocoapods --pre 

的.podspec文件

Pod::Spec.new do |s| 
    s.name = 'MotionKit' 
    s.version = '0.6' 
    s.license = 'MIT' 
    s.summary = 'CoreMotion Made insanely simple' 
    s.homepage = 'https://github.com/MHaroonBaig/MotionKit' 
    s.social_media_url = 'https://twitter.com/PyBaig' 
    s.authors = { 'Haroon Baig' => '[email protected]' } 
    s.source = { :git => 'https://github.com/MHaroonBaig/MotionKit.git', :tag => s.version } 

    s.ios.deployment_target = '8.0' 

    s.source_files = 'MotionKit/*.swift' 

    s.requires_arc = true 
end 

現在測試新創建的波德

現在是測試你的吊艙,以確保其正常工作的時間。快速將pod文件創建到您的測試項目中並添加以下行。

pod '[s.name]', :git => '[s.source]' 
你的情況

pod 'MotionKit', :git => 'https://github.com/MHaroonBaig/MotionKit.git'