I know that with Xcode 7+ you can create an IPA file for internal testing without an Apple Developer account, but do I need to have a physical iOS device to receive the IPA file?
According to your description, you want to create an IPA for the device without registering with the Apple Developer Program .
Unfortunately, you need to have a physical iOS device to achieve this if you want to create an IPA without an Apple Developer account. And the generated IPA can only be installed on iOS devices connected to Xcode.
You can follow these steps to create an IPA without an Apple Developer account using Xcode and Visual Studio:
- Create an Apple ID that is free. Or use an existing one.
- Add the Apple ID to your Xcode accounts, it appears as a personalized team for a free account. (Xcode-> Settings-> Accounts)

Go to Xcode-> Target-> General. Install the Bundle Identifier so that it is the same as the one you installed in your Visual Studio Xamarin project. This is very important because Xcode will generate a provisioning profile according to the Bundle ID and your iOS device UDID.
Go to the Signature section. Check the box next to "Automatically manage my signature." Select your personal team from the Team drop-down list. Xcode will now automatically create a provisioning profile. 
Now go to Visual Studio, select one configuration to set the parameters, here I use Ad-Hoc and iPhone . Go to the iOS Bingle Signing tab, select the Signature ID containing your Apple ID. And select the Provisioning Profile that contains the Bundle ID that you defined earlier. 
Check the Create iTunes Archive (IPA) checkbox in IOS IPA Options , for Ad-Hoc and iPhone. 
Make sure the package ID matches the one used in Xcode. 
Create your own project. Then right-click your project, click "Open Folder in Explorer." Locate the IPA in the bin \ iPhone \ Ad-Hoc folder.
This IPA is generated with free provisioning. Therefore, it cannot be installed via iTunes. But it can be installed via Xcode-> Window-> Device. Click "+" and select your IPA to install it. 
When the IPA is installed, you cannot use it immediately. You need to trust first. Go to Settings-> General β Profiles and Manage devices on your iPhone. Find the profile that is listed in the email address of your Apple ID. Click and trust him.
Now you can run your application.
BTW, the best solution is to register with the Apple Developer Program , then you can deploy up to 100 devices for testing and can deploy through OTA or other tools without Xcode.
source share