Preface Developers familiar with WIN development must be very familiar with shortcuts; on macOS they are called aliases. Recently I was developing some plugin-related logic and found that I need...
Preface No matter when you graduate or when you start working, this article of mine will be the chapter I recommend to you before you step onto campus or while you’re in college. If you study ...
Preface Having seen countless times how people always create files using a timestamp + arc4random(), I felt deeply frustrated. Doesn’t the operating system provide a relevant function? So I foun...
Preface A collection of shortcuts I’ve accumulated as an iOS and macOS developer. Toggle the Left Panel command+0=Show/Hide the left panel Toggle the Right Panel command+option...
Before you access the camera, contacts, and other privacy-sensitive data, you must request authorization. Otherwise, your app will crash when you try to access that private data. Xcode will log som...
Preface In AV Foundation, using the AVAudioRecorder class to add audio recording is just as simple as using AVAudioPlayer. Both are built on top of the Audio Queue Server, and both support the m...
@interface NSWindow (FullScreen) - (BOOL)mn_isFullScreen; @end @implementation NSWindow (FullScreen) - (BOOL)mn_isFullScreen { return (([self styleMask] & NSFullScreenWindowMask) == NSF...
Introduction Recently I’ve been learning AV Foundation. I want to record what I’ve learned and also refer to some blog posts. The topic of this issue is AVAudioPlayer. Audio Basics The proce...
Preface I’ve been studying the AV Foundation framework recently and found a book called AV Foundation开发秘籍:实践掌握iOS & OS X 应用的视听处理技术 Then I Googled and found the English version is called L...
Recently I’ve been developing a remote assistance feature for macOS, which requires mapping keyboard events coming from Windows and simulating them as macOS NSEvents. Events on macOS are simulate...