2015-12-23 11 views
15

मैं अपने उद्देश्य-सी ऐप में कुछ स्विफ्ट फोड का उपयोग करना चाहता हूं, इसलिए मुझे स्थिर पुस्तकालयों के बजाय ढांचे का उपयोग करने की आवश्यकता है। लेकिन मेरे पॉडफाइल में use_frameworks! को सक्षम करने से #import त्रुटियों का टोन होता है।कोकोपोड्स use_frameworks! आयात समस्या

मेरे Podfile:,

SSKeychain Error

कोड मैं SSKeychain "उद्धरण चिह्न" #import "SSKeychain/SSKeychain.h" का उपयोग भी शामिल कर रहा हूँ में, लेकिन सही है, तो मैं समझता हूँ:

platform :ios, '8.0' 
use_frameworks! 

pod 'AFNetworking', '2.6.0' 
pod 'Typhoon' 
pod 'SSKeychain' 
pod 'JBWebViewController' 
pod 'TTTAttributedLabel' 
pod 'HockeySDK' 
pod 'GoogleAnalytics' 
pod 'Intercom' 
pod 'FBSDKCoreKit' 
pod 'FBSDKLoginKit' 
pod 'UIButton+Activity' 
pod 'HexColors' 
pod 'AFNetworkActivityLogger' 
pod 'HCSStarRatingView', :git => 'https://github.com/hsousa/HCSStarRatingView.git' 
pod 'LGSideMenuController' 
pod 'DateTools' 
pod 'SDWebImage' 
pod 'SSCWhatsAppActivity' 
pod 'UIViewController+BlockSegue' 

पहली समस्या SSKeychain फली के साथ था मुझे #import <SSKeychain/SSKeychain.h> से <angle> का उपयोग करने की आवश्यकता है? लेकिन इस मामले में मुझे एक ही त्रुटि मिलती है, लेकिन मेरे कोड में।

मेरे बिल्ड के चरण:

Build Phases

वैसे भी मैं "उद्धरण" आयात (https://github.com/adamwulf/sskeychain/commit/2b7fd878415e8e4f23f74636cdd8c993466d0749) के साथ SSKeychain का कांटा मिल गया है और उन संस्करण में बदला गया है।

FBSDKCoreKit error

अनुप्रयोग में आयात: #import "FBSDKCoreKit/FBSDKCoreKit.h"

मैं वास्तव में प्रत्येक रेपो और परिवर्तन कांटा करने के लिए की जरूरत है

लेकिन अब मैं कई अन्य फली (लगभग उन सभी के साथ) के साथ एक ही मुद्दा है आयात बयान ?? या मैं गलत तरीके से फली शामिल कर रहा हूँ?

पीएस: मैं प्रत्येक निर्माण प्रयास से पहले व्युत्पन्न डेटा और प्रोजेक्ट की सफाई कर रहा हूं।

Cocoapods संस्करण: 0.39.0

+0

CocoaPods का कौन सा संस्करण उपयोग कर रहे हैं? अंतिम बाला? 0.39.0? –

+0

निकास परियोजना, बाहर निकलें और "पॉड इंस्टॉल" चलाएं – Khuong

+0

@DiegoFreniche मैंने 0.39.0 और नवीनतम मास्टर शाखा से निर्मित संस्करण दोनों की कोशिश की है। – Ponf

उत्तर

9

आप अपने Podfile में Modules का उपयोग किया है के रूप में, क्यों तुम सिर्फ नहीं है:

@import SSKeychain; 

के बजाय:

#import <SSKeychain/SSKeychain.h> 

परीक्षण करने के लिए कि:

  • एक सी mple आईओएस परियोजना, बस के साथ एक ViewController
  • स्थापित
  • कार्यस्थान
  • निर्माण खोलने ऊपर
  • रन फली अपने कोड का उपयोग एक Podfile बनाने & रन: यह संकलित ठीक
+0

जब मैं '# import' के बजाय' @ import' का उपयोग करने का प्रयास कर रहा हूं, मुझे त्रुटि मिलती है कि फ्रेमवर्क नहीं मिला: https://s.mail.ru/GNxY2NAxse12/img-2015-12-23-12-42-25 .png। मुझे लगता है कि यह एक मुख्य समस्या है – Ponf

+0

मैंने एक खाली परियोजना में परीक्षण किया है और यह काम करता है, कृपया यह काम सुनिश्चित करने के लिए एक टेस्ट प्रोजेक्ट बनाएं, फिर नए लक्ष्य के लक्ष्य –

+0

के साथ अपने लक्ष्य की तुलना करें मैंने अंत में इसे समझ लिया है! समस्या ** पुस्तकालयों के साथ लिंक बाइनरी ** से 'Pods.framework' को हटाकर और मैन्युअल रूप से उन्हें फिर से जोड़कर तय की गई थी। आपके सहयोग के लिए धन्यवाद! आप अपना उत्तर संपादित कर सकते हैं और मैं इसे स्वीकार करूंगा :) – Ponf

6

मैं अंत में लगा इससे परे! समस्या Pods.frameworkसे पुस्तकालयों के साथ लिंक बाइनरी और मैन्युअल रूप से उन्हें फिर से जोड़कर हटा दी गई थी।

मदद के लिए धन्यवाद!

+0

यह अजीब बात है, क्या आपने वास्तव में परियोजना के बजाए वर्कस्पेस खोल दिया था? – AncAinu

+1

@AncAinu हाँ, मेरे पास प्रोजेक्ट में 2 लक्ष्य भी हैं और फ्रेमवर्क केवल उनमें से एक के खिलाफ जुड़े हुए थे, इसलिए मुझे ** एम्बेड पॉड फ्रेमवर्क ** मैन्युअल रूप से चरणबद्ध करना था :( – Ponf

+2

अगली बार, यह चलाने के लिए उपयोगी होगा (कोकोपोड्स के सभी निशान हटाने के लिए https://github.com/CocoaPods/cocoapods-deintegrate), फिर 'pod install' फिर से –

0

pod install पर त्रुटि संदेश भी देखें।

मेरे मामले में मैं FRAMEWORK_SEARCH_PATHS में एक कस्टम आयात का उपयोग कर रहा था, और सिर्फ इसलिए कि मैं ऐसा कर रहा था, जब भी मैंने pod install कोकोआपोड जोड़े जोड़े गए अतिरिक्त खोज पथ जोड़े नहीं जा रहे थे। तो मुझे अपना कस्टम पथ हटाना पड़ा और फिर वे दिखाए गए। तब मैंने अपना कस्टम पथ जोड़ा।

pod deintegrate करने के लिए एक अच्छा विचार हो सकता है, डी xcworkspace फ़ाइल को हटाएं और pod install एक बार और करें। फिर अपनी कस्टम बिल्ड सेटिंग्स जोड़ें।

यह त्रुटि मैं हो रही थी है:

[!] The App [Debug] target overrides the FRAMEWORK_SEARCH_PATHS 
build setting defined in Pods/Target Support Files/Pods-AppLib/Pods-AppLib.debug.xcconfig. 
This can lead to problems with the CocoaPods installation 
0

मेरे मामले में, क्या एक मुद्दा मैं पहले से ही तो मेरे उद्देश्य सी परियोजना के लिए कुछ ObjC फलियाँ डाउनलोड किया था मैं एक तेजी से फली की जरूरत है तो मैं में use_framwork सक्षम मेरी पॉड फ़ाइल और उस स्विफ्ट पॉड को स्थापित करें, उस स्विफ्ट पॉड आयात समस्या को स्थापित करने के बाद कई वर्गों में ओबेजेसी पुस्तकालयों के लिए आता है, इसलिए

मैंने इस समस्या को ठीक करने के लिए क्या किया?

  1. कट फली फ़ाइल से सभी उद्देश्य सी फली
  2. ओपन टर्मिनल और रन कमांड: cd path/myProject
  3. टर्मिनल रन कमांड: pod install
  4. यह विगत
  5. (सभी उद्देश्य सी फली) फली फ़ाइल में फिर से और बचाने के यह
  6. टर्मिनल रन कमांड: pod install
संबंधित मुद्दे