সিমুলেটার আইওএস 13 এ কীভাবে ডার্ক মোড ব্যবহার করবেন?


163

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

উত্তর:


297

ইন সেটিং , এর নিচে স্ক্রল বিকাশকারী এবং তারপর গাঢ় চেহারা ...

এখানে চিত্র বর্ণনা লিখুন


হালনাগাদ

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

X এক্সকোড (@ অ্যাশক্যামেরন) থেকে পরিবেশের ওভাররাইডগুলি পরিবর্তন করুন

AThe সিমুলেটর মেনু থেকে টগল উপস্থিতি (@ শ্রেডার 2794)

xcrun simctl ui booted appearance …@ (@ ব্ল্যাকজ্যাক্স, @ টাদিজা) ব্যবহার করে কমান্ড লাইন থেকে আপডেট করুন

• প্রোগ্রামগতভাবে overrideUserInterfaceStyle = .dark(@ থিসি এই ফক্স) ব্যবহার করে

YourUIUserInterfaceStyle আপনার তথ্য.পুলিস্টে উল্লেখ করুন (@ ধা ਵਲগেরিয়া)

C কার্টিস হারবার্ট থেকে সিমজেনি ব্যবহার করুন ...  https://simgenie.app


78

আপনি ইন্টারফেস মোড (যেমন লাইট / ডার্ক) টগল করার পাশাপাশি ফ্লাইতে ডায়নামিক টাইপ সেটিং সামঞ্জস্য করতে পারেন (যখন সিমুলেটর চলমান থাকে):

এক্সকোড সহ ডার্ক মোড


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

3
ভাল। আমি চিহ্নযুক্ত বোতামটি কখনও ক্লিক করতাম না have
ওয়াজ

3
এটি একাধিক মেনুতে যাওয়ার পরিবর্তে স্বল্প ও কার্যকর বলে মনে করি এটি গ্রহণযোগ্য উত্তর হওয়া উচিত।
হেকসচিবি

6
প্রতিলিপি: আপনি যদি এক্সকোডের ওপরে অগ্রভাগে সিমুলেটর রেখে থাকেন তবে সিম্যুলেটারটি সামনে রাখার সাথে সাথে সেটিংস পরিবর্তন করতে আপনি এক্সকোডের (এবং সেই প্যানেলে থাকা কোনও স্যুইচে) বোতামটি ক্লিক করতে পারবেন! ক্রেডিট: ইউনিয়ন iirc এর WWDC রাষ্ট্র
Graystripe

13

স্বয়ংক্রিয় চেহারা পরিবর্তন 🦉

এক্সকোড 11.4 🌟

অ্যাপল একটি শক্তিশালী এক্সকোড আপডেট প্রকাশ করেছে যাতে এই বিষয়ের জন্য কিছু দরকারী জিনিস রয়েছে। উপস্থিতি এখন সরাসরি সিমুলেটারে বাছাই করা যেতে পারে। কেবল নির্বাচন করুন Features > Toggle Appearanceবা ⇧ + ⌘ + এ। স্বয়ংক্রিয় উপস্থিতি স্যুইচিং গুরুত্বপূর্ণ হতে পারে, যেমন কমান্ড লাইনে স্বয়ংক্রিয় স্ক্রিনশট পরীক্ষার জন্য। এক্সকোড 11.4 ব্যবহার করার সময় স্ক্রিপ্টটি এর মতো সহজ হয়ে যায়:

device_ids=("C741F3CD-FDAC-49EA-A4DB-7F797B97291E" "428183B6-3EB8-4D36-9938-9D07C141BF49")

# The value to use is now just 'dark' or 'light'
appearance=dark

for device in "${device_ids[@]}"; do
  xcrun simctl boot $device
  xcrun simctl ui $device appearance $appearance
done

আর কোনও সিমুলেটর হত্যা বা পুনরায় সেটিংয়ের দরকার নেই যা বিশাল পারফরম্যান্সের জয়। এছাড়াও কোনও প্লাস্ট সরঞ্জামগুলির সাথে আর কোনও ফিডিং নেই - কখনও ever মনে রাখবেন যে আপনার ব্যবহারের সময়টিতে উপলব্ধ ডিভাইস আইডির ব্যবহার করতে হবে। তাদের ব্যবহার করে খুঁজে বের করুন xcrun simctl list

আমার সম্পূর্ণ স্ক্রিপ্টটিও দেখুন: https://github.com/Blackjacx/Scriptts/blob/master/set-simulator-style.sh

এক্সকোড 11.3

হালকা এবং গা dark় মোডের মধ্যে একটি সিমুলেটর স্যুইচ করতে কমান্ড লাইনটি ব্যবহার করার একটি উপায় রয়েছে। আপনার ডিভাইস আইডি সহ যদি আপনার অ্যারে থাকে তবে আপনি নিম্নলিখিতটি করতে পারেন:

device_ids=("C741F3CD-FDAC-49EA-A4DB-7F797B97291E" "428183B6-3EB8-4D36-9938-9D07C141BF49")

# Determine the plist value for the desired style: "dark" -> 2 / "light" -> 1
style=2

for device_id in "${device_ids[@]}"; do
  plist_path="${HOME}/Library/Developer/CoreSimulator/Devices/${device_id}/data/Library/Preferences/com.apple.uikitservices.userInterfaceStyleMode.plist"  
  printf '\n%s' "Set style $style for device $device_id ($plist_path)"

  killall "Simulator"
  xcrun simctl shutdown booted
  xcrun simctl erase $device_id

  # Crate the plist since it might not be available after erase
  [[ ! -f "$plist_path" ]] && /usr/libexec/PlistBuddy -c "save" $plist_path  
  # Set the style mode
  plutil -replace UserInterfaceStyleMode -integer $style $plist_path
done

আপনি যদি আপনার স্ক্রিপ্টে ডিভাইসের নাম উল্লেখ করতে চান - যেহেতু ডিভাইস আইডি বিভিন্ন মেশিনে আলাদা হয় - আপনি নিম্নলিখিত ব্যাশ কোডটি ব্যবহার করে সহজেই সেগুলির আইডি খুঁজে পেতে পারেন:

device_names=("iPhone SE" "iPhone 8" "iPhone 11 Pro" "iPhone 11 Pro Max")
device_ids=()

for name in "${device_names[@]}"; do
  id=$(xcrun simctl list --json | jq ".devices | .[] | .[] | select(.name == \"$name\") | .udid" | cut -d\" -f2)
  device_ids+=("$id")
done

printf '%s\n' "${device_ids[@]}"

1
এক্সকোড ১১.৪ হিসাবে এটি সরাসরি সিমুলেটর.এপ এবং xcrun simctl uiকমান্ড দ্বারা সমর্থিত ।
রাশিবিশপ

1
হ্যাঁ এটি দেখেছিল - আমি সমস্ত কিছু পরীক্ষা করার সাথে সাথে উত্তরটি আপডেট করব 👍 অটোমেশনটি এখনও দুর্দান্ত especially বিশেষত স্বয়ংক্রিয় পরীক্ষার জন্য। নতুন সিমক্টেল সেটিং উপরের কোডটিকে আরও সহজ করে তুলবে।
ব্ল্যাকজ্যাক্স

11

আপনি সিমুলেটার মেনু ড্রপডাউন (শিফট-কমান্ড-এ) থেকে "টগল অ্যাপিয়ারেন্স" সেটিংসটি ব্যবহার করতে পারেন:

এখানে চিত্র বর্ণনা লিখুন


9

বিকল্পভাবে, আপনি প্রোগ্রামগুলি ( দস্তাবেজগুলি ) চেহারাটিও স্যুইচ করতে পারেন :

override func viewDidLoad() {
    super.viewDidLoad()
    #if DEBUG
    // change the appearance only while testing  
    overrideUserInterfaceStyle = .dark
    #endif
}

4

সিমুলেটারে ডার্ক মোড সক্ষম করার দুটি উপায় রয়েছে। দ্রষ্টব্য: আপনি iOS 13 সিমুলেটর ব্যবহার করছেন তা নিশ্চিত করুন। XD

সমাধান 1: বিল্ড সেটিংস পরিবর্তন করুন

  1. সেটিংস অ্যাপ্লিকেশনটি খুলুন
  2. বিকাশকারী নির্বাচন করুন
  3. অন্ধকার উপস্থিতি সক্ষম করুন

স্ক্রিনশট -1

সমাধান 2: প্রোগ্রামিয়ালি

আপনার ভিউকন্ট্রোলার ফাইলটিতে কেবল এই কোড ব্লকটি যুক্ত করুন।

override func viewDidLoad() {
    super.viewDidLoad()
    #if DEBUG
    // This changes appearance only for debug mode
    overrideUserInterfaceStyle = .dark
    #endif
}

স্ক্রিনশট-2

আরও তথ্যের জন্য এই অ্যাপল ডক্সটি পরীক্ষা করুন।


0

আপনি এই লাইনটি ব্যবহার করে ডার্ক মোডটিও স্যুইচ করতে পারেন, আপনাকে কেবল এই লাইনগুলি আপনার তথ্য.প্লেস্ট ফাইলটিতে রাখতে হবে

<key>UIUserInterfaceStyle</key>
<string>Dark</string> //Light

0

টার্মিনাল থেকে:

xcrun simctl ui booted appearance light

xcrun simctl ui booted appearance dark

কোডটি কেবলমাত্র উত্তরগুলি অনুমোদিত, তবে উত্তরটিও ব্যাখ্যা করতে উত্সাহিত। কিছু ব্যাখ্যা যোগ বিবেচনা করুন।
জোনকসফট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.