How to dynamically generate bitcoin receive address with a Nano Ledger S? Is there a way for me to create an app for only my personal use, on my iPhone, that would create a valid receive address for my Nano Ledger S? I know that all of the address are derived from a master key, is there a way for me to determine what the master key is, and create software to create my own valid addresses?

I am looking for a way to easily accept BTC in person, with a new address, without having to carry a hardware wallet around.
You can export your extended public key from the ledger app, by finding the appropriate command in the settings menu. Using the xpub and appropriate software, you can generate many receiving addresses that can be stored on your phone. 

Alternatively, you can create many new ‘accounts’ in the ledger bitcoin app, and each will show you a unique address that you could copy to a text file on your phone. (This is a workaround to ledger only showing one receiving address at a time otherwise). 

(Originally a comment, but it kinda turned into an answer)