Этого вопроса в отношении 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'