আমি কি এক্সকোডের অপ্রয়োজনীয় ডিভাইস সিমুলেটর মুছতে পারি?


64

আমি দেখতে পেলাম যে আমার ল্যাপটপের এক্সকোড এটির প্রচুর সঞ্চয়স্থান গ্রহণ করে, তাই আমি এক্সকোডে অপ্রয়োজনীয় ফাইলগুলি মুছতে চেষ্টা করছি।

এর অধীনে চারটি ডিরেক্টরি রয়েছে Application/Xcode.app/Contents/Developer/Platforms/। আমি এটি অনুভব করি WatchSimulator.platformএবং AppleTVSimulator.platformএটি প্রয়োজনীয় নয়, কারণ আমি কেবলমাত্র প্রাথমিক আইওএস বিকাশের জন্য এক্সকোড ব্যবহার করি।

আমি জানতে চাই যে আমি এই প্ল্যাটফর্ম ডিরেক্টরিগুলি সরাসরি মুছতে পারি কিনা?

ডিরেক্টরি


কেবল একটি এফওয়াইআই ... আপনি কেবল দেখানো প্রায় অর্ধেক স্থান অর্জন করতে যাচ্ছেন যেহেতু তারা সংকুচিত বলে মনে হচ্ছে। গেম ইনফিট শিটটি দেখুন, যেমন ওয়াচওএস.প্ল্যাটফর্মের জন্য আমার সিস্টেমে এটি 2,212 আইটেমের জন্য 50,579,830 বাইট (ডিস্কে 28.2 এমবি) এবং অ্যাপলটিভিসিমুলেটর.প্ল্যাটফর্মটি 29,705 আইটেমের জন্য 1,865,477,227 বাইট (ডিস্কে 1.1 গিগাবাইট) দেখায়। সুতরাং আপনি আপনার ওপিতে প্রদর্শিত মানগুলির মতো মুক্ত স্থান অর্জন করতে যাচ্ছেন না।
ব্যবহারকারী 3439894

ফাইলগুলি সংকুচিত করা হয় এবং অ্যাপলসের এইচএফএস + ফাইল সিস্টেমটি স্বচ্ছ সংকোচনের সমর্থন করে তবে ফাইন্ডার এবং lsটার্মিনালে কোনও ফাইল এইচএফএসকম্প্রেশন ব্যবহার করছে তা দেখার জন্য একটি পতাকাের অভাব রয়েছে , গেম ইনফিট শিটটি সন্ধান করতে পারেন যেখানে আপনি ডিস্কের মানটি নাটকীয়ভাবে পৃথক করতে পারেন তারপরে আকারগুলি বাইটগুলিতে দেখায় । তৃতীয় পক্ষের দ্বারা রচিত একটি ইউটিলিটি রয়েছে, যার মধ্যে উত্স কোডটি অন্তর্ভুক্ত থাকে যদি কেউ এগুলি নিজেরাই সংকলন করতে চায় তবে আফসাকুল । এর দক্ষতার মধ্যে রয়েছে বিদ্যমান এইচএফএস + সংক্ষেপিত ফাইল (গুলি) সম্পর্কে তথ্য পাওয়া।
ব্যবহারকারী 3439894

আপনার ড্রাইভে এই বড় ফাইলগুলি নির্ধারণ করতে কোন প্রোগ্রাম আপনাকে সহায়তা করছে?
পিসিস করুন

1
মত @Pysis সৌন্দর্য OmniDiskSweeper আমাকে। এই সরঞ্জামটি এপিএফএস এবং সংক্ষেপণের জন্য আপডেট করা হয়নি, যদিও দেখে মনে হচ্ছে তাদের এখন কিছু নতুন পরীক্ষা তৈরি হয়েছে।
জ্যাচ লিপটন

1
@ জ্যাচ লিপটন, যদি ওপিতে হাই সিয়েরা এবং এপিএফএস চলছে তবে ফাইলগুলি সংকুচিত হতে পারে না কারণ এপিএফএস এখনও সংক্ষেপণ সমর্থন করে না। বা 10.13.1 এ পরিবর্তন হয়েছে?
ব্যবহারকারীর 3439894

উত্তর:


63

হ্যাঁ, আপনি যে কোনও সিমুলেটর ব্যবহার করেন না তা মুছতে পারেন। আমি পুরানো আইওএস সংস্করণগুলি সমর্থন করা বন্ধ করলে আমি এটি নিয়মিত করি।

আপনি যদি এগুলি মুছে ফেলেন এবং তারপরে আপনি দেখতে পান যে ভবিষ্যতের কোনও মুহুর্তে আপনার তাদের প্রয়োজন হয়, আপনি এগুলি অ্যাপলের বিকাশকারী সাইট থেকে পুনরায় ডাউনলোড করতে পারেন।

এগুলি মোছার সর্বোত্তম উপায় হ'ল এক্সকোড। যাও Window -> Devices and Simulators। এটি আপনার এক্সকোডে ব্যবহৃত সমস্ত ডিভাইস সহ একটি নতুন উইন্ডো খুলবে।

শীর্ষে, এ টিপুন Simulatorsএবং আপনি বাম দিকে একটি তালিকা দেখতে পাবেন।

সেখান থেকে, আপনি যে সিমুলেটরটি মুছতে চান তা সন্ধান Cntlকরুন এবং - (বা ডান ক্লিক করুন) এবং নির্বাচন করুন Delete

আমি প্রতিটি সিমুলেটর দিয়ে এটি করি যা প্রতিটি iOS সংস্করণে চলে যা আমি আর সমর্থন করি না।


7
আমি জানি এই পোস্টটি কয়েক বছর পুরনো, তবে এটি সিমুলেটরটি সরিয়ে দেবে বলে মনে হচ্ছে না, কেবল এক্সকোডে এটির তালিকাভুক্ত। সুতরাং ডিস্কের স্থান বাঁচাতে যদি এটি অপসারণের প্রয়োজন হয় তবে এটি সঠিক পদ্ধতি নয়।
সান প্যাটারসন

34

এক্সকোড এখন সমস্ত ব্যবহারকারীর সাথে সিমুলেটারগুলি ভাগ করে। সুতরাং, আপনাকে নিম্নলিখিত ফোল্ডার থেকে সিমুলেটরগুলি সরিয়ে ফেলতে হবে:

/Library/Developer/CoreSimulator/Profiles/Runtimes

উদাহরণ স্বরূপ:

cd /Library/Developer/CoreSimulator/Profiles/Runtimes
sudo rm -rf iOS\ 8.4.simruntime/
sudo rm -rf iOS\ 9.3.simruntime/

চিয়ার্স!


29

আপনি টার্মিনালে এই কমান্ডটি সহ সহজেই সমস্ত অনুপলব্ধ সিমুলেটর সরিয়ে ফেলতে পারেন:

xcrun simctl delete unavailable

1
বাস্তবে, এটি বেশি কিছু করে না। আপনি যদি চালনা করেন xcrun simctl listতবে দেখবেন যে কেবলমাত্র 10% ডিভাইসই "অনুপলব্ধ" হিসাবে বিবেচিত হয়। এছাড়াও ডিভাইসগুলি এখানে আসল স্থানের হোগ নয়। আইওএস রানটাইম হয়। @ ফ্রাঙ্কোইয়ের উত্তর অনুশীলনে অনেক ভাল।
জোশুকাকোকরেল

1
পুনঃটুইট পুরানো সিমুলেটার সংস্করণ জমা করার বছর পরে, এটি আমার ক্ষেত্রে একটি হাস্যকর পরিমাণ জায়গা মুক্ত করে। সুতরাং আমি ymmv অনুমান।
পল ক্যান্ট্রেল

আমি wc -l'অনুপলব্ধ' এবং 128 এর বাইরে তালিকায় 148 টি লাইন গণনা করেছি । উপরের মুছুন কমান্ডটি আমাকে 14 জিবি ফিরিয়ে দিয়েছে
ক্রেগ

15

সত্ত্বেও @ fsb এর উত্তর সিমুলেটর "উদাহরণগুলি" মুছে ফেলতে দেয় পুরানো সিমুলেটর প্ল্যাটফর্মগুলির দ্বারা ব্যবহৃত বিশাল জায়গাটি খালি করার সঠিক উপায় নীচের ফোল্ডারে যাচ্ছি:

~/Library/Developer/Xcode/iOS DeviceSupport

এবং আপনার আর প্রয়োজন নেই এমন সিমুলেটর / প্ল্যাটফর্মের সাথে সম্পর্কিত ফোল্ডারগুলি সরিয়ে ফেলুন।

অতিরিক্তভাবে, এই এবং অন্যান্য টিপসের সাথে একটি খুব ভাল নিবন্ধ রয়েছে:


3
/Library/Developer/Xcodeনতুন ম্যাকোস আপডেটের পরে এটি সরিয়ে ফেলা হয়েছে বলে মনে হচ্ছে । আমি এটি কোথাও খুঁজে পাচ্ছি না।
সুহাইব

1
@ সুহাইব আপনি প্রাথমিক টিল্ড " ~ " ভুলে গেছেন যা আপনার হোম ডিরেক্টরিতে পথ শুরু করে। অধিকার ডিরেক্টরি হল: ~/Library/Developer/Xcode/iOS DeviceSupport
রিকার্ডো বারোসো

6

যেখানে এক্সকোড 2019+ ক্যাটালিনা, এক্সকোড 11.0 তে সিমুলেটর সঞ্চয় করে

runtimes

$ open /Library/Developer/CoreSimulator/Profiles/Runtimes

উদাহরণস্বরূপ: iOS 13.0, watchOS 6.0এই সবচেয়ে স্থান গ্রহণ দ্বারা পর্যন্ত। প্রতিটি এক থেকে 5 গিগাবাইট পর্যন্ত হতে পারে

ডিভাইস

$ open ~/Library/Developer/CoreSimulator/Devices

যেমন: iPhone Xr, iPhone 11 Pro Max। এগুলি সাধারণত <15 এমবি প্রতিটি।

ব্যাখ্যা

সিমুলেটরগুলি রানটাইম এবং ডিভাইসের মধ্যে বিভক্ত। আপনি যদি চালনা করেন তবে $ xcrun simctl listআপনি একটি ওভারভিউ দেখতে পারেন, তবে আপনি যদি এই সিমুলেটরগুলির শারীরিক অবস্থান সন্ধান করতে চান তবে আমি যে ডিরেক্টরিগুলি দেখিয়েছি সেগুলি সন্ধান করুন।

আপনি সমর্থন করেন না এমন রানটাইম মুছে ফেলা সম্পূর্ণ নিরাপদ। আপনি চাইলে এগুলি পরে পুনরায় ইনস্টল করতে পারেন।


1
আপনাকে ধন্যবাদ, এটি আমাকে অনেক সাহায্য করেছে!
অ্যাসিডো

5
  • সমস্ত সিমুলেটর xcrun simctl list devicesবা তালিকা করতেxcrun simctl list --json

  • নির্দিষ্ট ডিভাইস মুছতে xcrun simctl delete <device udid>

  • রানটাইমগুলির জন্য পুরানো ডিভাইসগুলি সরানোর জন্য যা আর সমর্থিত নয় xcrun simctl delete unavailable


আপনি xcrun simctl delete allমনে করি ব্যবহার করতে পারেন
revau.lt

1

টার্মিনাল.এপ খুলুন এবং নিম্নলিখিতগুলি চালান:

cd /Library/Developer/CoreSimulator/Profiles/Runtimes

এখন আইওএস সংস্করণটি টাইপ করুন যার জন্য আপনি নীচের কমান্ডের সিমুলেটরগুলি সরাতে চান, উদাহরণস্বরূপ, আপনি যদি আইওএস 12.0 এর জন্য অপসারণ করতে চান তবে চালান:

sudo rm -rf iOS\ 12.0.simruntime/


1

আইওএস সংস্করণ দ্বারা সিমুলেটর মুছতে:

আপনি যদি কেবল কোনও নির্দিষ্ট সংস্করণের জন্য সিমুলেটরগুলি সরাতে চান এবং আপনি fastlaneইনস্টল করেছেন বলে মনে হয় তবে আপনি একটি ইন্টারেক্টিভ রুবি শেল চালু করতে পারেন এবং সমস্ত আইওএস 10 সিমুলেটর মুছে ফেলার জন্য নিম্নলিখিত কমান্ডগুলি চালনা করতে পারেন:

# launch the interactive ruby shell (irb)
$ irb

# require the device manager capabilities of fastlane core
irb(main):001:0> require 'fastlane_core/device_manager'

# delete all iOS 10 simulators
irb(main):002:0> FastlaneCore::Simulator.delete_all_by_version(os_version: "10.0")
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.