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


64

আমি কাস্টম ইউআরএল হ্যান্ডলার / কাস্টম প্রোটোকল হ্যান্ডলারগুলি সম্পর্কে অনেকগুলি অনলাইনে পড়ছি:

আমি পেয়েছি যে আপনি সিস্টেমটিকে বলতে পারেন যে কোনও নির্দিষ্ট প্রোগ্রাম Info.plistফাইলের সাথে একটি নির্দিষ্ট স্কিম / প্রোটোকল পরিচালনা করতে সক্ষম :

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string>Local File</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>local</string>
        </array>
    </dict>
</array>
<key>NSUIElement</key>
<true/>

তবে যদি এমন একাধিক অ্যাপ্লিকেশন থাকে যা একই ইউআরএল হ্যান্ডলারটি খোলার জন্য সক্ষম, যেমন mailto:আপনি সিস্টেমটি কোনটি ব্যবহার করতে চান তা আপনি কীভাবে নির্দিষ্ট করবেন?

ইউটিলিটিগুলির মতো কিছু উল্লেখ রয়েছে More Internet preference paneযা লেখকের সাইট থেকে আর উপলভ্য বলে মনে হয় না। আমি এটি গুগলিংয়ের মাধ্যমে অনলাইনে পেয়েছি তবে এটি কিছুটা নড়বড়ে বলে মনে হচ্ছে - এটি কোনও পুরানো ওএসএক্সের জন্য লেখা হয়েছিল - সম্ভবত টাইগার।

প্রোটোকল এবং কাস্টম প্রোটোকলের জন্য ইউআরএল হ্যান্ডলারটি কীভাবে সেট করবেন সে সম্পর্কে আমি তথ্য খুঁজে পাচ্ছি না। আমি ধরে নিচ্ছি plistযে কোথাও এমন কোনও ফাইল আছে যা আমি সম্পাদনা করতে পারি - অথবা হতে পারে একটি নতুন, আরও ভাল ইউটিলিটি আছে যা মাউন্টেন সিংহের সাথে ভালভাবে কাজ করে?

উত্তর:


55

আপনি যে ফাইলটি সন্ধান করছেন তা হ'ল ~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist

এটি ডাকা একটি অ্যারে ধারণ করে LSHandlers, এবং অভিধানের বাচ্চারা যে একটি সংজ্ঞায়িত করে LSHandlerURLSchemeসে অনুযায়ী এর সাথে সংশোধন করা যায় LSHandlerRole

এই ফাইলটি ম্যানুয়ালি সম্পাদনা করার পরিবর্তে, আপনি আরসিডিএফএল্ট অ্যাপ্লিকেশনও ব্যবহার করতে পারেন যা আপনাকে একটি দুর্দান্ত পছন্দসই ফলক দেয়। এটি ম্যাকোস 10.12 এবং তার বেশি কাজ করার কথা বলা হয়নি, তবে আমি নিশ্চিত করতে পারি যে এটি ম্যাকোস 10.14 এর অধীনে চলেছে।

এর বিকল্প হ'ল সুইফট ডেফল্ট অ্যাপস

উদাহরণস্বরূপ, এখানে এসভিএন এবং এসএসএইচ:

… এবং আরসিডিএফএল্ট অ্যাপে:


35
4 মিনিট 19 সেকেন্ড? সিরিয়াসলি?
ড্যানিয়েল অঙ্গুলিনির্দেশ

2
দ্রুত এবং বিস্তারিত উত্তরের জন্য ধন্যবাদ। ভাল লাগছে! যদিও প্রশ্ন - আমি মনে করি যে আমি এর আগে আরসিডিএফফল্ট অ্যাপ চেষ্টা করেছি এবং এটি নিয়ে কিছু সমস্যা ছিল। এটি কি আপনার পক্ষে নির্বিঘ্নে কাজ করে চলেছে?
cwd

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

এটি একটি বাস্তব "অ্যাপ" খোলার জন্য মনে হচ্ছে। আমি যদি টার্মিনাল কমান্ড ইত্যাদি ব্যবহার করে কিছু কাস্টম প্রসেসিং করতে চাই?

1
ঠিক আমার মাথার উপরের দিক থেকে @ নুন্ট, নিশ্চিত নয়। অটোমেটরের সাথে তৈরি এমন কোনও অ্যাপ্লিকেশন যা শেল স্ক্রিপ্টটি মোড়ানো?
slhck

14

জুলাই 2017 আপডেট করুন: আরসিডিএফফল্ট অ্যাপ্লিকেশন এবং lstoolম্যাকোস 10.12 বা তার পরে আর কাজ করবে না। আমাদের একটি নতুন সমাধান খুঁজে পেতে হবে।

মার্চ 2018 এডিট করুন
আমি সুইফট ডেফল্ট অ্যাপস পেয়েছি কিন্তু পরীক্ষা করতে পারছি না কারণ আমি এখনও হাই সিয়েরায় নেই।


পূর্ববর্তী উত্তরটি lstoolছাড়াও, আপনি যদি কমান্ড লাইনে এটি করতে চান তবে আপনি কমান্ডটি ব্যবহার করতে পারেন যা আরসিডিএফফল্ট অ্যাপের মূল, যার অধীনে পাওয়া যায় RCDefaultApp.prefPane/Contents/Resources/lstool

এর ব্যবহার সোজা:

[~]$lstool --help
Usage:

lstool read [<lsscheme> [<type>]]
lstool [-n] write <lsscheme> <type> <app>
lstool [-n] setoption <lsscheme> <type> login|ignorecreator YES|NO
lstool [-n] register {<app>}
lstool [-n] unregister {<path> | <app>}
lstool apps

-n means do not make changes
<lsscheme> is one of: internet, media, url, extension, uti, mime, ostype
<app> is the path to an application or a name to be looked up

2
আমি গিথুব / লর্ড- কামিনা / সুইফট ডিফল্ট অ্যাপ্লিকেশনগুলিতে আরসিডিএফএল্ট অ্যাপ্লিকেশনটির সম্ভাব্য প্রতিস্থাপনটি পেয়েছি যদিও আপনাকে এটি নিজেরাই এক্সকোড দিয়ে তৈরি করতে হবে।
ভাগ্যমান 212

আমি আরসিডিএফএল্ট অ্যাপ্লিকেশনটির ২.১ সংস্করণটি ব্যবহার করছি এবং এটি আমার পক্ষে 10.12-তে ঠিকঠাক কাজ করে। কমপক্ষে এখনও সমস্ত আইটেমের তালিকা রয়েছে। বা কেবলমাত্র নির্দিষ্ট কিছু ক্রিয়াকলাপ কি আর কাজ করে না? দয়া করে বিশদভাবে বর্ণনা করুন
টেম্পেল

@ সুপারটেম্পেল lstoolকমান্ড-লাইন সরঞ্জামটি চালানোর চেষ্টা করার সময় এই ত্রুটিটি প্রদর্শন করে: objc[1049]: Objective-C garbage collection is no longer supported.( lstoolআরসিডিএফএল্ট অ্যাপ্লিকেশন অনুচ্ছেদে ফলকটি ব্যবহার করা অভ্যন্তরীণ প্রোগ্রাম। এটি অগ্রাধিকার ফলকটি প্রদর্শিত হবে বলে মনে হয় না কারণ lstoolএটি ভাঙ্গা হওয়ায় এটি কিছু করতে পারে )। )
কুইন কমেন্ডেন্ট

সুইফট ডিফল্ট অ্যাপস স্পষ্টতই ইন্টেল প্রসেসরগুলিতে কাজ করে না । কমপক্ষে এপ্রিল 2018 পর্যন্ত কোনও সমাধান নেই
কুইন কমেন্ডেন্ট

3
আমি সুইফটডিফল্ট অ্যাপসের বিকাশকারী, এসডাব্লুডিএ প্রথম থেকেই ম্যাকস সিয়েরা এবং উচ্চতর মনের সাথে কোড করেছিলাম (আসলে, আমি এই প্রশ্নটি এবং অনুরূপগুলি পড়ে অনেক হতাশার পরে এটিতে কাজ শুরু করেছি)। এটি মূলত সুইফট বা ম্যাকোস-এ কোনও বাগের কারণে 10.13 তে কাজ করছে না, তবে এটি আপডেট 10.13.4 / সুইফট ৪.১-এ স্থির করা হয়েছে বলে মনে হয়।
গ্রেগরিও লিটেনস্টাইন

11

অ্যাপল ওএস এক্স 10.10 (ইয়োসেমাইট) এ বর্তমান লঞ্চ সার্ভিসগুলি ইউআরএল হ্যান্ডলার সেটিংস তালিকাভুক্ত করছে:

defaults read com.apple.LaunchServices/com.apple.launchservices.secure

হ্যাঁ অন্তর্নির্মিত সরঞ্জামগুলি ব্যবহার করার জন্য যা আপনার কোনও কিছু ডাউনলোড করতে যায় না বা ভাঙে না।
xdmoore

এটি প্রতিটি প্রোটোকলের জন্য সমস্ত ডিফল্ট তালিকাভুক্ত করে না, যদিও কয়েকটি।
ভাদিম পেরেটোকিন

5

আমি আসলে কাস্টম ইউআরএল প্রোটোকলগুলির নিবন্ধন সহজতর করার জন্য একটি অ্যাপ্লিকেশন লিখেছিলাম, যদি কারও আগ্রহ থাকে। একে লিনকাস্টার ( http://onflapp.wordpress.com/lincastor/ ) বলা হয় । হ্যান্ডলারগুলি অ্যাপলস্ক্রিপ্ট বা শেল স্ক্রিপ্ট হিসাবে সংজ্ঞায়িত করা যায় (যা পার্ল, পাইথন বা যা যা পারে)।


খুব সুন্দর ধারণা, তবে আমি ভয় করি যে আমি সরবরাহিত উদাহরণ স্ক্রিপ্টটি কাজ করতে পারব না। আপনার ব্লগে আরও, সংযমের অপেক্ষায়: getitdoneapps.wordpress.com/lincastor-browser/support/…
ফ্ল্যাশ শেরিডান

কমান্ড লাইন থেকে স্ক্রিপ্ট চালনার মাধ্যমে নির্ণয় করা উদাহরণস্বরূপ ফাইলটিতে এটি কিছুটা বিস্মিত লাইন-ব্রেকের অদ্ভুততা বলে মনে হয়েছিল। ("/ বিন / শ: খারাপ দোভাষী: অপারেশন অনুমোদিত নয়") বিবিএডিট-এ একটি অনুলিপি সংরক্ষণ করা, এবং উইন্ডোজ থেকে / থেকে লাইন ব্রেকগুলি পরিবর্তন ও পুনঃচার্জ করা সমস্যার সমাধান করেছে।
ফ্ল্যাশ শেরিডান

5

এক্সকোড দিয়ে ফাইলটি খুলুন বেশ সহজ কাজ করে।

এক্সএমএল 1 বা বাইনারি 1 ফর্ম্যাটটির মধ্যে রূপান্তর করতে https://discussion.apple.com/thread/5815759plutil এর উত্তরে বর্ণিত বিল্ড ইন কমান্ড ব্যবহার করা একইরকম কাজ করে।

plutil -convert xml1 /file-i-wish

nano /file-i-wish & save file 

plutil -convert binary1 /file-i-wish

'এলিয়েন' সরঞ্জামগুলির দরকার নেই :-)


4

আপনি দুটিও ব্যবহার করতে পারেন :

echo $'com.apple.mail mailto\ncom.googlecode.iterm2 x-man-page'>~/.duti;duti ~/.duti

0

আমি কেবল এল ক্যাপিটানের অধীনে পুরানো মোর ইন্টারনেট চেষ্টা করেছি।

এটি মজাদার এবং একমাত্র উপায় যা প্রোটোকলটি নির্বাচন করতে উপরে এবং নীচে তীরচিহ্নগুলি ব্যবহার করে এবং একটি পরিবর্তন করতে উইন্ডোতে অ্যাপ্লিকেশন আইকনটির একটি টানা / ড্রপ ব্যবহার করে।

আমি সাফারি থেকে ক্রোমে ডিফল্টটি পরিবর্তন করেছি এবং পরিবর্তনটি আটকে গেছে, তাই এটি এখনও কাজ করে।


এটা কি? আপনার উত্তরটি অস্পষ্ট।
lacostenycoder

0

অ্যাপল ওএস এক্স 10.10+ (যোসোমাইট) এ এক্সকোডের সাথে বর্তমান লঞ্চ সার্ভিসগুলি ইউআরএল হ্যান্ডলার সেটিংস তালিকাভুক্ত করার আরেকটি উপায়:

open -a Xcode ~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.