Нет видимого @interface в Cocaopods
Я пытаюсь модулировать свое приложение, разделяя его на различные подпроекты. Вдохновлен этой идеей. Поэтому я разделил свой проект на статические библиотеки, после чего последовал этот урок. Я создал первую библиотеку с каким-то костюмом UIHelpers/Views
, У него есть некоторые зависимости, которые я определил в PodSpec
файл, сопровождаемый примером AFNetworking. (одна из зависимостей - Choosy). Я хранил эту библиотеку в bitBucket. Все отлично работает для этой библиотеки (я могу построить ее в Xcode). Проблема начинается, когда я создаю Model
Библиотека. Я указываю Git путь UIHelpers
в Model PodFile
, Каждый раз, когда я получаю ошибку No visible @interface
для категории в Choosy
(ошибка приходит от CocaoPod НЕ в моем проекте, категория импортируется в .m
файл). Я пытался играть с link flags
-ObjC,$(inhereted),-force_load
включены все из них. Категории Objective-C в статической библиотеке Я очистил полученные данные. Я прочитал CocaoPodTroubleShoutes.
Может кто-нибудь подсказать, что можно попробовать. Есть много вопросов в отношении этой ошибки компиляции, но ни один из них не помог мне. Я считаю, что проблема где-то в моем PodSpec
(не могу быть уверен) pod lib linit
Я получил:- ERROR | [iOS] Choosy/Choosy/Model/ChoosyAppInfo.m:32:19: error: no visible @interface for 'UIImage' declares the selector 'applyMaskImage:completion:'
Мой PodSec:
Pod::Spec.new do |s|
#I tried this options:
#s.xcconfig = { 'OTHER_LDFLAGS' => $(inherited) }
#s.compiler_flags = '-ObjC'
#'-all_load'
#$(inherited)
#'-DOS_OBJECT_USE_OBJC=0', '-Wno-format'
#'-force_load'
s.prefix_header_contents = '#import <UIKit/UIKit.h>', '#import <Foundation/Foundation.h>','#import <CoreGraphics/CoreGraphics.h>','#import "ARNStyles.h"'
s.description = <<-DESC
A longer description of ARNUIHelpers in Markdown format.
DESC
s.homepage = "http://EXAMPLE/ARNUIHelpers"
s.platform = :ios, "7.0"
s.ios.deployment_target = "7.0"
s.source_files = 'UIHelpers/**/*.{h,m}'
s.requires_arc = true
s.subspec 'Choosy' do |ss|
ss.requires_arc = true
ss.compiler_flags = '-force_load'
ss.platform = :ios, "7.0"
ss.dependency 'Choosy'
# ss.xcconfig = { "FRAMEWORK_SEARCH_PATHS" => "$(PODS_ROOT)/Headers/Public/Choosy"}
# ss.ios.public_header_files = 'UIImage+ImageEffects.h'
end
s.subspec 'Dependencies' do |ss|
#ss.ios.public_header_files = 'UIImage+ImageEffects.h'
ss.requires_arc = true
ss.dependency 'FormatterKit'
end
end
1 ответ
В конце концов, это была моя вина. Предыдущий разработчик скопировал эти файлы из Choosy
и включил его вручную. Мы все еще используем Choosy
в других местах. К сожалению, ошибка не была достаточно ясной, чтобы понять, что было не так.