Chapter 1 : Introduction to IPC on macOS Chapter Goal : In this chapter, we''ll explore the basics of IPC and touch upon various techniques. · Evolution of IPC. · IPC on macOS. · Real world problems requiring an IPC solution. · Available IPC techniques on macOS. Chapter 2 : IPC Through Shared Memory Chapter Goal : In this chapter, we''ll learn IPC using shared memory techniques. · Introduction to shared memory. · Creating a server application to pass data to a client application.
· Implementing a client to consume data passed by a server application. · Pros of IPC through Shared Memory. · Cons of IPC through Shared Memory. · Discussion on real world scenarios and applications. Chapter 3 : IPC Through Mach Ports Chapter Goal : In this chapter, we''ll learn IPC using Mach Ports. · Introduction to Mach Ports. · Creating a server application to pass data to a client application. · Implementing a client to consume data passed by a server application.
· Pros of IPC through Mach Ports. · Cons of IPC through Mach Ports. · Discussion on real world scenarios and applications. Chapter 4 : IPC Through Sockets Chapter Goal : In this chapter, we''ll learn IPC using Sockets. · Introduction to Sockets · Using Socket and Socket Streams. · Creating a server application to pass data to a client application. · Implementing a client to consume data passed by a server application. · Pros of IPC through Socket.
· Cons of IPC through Socket. · Discussion on real world scenarios and applications. Chapter 5 : IPC Through Apple Events Chapter Goal : In this chapter, we''ll learn IPC using Apple Events. · Introduction to Apple Events. · Introduction to Apple Scripts. · Apple Script Lexical convention. · Apple Script Fundamentals. · Script objects and Handlers.
· Apple Script references. · Working with libraries and errors. · Creating a server application to pass data to a client application. · Implementing a client to consume data passed by a server application. · Pros of IPC through Apple Events. · Cons of IPC through Apple Events. · Discussion on real world scenarios and applications. Chapter 6 : IPC Through Distributed Notifications Chapter Goal : In this chapter, we''ll learn IPC using Distributed Notifications.
· Introduction to Notifications. · Key value observing. · Notification center. · Notification Queue. · Distributed Notifications. · Creating a server application to pass data to a client application. · Implementing a client to consume data passed by a server application. · Pros of IPC through Distributed Notifications.
· Cons of IPC through Distributed Notifications. · Discussion on real world scenarios and applications. Chapter 7 : IPC Through Pasteboards Chapter Goal : In this chapter, we''ll learn IPC using Pasteboards. · Introduction to Pasteboards. · Creating a Pasteboard item. · Reading and writing to a pasteboard. · Pasteboard data provider--content options and ownership. · Creating a server application to pass data to a client application.
· Implementing a client to consume data passed by a server application. · Pros of IPC through Pasteboards. · Cons of IPC through Pasteboards. · Discussion on real world scenarios and applications. Chapter 8 : IPC Through Distributed Objects Chapter Goal : In this chapter, we''ll learn IPC using Distributed Objects. · Introduction to Distributed Objects. · Distributed Objects architecture. · Connections and proxies.
· Ports and name servers. · Message encapsulation. · Vending an Object. · Getting a vended object. · Configure a connection. · Authenticating connections. · Error handling. · Substitution during message encoding.
· NSInvocation · Creating a server application to pass data to a client application. · Implementing a client to consume data passed by a server application. · Pros of IPC through Distributed Objects. · Cons of IPC through Distributed Objects. · Discussion on real world scenarios and applications. Chapter 9 : IPC Between a Native App and Web App Chapter Goal : In this chapter, we''ll learn about techniques for implementing IPC between a native app and a web app. · Introduction to WebKit. · Understanding Deep linking with URL schemes and Universal links.
· Embedding webview in a native app. · Capturing url redirects from webview in a native app. · Call Java Script methods on a website from a native app. · Call native functions in an app from a web page. · Implement SSL pinning for enhanced security. · Creating a server application to pass data to a client application. · Implementing a client to consume data passed by a server application. · Pros of IPC through Distributed Objects.
· Cons of IPC through Distributed Objects. · Discussion on real world scenarios and applications. Chapter 10 : Advanced Helper Tools Chapter Goal : In this chapter, we''ll learn about techniques for implementing IPC using Helper tools. · Introduction to macOS Daemons and Services. · Daemon architecture and lifecycle. · Service management. · Creating XPC services. · Creating launch daemons and agents.
· Introduction to privileges. · Security vulnerabilities with enhanced privileges. · Validating input for IPC. · Elivating privilages safely. · Designing secure helpers · Creating an application to pass data to a Helper application. · Implementing Helper to consume data passed by an application. · Pros of Helper tools. · Cons of Helper tools.
· Discussion on real world scenarios and applications.