2015-04-25 2 views
1

Я пытаюсь создать стручок с Swift, но я не могу заставить его работать над проектом Swift.Как сделать стручок с Swift

создать очень простой Свифт добавочных

import UIKit 

public extension UIView { 
    public func sw_foo() { 
     println("bar") 
    } 
} 

И Podfile

source 'https://github.com/CocoaPods/Specs.git' 

use_frameworks! 

pod "TestSwift", :path => "../" 

В проекте Objective-C Я могу импортировать #import <TestSwift/TestSwift-Swift.h> и метод использования [self.view sw_foo];

Но в Swift проекта я могу» t, когда я командую + щелчок в заголовке import TestSwift

я не могу видеть мой метод, даже я заявляю, что общественное

import TestSwift 
import UIKit 


var TestSwiftVersionNumber: Double 

Это очень простой класс, я не знаю, что я делаю неправильно.

Пробовал на стручок 0.36.3 и 0.36.4

Вот мой проект: https://www.dropbox.com/s/h6yyq8207iajlsv/TestSwift.zip?dl=0

и podspec

Pod::Spec.new do |s| 
    s.name    = "TestSwift" 
    s.version   = "0.1.0" 
    s.summary   = "A short description of TestSwift." 
    s.description  = <<-DESC 
         An optional longer description of TestSwift 

         * Markdown format. 
         * Don't worry about the indent, we strip it! 
         DESC 
    s.homepage   = "https://github.com/<GITHUB_USERNAME>/TestSwift" 
    # s.screenshots  = "www.example.com/screenshots_1", "www.example.com/screenshots_2" 
    s.license   = 'MIT' 
    s.author   = { "Sarun Wongpatcharapakorn" => "[email protected]gmail.com" } 
    s.source   = { :git => "https://github.com/<GITHUB_USERNAME>/TestSwift.git", :tag => s.version.to_s } 
    # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>' 

    s.platform  = :ios, '7.0' 
    s.requires_arc = true 

    s.source_files = 'Pod/Classes/**/*' 
    s.resource_bundles = { 
    'TestSwift' => ['Pod/Assets/*.png'] 
    } 

    # s.public_header_files = 'Pod/Classes/**/*.h' 
    s.frameworks = 'UIKit' 
    # s.dependency 'AFNetworking', '~> 2.3' 
end 
+0

ли вы создать стручок спецификацию для 'TestSwift'? Если да, пожалуйста, покажите это. В противном случае вам нужно создать его. Спецификация pod определяет исходные файлы, зависимости и т. Д. Для контейнера. –

+0

Вопрос кажется немного неправильным, вы сделали стручок в Свифт, но вы не можете его использовать или что? –

+0

@ JRG-Developer добавить podspec в сообщение вместе с образцом кода – sarunw

ответ

0

Я, наконец, нашел проблему, мой образец проекта имеет то же имя с моим pod TestSwift. После изменения название проекта все работает нормально.

1

Кажется, что файл не отображается для вашего проекта.
Если это .swift файл, а не .framework, попробуйте добавить файл в
Строительства фаз -> Источники Compile

Он должен выглядеть следующим образом:

enter image description here

условие, что вы сделали все правый - правильный файл подпесек, ect - и ваша структура проекта выглядит так:

enter image description here

+0

Вот мой примерный проект, не могли бы вы проверить, что я делаю неправильно? https://www.dropbox.com/s/h6yyq8207iajlsv/TestSwift.zip?dl=0 – sarunw

1

Моего вопрос был связана с расширениями, не будучи 'общественными'

Так что мои файлы пошли от

extension UIView { 
    //methods 
} 

в

public extension UIView { 
    //methods 
} 
Смежные вопросы