You must have the device yourself for testing before publishing anything on the App Store. Testing in a simulator is not the same as testing on a device.
At developer.apple.com, you'll need to create an Ad Hoc distribution profile. You will also need to add all the devices for which you want to run the application to this profile. Once you have a profile and you installed it in Xcode, you can run the Archive assembly and sign it with the distribution profile. After that, you can select the archive and click "Distribute ..." to generate the .ipa file.
Once you have this .ipa file, you can use a site, such as testflightapp.com, to distribute the application to test devices. (you can also just send it by email ;-))
source share