मैं जबकि CocoaPods मॉड्यूल तेजी से संकलित मेरे iOS एप्लिकेशन के मुख्य मॉड्यूल स्विफ्ट 4.0 संकलित करने के लिए चाहते हैं 3.स्विफ्ट 3 में पॉड्स का उपयोग करके स्विफ्ट 4.0 के साथ एक एक्सकोड 9 प्रोजेक्ट कैसे बनाया जाए?
पुनश्च: Xcode 9 का उपयोग बीटा 2.
मैं जबकि CocoaPods मॉड्यूल तेजी से संकलित मेरे iOS एप्लिकेशन के मुख्य मॉड्यूल स्विफ्ट 4.0 संकलित करने के लिए चाहते हैं 3.स्विफ्ट 3 में पॉड्स का उपयोग करके स्विफ्ट 4.0 के साथ एक एक्सकोड 9 प्रोजेक्ट कैसे बनाया जाए?
पुनश्च: Xcode 9 का उपयोग बीटा 2.
अंत में मैं यह काम करने के लिए मिल गया में कर रहा हूँ है:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.2'
end
end
end
0123: सभी मैं करना था Podfile के अंत में इस स्क्रिप्ट डाल करने के लिए था
सेट स्विफ्ट 4.0 उस ढांचे को छोड़कर सभी लक्ष्यों के लिए जो स्विफ्ट होना चाहिए 3.2
यह क्या मैं वर्तमान में एक परियोजना
आप कुछ स्विफ्ट 4 में लिखा फली उपयोग कर रहे हैं, लेकिन कुछ स्विफ्ट 3.2 कर रहे हैं, यहाँ जिस तरह से आप उनके लिए SWIFT_VERSION मान निर्दिष्ट कर सकते है:
swift_32 = ['Pod1', 'Pod2', 'Pod3'] # if these pods are in Swift 3.2
swift4 = ['Pod4', 'Pod5', 'Pod6'] # if these pods are in Swift 4
post_install do |installer|
installer.pods_project.targets.each do |target|
swift_version = nil
if swift_32.include?(target.name)
swift_version = '3.2'
end
if swift4.include?(target.name)
swift_version = '4.0'
end
if swift_version
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = swift_version
end
end
end
end
यह स्वीकार्य उत्तर होना चाहिए, क्योंकि यह संशोधन के लिए अनुमति देता है क्योंकि पुस्तकालयों को स्विफ्ट 4 में अपडेट किया जाता है। – MandisaW
परियोजना नेविगेटर> चुनें 'फलियाँ'> चुनें स्विफ्ट 3.2 पॉड> 'सेटिंग्स बनाएं'> नीचे स्क्रॉल करें और फिर स्विफ्ट भाषा संस्करण को स्विफ्ट कंपाइलर - भाषा अनुभाग 'में 3.2 पर सेट करें।
ऐसा करने पर, एक्सकोड एक बिल्डटाइम समस्या दिखाएगा। यह आपको फोड के स्रोत कोड को स्विफ्ट 4 में बदलने के लिए कहेंगे। ऐसा मत करो। उस समस्या पर क्लिक करें> 'मुझे याद दिलाएं' अनचेक करें> 'बाद में कनवर्ट करें' पर क्लिक करें।
परियोजना नेविगेटर
बिल्ड सेटिंग
अब तक का सबसे आसान उत्तर (वाई) –
मुझे यह जवाब पसंद है, यो माँ – fullMoon
यहाँ फली आप 3.2 की जरूरत है की स्थापना की और 4.0
पर सभी दूसरों को छोड़ने के लिए एक अब तक कम वर्बोज़ तरीका हैpost_install do |installer|
installer.pods_project.targets.each do |target|
if ['AirMapSDK', 'PhoneNumberKit', 'Lock', 'RxSwift', 'RxSwiftExt', 'RxCocoa', 'RxDataSources', 'ProtocolBuffers-Swift'].include? target.name
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.2'
end
end
end
end
जे अगर कथन में सरणी को संशोधित करें। बाकी सब कुछ 4.0
मेरे साथ भी काम करेगा। लेकिन आपको प्रभावी होने के लिए हर बार निर्माण करने की आवश्यकता है और त्रुटि संदेश चलेगा। –