2

我正在尝试通过将其拆分为不同的子项目来模块化我的应用程序。受到这个想法的启发。所以我将我的项目拆分为静态库,然后是那个教程。我用一些服装创建了第一个图书馆UIHelpers/Views。它有一些我在PodSpec文件中定义的依赖项,然后是AFNetworking 示例。(依赖项之一是Choosy)。我将此库存储在 bitBucket 中。该库一切正常(我可以在 Xcode 中构建它)。当我创建一个Model库时,问题就开始了。我UIHelpersModel 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
4

1 回答 1

0

最后是我的错。Choosy之前的开发者从pod中复制了这些文件并手动包含它。我们仍然Choosy在其他地方使用。不幸的是,错误不够清楚,无法推断出什么是错误的。

于 2015-03-27T10:48:01.723 回答