2015-02-18 20 views
6

Nesne-C'de yazılmış üçüncü taraf kitaplıklarını (burada Restkit'te) içeren kakao bölmelerinin oluşturduğu ortam içinde yeniden kullanılabilir kodu olan hızlı bir modül (Cocoa Touch Framework) oluşturmaya çalışıyorum. . Maalesef, Restkit'i oluşturduğum modülde kullanamıyorum. Uygulamasında Projem, Göm: Kakao Dokunmatik Çerçeve, Dil:: Swift, Proje ProjemHızlı modülde bağımlılığı kullanma (çerçeve)

  • yılında -> Yeni hedef

    1. Dosya: Burada

      Ben modül oluşturmak için yaptığı şey "Konfigürasyonlar" bölümündeki proje ayarlarının "Bilgi" sekmesi Yeni oluşturulan hedefim için Pods.debug ve Pods.release xcconfig dosyasını tanımlarım.

      alma <RestKit/RestKit.h>

    Sonuç: Xcode benim için otomatik olarak oluşturulan başlık dosyasında,

  • , networkModule.h, ben aşağıdaki satırı eklediğinizde derlemeyi denerim "Hatayı" modulü olmayan bir üstbilginin içerdiği framework modülü 'networkModule' içerme "

    Yapı ayarlarında" Çerçeve Modüllerinde Modüler Olmayan İçeriği Kullanmasına İzin Ver "işaretini YES olarak ayarladım Proje Hedefi ve Modül/Çerçeve hedefi için.

    Kakao pod projesine gittim ve RestKit.h Üstbilgi dosyasının görünürlüğünü hedef üyeliğinde "Ortak" olarak ayarlamayı denedim (tabii ki kakao bakla ortamı ile karıştırmak için iyi bir çözüm değil)

    Derleyemiyorum. Ben hala aynı hatayı alıyorum.

    Kakao pod yönetilen çerçeveye bağımlılığı olan bir Kakao Dokunmatik Çerçeve oluşturmak mümkün mü?

    B

    Btw. Özel bir kakao podu oluşturma konusundaki ilk düşüncem de desteklenmediği için işe yaramadı çünkü her ne kadar hızlı bir şekilde destek için kakao podlarının 0.36 prerelitesini kullanıyorum.

  • +0

    Bu, http://stackoverflow.com/questions/24876936/obj-c-cocoapods-swift-framework sayfasının bir kopyasıdır. – bonebox

    +0

    @alex da franca sorununuzu çözdünüz mü? Ben aynı sorunu yaşıyorum ve problem artık RESTKit kullanmıyorum ;-) ... uzakta daha birkaç ayar tweaks sonra (veya bir Xcode güncellemesi o kadar gitti –

    +0

    aradığım gibi ben bir çözüm bulamıyor "daha hızlı" bir çözüm. Yine de, POD'lara bağlı olan ve çalışmasını sağlayan gömülü çerçeveleri kullanmaktayım, ancak değişimin tam olarak başarıya yol açtığını söylemek zor. –

    cevap

    0

    Kazanılan özel Pod'unuzu yapabilmeniz gerekir. Sadece bunun için bir podspec yapmalısın. İşte bir örneği.

    Pod::Spec.new do |s| 
        s.name   = "Commons" 
        s.version  = "1.0.0" 
        s.summary  = "Common code for my iOS projects." 
        s.license  = {:type => 'Commercial', :text => "Copyright (c) Dan Leonard(Or Your Name?). All rights reserved." } 
        s.source  = { :git => "https://github.com/PATHTOPOD", :tag => 
        s.version.to_s } 
        s.homepage  = "https://github.com/PATHTOPOD" 
        s.requires_arc = true 
    
        s.ios.deployment_target = '9.0' 
    
        s.subspec 'Core' do |ss| 
        ss.source_files = '*.swift' 
        end 
    
        s.subspec 'Menu' do |ss| 
        ss.source_files = 'Menu/*.swift' 
        ss.resources = ['Menu/*.storyboard', 'Menu/*.xcassets'] 
        ss.dependency 'Alamofire' 
        end 
    end 
    

    Sonra proje içinde sadece dışarı yorum kez ikinci belirtilmektedir yeni oluşturulan senin podfile açmak ve bu örnekte Podfile Commons Şimdi bu

    source 'https://github.com/CocoaPods/Specs.git' 
    xcodeproj 'YOURPROJECT.xcodeproj' 
    platform :ios, '9.0' 
    use_frameworks! 
    
    pod 'Commons', git: 'https://github.com/PATHTOPODPROJECT' 
    #pod 'Commons', :path => '/Users/YourUser/Path/To/Project/commons' 
    
    pod 'KeychainSwift' 
    pod 'SQLite.swift', git: 'https://github.com/stephencelis/SQLite.swift.git' 
    

    eklemek pod init yapmak zorundayız. Bunu uncomment ve ilk dışarı yorumlamak sonra o zaman terminalinden projeler klasöründe pod install yapın. Bu yerel bir kapsül olan bir DevelopmentPod yapacak. Bu şekilde, Xcode'un içinde yerel olarak bölmede değişiklikler yapabilirsiniz. Her değişiklik yaptığınızda anahtarlama ve kapsül takma yok.

    Sen koyarak da diğerleri gibi pod ithal edecek

    import Commons sen Swift değil Objective C böyle yaparız değil #import <Commons/Commons.h>

    çalışan bir sürüme sahip kez göbeği ve noktayı git için bunu taahhüt projenin github versiyonuna.

    Bu yardımcı olur umarım.

    +0

    Teşekkürler, ama sorun biraz daha sonra çalışmış olan kendi POD'unu yaratmak değildi ve sanırım bu bir cocoapods-issue sürümüydi, o zamanlar (bir yıl önce) Lütfen, yukarıdaki soruya verilen yorumları okuyunuz, kendi problemini oluşturmayan, ancak birbirlerine göre POD'lara sahip olan ilk problemin, kakao kapsülleri için bir güncelleme ile çözüldüğünü. –