2015-05-31 2 views
3

Xcode 6.3.2 CocoaPods 0.37.2 KissXML 5,0Проблема с CocoaPods 0.37.2 и KissXML 5,0

У меня трудное время получить KissXML собрать как стручок после обновления от CocoaPods 0.35.0.

Я получаю тонну ошибок, как это:

Error:(2, 9) 'libxml/tree.h' file not found with include; use "quotes" instead

У меня есть и проект Mac и IOS, которые разделяют код, и они оба не в состоянии точно так же. Если я переустановить 0.35.0, они будут построены просто отлично.

Следует отметить, что у меня есть подкласс DDXMLDocument, определенный в моем приложении, а также категория в DDXMLElement.

Я попытался создать небольшой проект, который демонстрирует проблему, но не смог создать тот, который терпит неудачу таким же образом, поэтому он должен быть чем-то уникальным для моего проекта.

У кого-нибудь есть идеи, где искать?

Брюс

source 'https://github.com/CocoaPods/Specs.git' 
platform :ios, "7.1" 
inhibit_all_warnings! 
pod 'BButton' 
pod 'CocoaAsyncSocket' 
pod 'CocoaLumberjack' 
pod 'CSNotificationView' 
pod 'Dropbox-iOS-SDK' 
pod 'HockeySDK' 
pod 'KissXML' 
pod 'MBProgressHUD' 
pod 'MMMarkdown' 
pod 'Reachability' 
pod 'Reveal-iOS-SDK', :configurations => ['Debug'] 
pod 'SWRevealViewController' 
pod 'UIDevice-Hardware' 
+0

Какой у вас подфайл? Поскольку 0.36.0 CocoaPods требует явно указанного источника в подфайле. См. Здесь http: // stackoverflow.com/questions/29034126/cocoapods-private-able-to-find-specification/29034994 # 29034994 –

+0

Не боюсь, проблема. Отредактировано для включения подфайла. – bvanderw

+1

Где вы импортируете файл интерфейса? кажется, вы импортируете его не так. –

ответ

0

Ни один из ответов были правильны и необходимы, но спасибо за ответы.

Оказывается, проблема заключалась в том, что рекурсивная ссылка на папку Pods была добавлена ​​либо к проекту, либо к цели USER_HEADER_SEARCH_PATHS.

Я подумал, что это был артефакт из старой версии CocoaPods ... до тех пор, пока AppCode почти не заставил меня снова его добавить.

+1

Могу ли я предложить вам перефразировать ваш вопрос? Рекурсивный 'USER_HEADER_SEARCH_PATHS' никак не связан с' CocoaPods' или 'KissXML'. В некоторой степени упоминание этих двух технологий наряду с вашим ** поврежденным проектом ** может быть * вредным * и * вводить в заблуждение *. – SwiftArchitect

0

Используя этот Podfile:

source 'https://github.com/CocoaPods/Specs.git' 
platform :ios, "7.1" 

target 'KissXML' do 
pod 'BButton' 
pod 'CocoaAsyncSocket' 
pod 'CocoaLumberjack' 
pod 'CSNotificationView' 
pod 'Dropbox-iOS-SDK' 
pod 'HockeySDK' 
pod 'KissXML' 
pod 'MBProgressHUD' 
pod 'MMMarkdown' 
pod 'Reachability' 
pod 'Reveal-iOS-SDK', :configurations => ['Debug'] 
pod 'SWRevealViewController' 
pod 'UIDevice-Hardware' 
end 

Успех с этими Бобы:

Installing BButton (4.0.2) 
Installing CSNotificationView (0.5.4) 
Installing CocoaAsyncSocket (7.4.1) 
Installing CocoaLumberjack (2.0.1) 
Installing Dropbox-iOS-SDK (1.3.13) 
Installing HockeySDK (3.7.1) 
Installing KissXML (5.0) 
Installing MBProgressHUD (0.9.1) 
Installing MMMarkdown (0.4.3) 
Installing Reachability (3.2) 
Installing Reveal-iOS-SDK (1.5.1) 
Installing SWRevealViewController (2.3.0) 
Installing UIDevice-Hardware (0.1.5) 

с добавлением этого Bridging-Header.h

#import "DDXML.h" 

... Я успешно может создать, связь, строительство и запустить DDXMLDocumentSubclass в Swift:

import UIKit 

class DDXMLDocumentSubclass: DDXMLDocument { 
    // ... 
} 

... и категории в Obj-C:

// DDXMLElement+Convenience.h 
#import "DDXMLElement.h" 
@interface DDXMLElement(Convenience) 
    // ... 
@end 
+0

Я поддерживаю этот ответ: наличие «USER_HEADER_SEARCH_PATHS» ** не является допустимым ответом ** на «Проблема с CocoaPods 0.37.2 и KissXML 5.0». Это ответ на ** Мой проект не строится, потому что я сломал его **. Создание чистого проекта с чистым набором Pods решит это и всевозможные другие повреждения проекта Xcode. – SwiftArchitect

1

Вы должны добавить -lxml2 в OTHER_LD_FLAG в настройку целевой сборки, а также добавляет $(SDKROOT)/usr/include/libxml2 к цели HEADER_SEARCH_PATHS.

Чистый & строить снова, он должен работать