2017-02-09 6 views
5

मैं एक ऐप में मंदिर 8 नामक एक इन-हाउस कोकोपॉड का उपयोग कर रहा हूं जिसे मैं बना रहा हूं। यहाँ मेरी Podfile है:यूनिट टेस्ट में कोकोपॉड का उपयोग करने में असमर्थ

platform :ios, '9.0' 

def temple8 
    pod 'j2objc-temple8-debug', :configuration => ['Debug'], :path => '../temple8/build/j2objcOutputs' 
    pod 'j2objc-temple8-release', :configuration => ['Release'], :path => '../temple8/build/j2objcOutputs' 
end 

target 'cartful-ios' do 
    use_frameworks! 

    temple8 

    pod 'Stripe' 
    pod 'Alamofire', '~> 4.0' 
    pod 'FontAwesomeKit', :git => 'https://github.com/PrideChung/FontAwesomeKit.git' 
    pod 'KeychainAccess' 
    pod 'pop', '~> 1.0' 
    pod 'libPhoneNumber-iOS', '~> 0.8' 
    pod 'AsyncDisplayKit', :git => 'https://github.com/facebook/AsyncDisplayKit.git' 
    pod 'Intercom' 
    pod 'Mixpanel-swift' 
    pod 'UICountingLabel' 
    pod 'DTFoundation' 

    target 'cartful-iosTests' do 
    inherit! :search_paths 
    temple8 
    end 

    target 'cartful-iosUITests' do 
    inherit! :search_paths 
    temple8 
    end 

end 

post_install do |installer| 
    installer.pods_project.targets.each do |target| 
     target.build_configurations.each do |config| 
      config.build_settings['SWIFT_VERSION'] = '3.0' 
     end 
    end 
end 

मैं अपने परीक्षण में temple8 के कुछ हिस्सों को संदर्भित करने की जरूरत है जिसके कारण मैं इसे दोनों परीक्षण लक्ष्यों में शामिल किया है। लेकिन तब जब मैं अपने परीक्षण के किसी भी चलाने के लिए, मैं त्रुटियों की एक लंबी सूची इस तरह मिलती है:

ObjC [83,693]: कक्षा PLBuildVersion दोनों /Applications/Xcode.app/Contents/Developer/Platforms में कार्यान्वित किया जाता /iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/AssetsLibraryServices.framework/AssetsLibraryServices (0x112334998) और /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs /iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/PhotoLibraryServices (0x112156880)। इन दोनों में से कोई एक प्रयोग किया जाएगा। कौन सा अपरिभाषित है।

मैंने शुरू में सोचा था कि कक्षाओं के दोहराव परीक्षण लक्ष्यों और ऐप के लक्ष्य दोनों में मंदिर 8 सहित थे। लेकिन अगर मैं परीक्षण लक्ष्य से temple8 निकालने के लिए, किसी भी समय मैं अपने परीक्षण में @testable import ... इस्तेमाल करने की कोशिश, मैं एक

Failed to import bridging header... 

निर्माण त्रुटि मिलती है। इसका मतलब है कि ऐप के ब्रिजिंग हेडर में मंदिर 8 हेडर फाइलें परीक्षणों से नहीं मिल सकती हैं। तो मुझे यकीन नहीं है कि सबसे अच्छा तरीका यहां क्या है।

उत्तर

3

जहां तक ​​मुझे पता है कि चेतावनी ऐसा कुछ नहीं है जो आपने किया था। मुझे लगता है कि मैंने कुछ अन्य लोगों को एक ही मुद्दा देखा है और जहां तक ​​मैं कह सकता हूं कि यह ऐप्पल से नवीनतम एसडीके में एक समस्या है। मैं कहता हूं कि आप इसे अभी सुरक्षित रूप से अनदेखा कर सकते हैं। यहाँ कुछ यही समस्याएं आ रही लोग हैं:

चेक इस answer अधिक जानकारी प्राप्त करने के लिए।

+0

वैसे यह लगता है जैसे मैं ' एम यूनिट परीक्षण लिखने से मना कर दिया जब तक कि ऐप्पल इस समस्या को हल नहीं करता। एक अच्छी स्थिति नहीं है ... शुक्र है कि ऐप का अधिकांश तर्क मंदिर 8 में ही है, जिसका अच्छी तरह से परीक्षण किया जाता है। – AdColvin

1

मुझे नहीं लगता कि आपको अपने परीक्षण लक्ष्यों के अंदर temple8 की आवश्यकता होगी - यह केवल परीक्षण के लिए पुस्तकालय होना चाहिए: यहां example है।

+0

यदि मैं परीक्षण लक्ष्यों से मंदिर 8 को हटाता हूं, तो जब भी मैं अपने ऐप को '@टेस्टेबल आयात' का उपयोग करके एक परीक्षण में आयात करने का प्रयास करता हूं, तो मुझे लगता है कि 'ब्रिजिंग हेडर आयात करने में विफल' बिल्ड त्रुटि – AdColvin

संबंधित मुद्दे