我正在尝试通过将其拆分为不同的子项目来模块化我的应用程序。受到这个想法的启发。所以我将我的项目拆分为静态库,然后是那个教程。我用一些服装创建了第一个图书馆UIHelpers/Views
。它有一些我在PodSpec
文件中定义的依赖项,然后是AFNetworking 示例。(依赖项之一是Choosy)。我将此库存储在 bitBucket 中。该库一切正常(我可以在 Xcode 中构建它)。当我创建一个Model
库时,问题就开始了。我UIHelpers
在Model PodFile
. 每次我得到No visible @interface
一个类别Choosy
的错误(错误来自我的项目中的CocoaPod NOT,该类别被导入到.m
文件)。link flags
-ObjC,$(inhereted),-force_load
我试着和他们所有人一起玩。静态库中的 Objective-C 类别我清理了派生数据。我读了CocoaPodTroubleShoutes。
有人可以建议可以尝试什么。关于该编译错误有很多问题,但没有一个对我有帮助。我相信我收到的问题PodSpec
(不能确定) :
我的 PodSec: pod lib linit
- ERROR | [iOS] Choosy/Choosy/Model/ChoosyAppInfo.m:32:19: error: no visible @interface for 'UIImage' declares the selector 'applyMaskImage:completion:'
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