আমি সবেমাত্র এক্সকোডের মধ্যে একটি নতুন সুইফ্ট প্রকল্প তৈরি করেছি। আমি ভাবছি যে এটি সুইফটের কোন সংস্করণ ব্যবহার করছে?
এক্সকোড বা টার্মিনালে আমি কীভাবে দেখতে পাব যে আমি আমার প্রকল্পের অভ্যন্তরে সুইফটের কোন সংস্করণ ব্যবহার করছি?
আমি সবেমাত্র এক্সকোডের মধ্যে একটি নতুন সুইফ্ট প্রকল্প তৈরি করেছি। আমি ভাবছি যে এটি সুইফটের কোন সংস্করণ ব্যবহার করছে?
এক্সকোড বা টার্মিনালে আমি কীভাবে দেখতে পাব যে আমি আমার প্রকল্পের অভ্যন্তরে সুইফটের কোন সংস্করণ ব্যবহার করছি?
উত্তর:
প্রজেক্ট বিল্ড সেটিংসে 'সুইফ্ট সংকলক - ভাষা' ব্লক রয়েছে, যা কী-মান বিন্যাসে সুইফট ভাষা সংস্করণ সম্পর্কিত তথ্য সঞ্চয় করে। এটি আপনাকে আপনার এক্সকোডের জন্য সমস্ত উপলব্ধ (সমর্থিত) সুইফট ভাষা সংস্করণ এবং সক্রিয় সংস্করণটিকেও টিক চিহ্নের সাহায্যে প্রদর্শন করবে।
প্রকল্প ► (আপনার প্রকল্পের লক্ষ্য নির্বাচন করুন) Settings সেটিংস তৈরি করুন the (অনুসন্ধান বারে 'swift_version' টাইপ করুন) সুইফ্ট সংকলক ভাষা ► সুইফট ভাষা সংস্করণ it ভাষা খোলার জন্য এটি ক্লিক করুন (এবং তালিকার যে কোনও একটিতে টিক চিহ্ন থাকবে) -item, এটি বর্তমান সুইফ্ট সংস্করণ হবে)।
সহজে বোঝার জন্য এই স্ন্যাপশটটি দেখুন:
কোড অনুসরণ করার সহায়তায়, প্রোগ্রামিকভাবে আপনি আপনার প্রকল্প দ্বারা সমর্থিত সুইফ্ট সংস্করণটি খুঁজে পেতে পারেন।
#if swift(>=5.2)
print("Hello, Swift 5.2")
#elseif swift(>=5.1)
print("Hello, Swift 5.1")
#elseif swift(>=5.0)
print("Hello, Swift 5.0")
#elseif swift(>=4.2)
print("Hello, Swift 4.2")
#elseif swift(>=4.1)
print("Hello, Swift 4.1")
#elseif swift(>=4.0)
print("Hello, Swift 4.0")
#elseif swift(>=3.2)
print("Hello, Swift 3.2")
#elseif swift(>=3.0)
print("Hello, Swift 3.0")
#elseif swift(>=2.2)
print("Hello, Swift 2.2")
#elseif swift(>=2.1)
print("Hello, Swift 2.1")
#elseif swift(>=2.0)
print("Hello, Swift 2.0")
#elseif swift(>=1.2)
print("Hello, Swift 1.2")
#elseif swift(>=1.1)
print("Hello, Swift 1.1")
#elseif swift(>=1.0)
print("Hello, Swift 1.0")
#endif
খেলার মাঠটি ব্যবহার করার ফলাফল এখানে রয়েছে ( এক্সকোড ১১.x সহ )
আমি যা করি তা টার্মিনালে বলা হয়:
$ xcrun swift -version
এক্সকোড 6.3.2 এর আউটপুট হল:
Apple Swift version 1.2 (swiftlang-602.0.53.1 clang-602.0.53)
অবশ্যই এটি ধরে নিয়েছে যে আপনি আপনার xcrun
এক্সকোডের অনুলিপিটি সঠিকভাবে নির্দেশ করছেন। যদি আমার মতো আপনিও এক্সকোডের বেশ কয়েকটি সংস্করণ জাগ্রত করছেন, তা উদ্বেগের কারণ হতে পারে! এটি নিশ্চিত করার জন্য, বলুন
$ xcrun --find swift
এবং এক্সকোডের দিকে তাকান যা এটি আপনাকে দেখায়। উদাহরণ স্বরূপ:
/Applications/Xcode.app/...
যদি এটি আপনার এক্সকোড হয় তবে আউটপুটটি -version
সঠিক is যদি আপনাকে পুনরায় নিয়োগের দরকার হয় তবে xcrun
এক্সকোডের অবস্থান পছন্দ প্যানে কমান্ড লাইন সরঞ্জাম পপ-আপ মেনুটি ব্যবহার করুন।
xcode-select -p
এক্সকোড যে পাথটি Xcrun ব্যবহার করবেন তা মুদ্রণ করতে এবং sudo xcode-select -s /path/to/Xcode.app
এটি পরিবর্তন করতেও ব্যবহার করতে পারেন ।
এক্সকোড 8.3 থেকে আপনার টার্গেটটি যে সুইফট সংস্করণটি ব্যবহার করছে তার মান সহ Build Settings
কী আছে Swift Language Version
।
পুরানো এক্সকোডগুলির জন্য এই সমাধানটি ব্যবহার করুন, টার্মিনালটি খুলুন এবং নিম্নলিখিত কমান্ড (গুলি) টাইপ করুন
কেস 1: আপনি কেবল একটি এক্সকোড অ্যাপ্লিকেশন ইনস্টল করেছেন
swift -version
কেস 2: আপনি একাধিক এক্সকোড অ্যাপ্লিকেশন ইনস্টল করেছেন
স্যুইচ করুন active developer directory
( আপনি যে অ্যাপ্লিকেশন ডিরেক্টরিটি স্যুইফ্ট সংস্করণ পরীক্ষা করতে চান তা Xcode_7.3.app
থেকে আপনার এক্সকোড অ্যাপ্লিকেশন ফাইলের নামের সাথে নিম্নলিখিত কমান্ড থেকে প্রতিস্থাপন করুন )
sudo xcode-select --switch /Applications/Xcode_7.3.app/Contents/Developer
তারপর
swift -version
দ্রষ্টব্য: এক্সকোড 8 থেকে এক্সকোড 8.2.x আপনি সুইফট 2.3 ব্যবহার করতে পারেন যদিও এক্সকোড 8 সুইফট 3.x ডিফল্ট সুইফ্ট সংস্করণ হিসাবে ব্যবহার করে। ব্যবহারের দ্রুতগতি 2.3 করার জন্য, শুধু পতাকা চালু Use Legacy Swift Language Version
করার YES
থেকে Build Setting
এবং উপর XCode প্রকল্পের লক্ষ্য জন্য সুইফট 2.3 ব্যবহার করবে।
আপনি দেখতে এবং চয়ন করতে পারেন কোন স্যুইফ্ট সংস্করণ এক্সকোড এতে ব্যবহার করছে:
লক্ষ্য -> বিল্ড সেটিংস -> সুইফট ভাষা সংস্করণ :
এটি এক্সকোড 8.3 এবং এক্সকোড 9 এ উপলব্ধ (পুরানো সংস্করণ চেক করে নি)
Swift Language Version
আমার এক্সকোড 8.2.1 প্রকল্পে সেটিংস হিসাবে আসে না। এটা আছে Use Legacy Swift Language Version
।
Swift Language Version
এখানে উপস্থিত ছিল না Build Settings
.... পূর্ববর্তী এক্সকোড ৮.x সংস্করণে Use Legacy Swift Language Version
, No
= সুইফট ৩, এবং Yes
= সুইফট ২.৩
এই রেডডিট পোস্টটি আমাকে সহায়তা করেছে: https://www.reddit.com/r/swift/comments/4o8atc/xcode_8_Wich_swift/d4anpet
এক্সকোড 8 ডিফল্ট হিসাবে সুইফট 3.0 ব্যবহার করে। তবে আপনি সুইফট ২.৩ চালু করতে পারেন। প্রকল্পের বিল্ড সেটিংসে যান এবং 'হ্যাঁ লেগ্যাসি সুইফট ভাষা সংস্করণ ব্যবহার করুন' সেট করুন।
ভাল পুরানো reddit :)
কমান্ড লাইন থেকে আপনার মেশিনে ইনস্টল করা সুইফ্টের ডিফল্ট সংস্করণটি দেখতে, নিম্নলিখিত টাইপ করুন:
swift --version
অ্যাপল সুইফ্ট সংস্করণ 4.1.2 (সুইফটলং-902.0.54 ঝনঝন-902.0.39.2)
লক্ষ্য: x86_64-আপেল-ডারউইন 17.6.0
এটি সম্ভবত আপনি ইনস্টল করা এক্সকোডের অ্যাপ স্টোর সংস্করণে অন্তর্ভুক্ত সংস্করণটি রয়েছে (যদি আপনি এটি পরিবর্তন না করেন)।
আপনি যদি এক্সকোডের একটি নির্দিষ্ট সংস্করণ (উদাহরণস্বরূপ একটি বিটা) দ্বারা ব্যবহৃত সুইফ্টের আসল সংস্করণটি নির্ধারণ করতে চান তবে কমান্ড লাইন থেকে, এক্সকোড বান্ডেলের অভ্যন্তরে সুইফট বাইনারিটি প্রেরণ করুন এবং এটি পরামিতি - রূপান্তরটি পাস করুন
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift --version
অ্যাপল স্যুইফ্ট সংস্করণ 4.2 (সুইফটলং -১০০.০.১.7..7 ঝনঝন -১০০.10.25.3)
লক্ষ্য: x86_64-আপেল-ডারউইন 17.6.0
/usr/bin/swiftc --version
বোনাস অবদান: আমি জাজি ডকুমেন্টেশন সহ ব্যবহারের জন্য একটি পরিষ্কার স্ট্রিং উত্তোলনের জন্য একটি কাস্টম নোড.জেএস স্ক্রিপ্ট ব্যবহার করছি। আপনি যদি আপনার ডেভ প্রক্রিয়াতে এটির কাজ করার কোনও জায়গা খুঁজে পান তবে আপনি এর কিছুটা ব্যবহার পেতে পারেন:
বাশ স্ক্রিপ্ট থেকে আহবান করা হয়েছে:
#!/bin/bash
swiftversion=$(node SwiftVerSlicer.js "${xcrun swift -version}");
echo $swiftversion
SwiftVerSlicer.js:
// begin script
const inputString = `${process.argv[2]}`
let searchTerm = (inputString.indexOf('(') - 1)//-1 cause whitespace
let version = inputString.slice(0,searchTerm)
console.log(version)
// end script
আপনি অবশ্যই রেইজেক্স অবশ্যই ব্যবহার করতে পারেন তবে যা খুশি তাই করুন:]