ฉันจะหาแอปพลิเคชันทั้งหมดบน Mac ของฉันที่ไม่ได้มาจาก App Store ได้อย่างไร มันเป็นไปได้ที่จะหาโปรแกรมทั้งหมดที่ใช้คำค้นหา Finder ?
ฉันจะหาแอปพลิเคชันทั้งหมดบน Mac ของฉันที่ไม่ได้มาจาก App Store ได้อย่างไร มันเป็นไปได้ที่จะหาโปรแกรมทั้งหมดที่ใช้คำค้นหา Finder ?
คำตอบ:
ภาพหน้าจอด้านล่างแสดงวิธีใช้คำค้นหาค้นหาเพื่อค้นหาแอปพลิเคชันทั้งหมดที่ไม่ได้มาจาก App Store “การสืบค้นข้อมูลดิบ” kMDItemAppStoreHasReceipt != 1
เงื่อนไขคือ ฉันคิดว่านี่เหมือนกันกับการทดสอบไดเรกทอรีที่ชื่อ“ _MASReceipt” ตามคำตอบของ patrix แต่การใช้คำค้นหาของ Finder ควรง่ายกว่าสำหรับคนที่ไม่คุ้นเคยกับการใช้ Terminal
kMDItemCFBundleIdentifier != "com.apple.*"
สภาพ: สิ่งนี้จะกรองแอปพลิเคชั่นของ Apple ออกไปเช่นแอปพลิเคชันต่าง ๆ ที่ไม่ได้มาจาก App Store แต่เป็นส่วนหนึ่งของ macOS (Mail, Safari, iTunes และอื่น ๆ )
/Applications
(อย่างน้อยโดยค่าเริ่มต้น) ดังนั้นแอปพลิเคชันใด ๆ ที่อยู่นอกโฟลเดอร์นั้นไม่ได้มาจากร้านค้าแอปพลิเคชันจากร้านค้ามีNAME.app/Contents/_MASReceipt
โฟลเดอร์ดังนั้นคุณสามารถใช้ (ในเทอร์มินัล)
cd /Applications
for i in *.app; do
[[ -d "$i/Contents/_MASReceipt" ]] || echo $i
done
เพื่อค้นหาแอปพลิเคชันที่ไม่ใช่ร้านค้าทั้งหมด
bash
ปกติแล้วในเทอร์มินัลฉันมักจะคิดว่าใครก็ตามที่มีประสบการณ์มากพอที่จะเปลี่ยนเชลล์นั้นก็มีประสบการณ์มากพอที่จะปรับเปลี่ยนสิ่งที่เฉพาะเจาะจงกับ bash ให้กับเชลล์ที่พวกเขาเลือก หรือใช้[ ... ]
แทน[[ ... ]]
วิธีที่ง่ายที่สุดคือไปที่เมนู Apple -> "เกี่ยวกับ Mac นี้ ... " จากนั้นคลิก "รายงานระบบ" ในหน้าต่างที่ปรากฏขึ้นคุณสามารถเลื่อนไปที่ส่วนซอฟต์แวร์และคลิก "แอปพลิเคชัน" แอพจาก Mac App Store มีการระบุไว้เช่นนี้
mdfind 'kMDItemContentType == "com.apple.application-bundle" && kMDItemAppStoreHasReceipt != 1'
เมื่อต้องการเรียกใช้แบบสอบถามเดียวกันในการใช้งานเทอร์มิ: เพื่อหาโปรแกรมที่ทำมาจาก App Store เปลี่ยนกา!= 1
== 1
มีบางคุณลักษณะที่น่าสนใจอื่น ๆ ที่เกี่ยวข้องที่ App Store เพื่อตรวจสอบค่าของพวกเขาสำหรับการปราศรัยตัวอย่าง ได้แก่mdls /Applications/Keynote.app | grep kMDItemAppStore
: