2016-01-17 1 views
3

Этого вопроса в отношении podspec с базой поставщиков и use_frameworks! в pod fileКак правильно создать какао стручок спецификацию для рамок поставщика

Я создал Podspec для моей структуры (которая содержит swift и obj-c код). Вышеупомянутый pod spec предназначен для vendor framework (т. Е. Закрытый источник), который уже скомпилирован как iOS embedded framework, который сам содержит быстрый и объективный код («смешанный проект»).

Каркас имеет заголовок зонтика и определяет module и работает, как и ожидалось, при встраивании непосредственно в проект (вручную без стручков, Drag-и падение в проект) и используя синтаксис хостинга приложения:

#import <MyFramework/Myframework.h>

заголовок рамки имеет стандартные линии:

//! Project version number for MyFramework. 
FOUNDATION_EXPORT double MyFrameworkVersionNumber; 

//! Project version string for MyFramework. 
FOUNDATION_EXPORT const unsigned char MyFrameworkVersionString[]; 

// In this header, you should import all the public headers of your framework using statements like #import <MyFramework/PublicHeader.h> 
#import <MyFramework/Header_one.h> 
#import <MyFramework/Header_two.h> 
... etc. 

соответствующий стручок-спецификации, что я пытаюсь (и многие ком там из Гиббса, ...)

Pod::Spec.new do |s| 
    s.name   = "MyFramework" 
    s.version  = "1.0.0" 
    s.summary  = "MyFramework SDK." 
    s.description = "Some sort of long description of the pod" 
    s.homepage  = "http://MyFramework.com/" 
    s.license  = { :type => "Commercial", :text => "MyFramework Copyright 2015 ...." } 
    s.author  = { "Avner Barr" => "[email protected]" } 
    s.platform  = :ios, "8.0" 
    s.source  = { :http => "http://somewhere_over_the_rainbow/MyFramework.zip" } 
    s.public_header_files = "MyFramework.framework/Headers/*.h" 
    s.module_map = "MyFramework.framework/Modules/module.modulemap" 
    s.preserve_paths = "InsertFramework.framework/*" 
    s.vendored_frameworks = "MyFramework.framework" 
    s.requires_arc = true 
end 

В стручок файле хоста приложения:

source '.../.../MyPrivateTestingPodSpecRepo.git' 
use_frameworks! 
target 'TestPSpec1' do 
pod 'MyFramework' 
end 

загружает стручка и создает рабочее пространство, как ожидалось, но в быстром коде при попытке сделать:

import MyFramework

Я получаю ошибку:

Include of non-modular header inside framework module 'MyFramework'

С «красной» ошибкой в ​​заголовке объектива-c (синтаксис <>).

т.е.

MyFramework.h 
#import <MyFramework/Header_one.h> Include of non-modular header inside framework module 'MyFramework' 

ответ

0

Попытайтесь идти в корень директории вашего проекта, где podfile находится в терминале, затем введите «стручок установки» и нажмите клавишу ВВОД. Если он все еще не работает, попробуйте ввести «pod uodate»