Will iPhone app run on iPhone not paired to an Apple Watch - ios

I'm new to iOS development and I'm playing with Swift in Xcode working on a number of experimental projects.
In one of these I've designed an app for the Apple Watch (using the InterfaceController.swift in Watch App Extension) and in the same Xcode project I've also deigned a corresponding app for the iPhone (in the usual Main.storyboard, ViewController.swift, etc). When I run these apps using the iPhone 6s + Apple Watch - 38mm simulator, both apps run on each device as they should.
Now, if I connect my iPhone 6s and try to run the app, I get a message stating: "Could not launch 'App Name' on iPhone 6s. No paired Apple Watch."
I don't actually own an Apple Watch, so the error is understandable. But this got me to thinking and I now have the following questions:
If I go through the process to submit this to Apple, will the iPhone app work for people as a standalone iPhone app if they have no Apple Watch? Or, are the apps in this project (both the iPhone and Apple Watch apps) only going to work for people who have an iPhone paired with an Apple Watch?
If I want this iPhone app to be available to people with only iPhones, do I need to do anything special? For example,do I need to create a new Xcode project and effectively copy across the iPhone app from this project, or is there another approach I should adopt?
What else do I need to be aware of? For example, do I need to rename the iPhone app to something different to make it available only to iPhone users? Is there anything else I should be aware of?

Regarding running the app on your iPhone, as Paulw mentioned in the comments, just change the execution target to the iPhone app. See screenshot:
Answering your other questions:
The watch extension is an extension inside your iPhone app. iOS Apps with a watch extension work on all iPhones, even if they are not paired with an Apple Watch.
Yes it will be available.
You don't need to worry about anything else. The iPhone app will work on all iPhones. The watch app will show up on only those iPhones that are paired with an Apple Watch.

Related

Activate a new watch without pairing it to iPhone on WatchOS6

Is it possible to activate a new watch without the dependency in an iPhone on WatchOS6?
Apple launched a new watch app store. But they still say that
watchOS 6 requires iPhone 6s or later with iOS 13 or later
enter link description here
So it looks like watch will still be dependent of an iPhone. Why than let it install its own apps?
You should still be able to install watch apps via iTunes once os6 is available to the public.

iOS app compatibility issue with iphone and ipad in Publishing

I developed an app that only runs on iPhone (iPad compatibility not required yet by me). After I publish it to the app store, the apple rejects the app as they test it on iPad and as I mention that it is only iPhone app, therefore, it looks ugly on iPad.
How could I submit it to app store by force apply the setting that it is an iPhone app only, not iPad?
This creates really much issue as I worked a lot and seeing this rejection made my heartbreak.
Apple have stated in their app-store guide lines that iPhone apps should run on iPad. Unless there is some really special need otherwise, which you must be able reason with them.
Check here: https://developer.apple.com/app-store/review/guidelines/
In addition to that it is really easy to make iPhone application compatible in most of the cases, just try and run it once on iPad device( or simulator), and you might find the crash and be able to fix that easy.

App gets rejected by Apple multiple times

I submitted my app multiple times to the App Store and got the same error twice.
Thank you for your resubmission. We continue to find the following: 2.1 Details During review, your app crashed on an iPad running iOS.
My App is iPhone based so for that I have selected Target-->General-->Device-->iPhone.
Also iPhone Target/Project-->BuildSettings-->TargetIphoneFamily-->1
So why are they testing my app on iPad since it is configured for iPhone only?
Actually apple provided the guidelines for iphone apps to be approved.
Section 2.10 says: iPhone apps must also run on iPad without
modification, at iPhone resolution, and at 2X iPhone 3GS resolution.
check this link
https://developer.apple.com/app-store/review/guidelines/#functionality
Its because the application which you develop can be downloaded on iPad from App Store. On iPad it runs with 3.5" device screen size.
So if you have any specific feature like calling then you can display message to user like, "This device doesn't support this feature" else the features which are available on iPad should work without any issue.

Issues running Apple Watch glance app in simulator

I'm trying to test my apple watch glance for my iOS app using the simulator, however I'm getting some very strange behaviour. When I launch the iOS app in the simulator it works without problem and the app is fully functional. However , when I then try to launch the glance app for apple watch afterwards it shows up, but the iOS app no longer works (if I try to launch it from the simulator it immediately crashes) and the data that's in the app sharing group doesn't show up on the watch (but if I relaunch the iOS app simulator from Xcode it shows up there).
I've checked both apps and they are configured for the same sharing groups and that is definitely the case.
I just don't understand why running the iOS app and the apple watch app in the simulator won't work / behave correctly together?
Credit to #WhiteTiger for this answer:
if you're using watchos 2 appgroup the system does not work on the device, you should use wcsession as the documentation indicates.
Or look at updating to use the WatchConnectivity approach instead

Can a real iOS device and Watch Simulator communicate for Testing purposes

I want to create a watch app for an existing iOS app.
But I am in a situation that i don't own a apple watch and my existing iOS app will run only on real devices not on simulator.
Is it possible to run the app on the iphone device and test my watch app in the watch simulator?
Pairing a real iPhone and a Watch simulator is not possible at least at the moment. I make this conclusion because of 3 reasons:
A Watch simulator automatically pairs to an iPhone simulator during the installation process.
It is not possible to unpair a Watch simulator from the interface at all.
Bluetooth is not accessible on a simulator to communicate with real devices. Here's a proof.

Resources