No IAP Capability for Independent WatchOS App in Xcode - swift

I can't find the In App Purchase capability in Xcode to add to my Independent WatchOS App (i.e. no iOS app). The bundle ID has the capability naturally (I enabled it when registering it) but the option is not in Xcode (only Apple Pay). How do I add IAP to my watch app now? Without a 3rd party extension?

There is no need to add an In-App Purchase (IAP) capability in Xcode to an independent watchOS app. However, your watch app must target watchOS 6.2 or later.
You can setup your specific IAP's in App Store Connect to get their product ID's.

Related

How can I test Apple TV Development without a Apple TV Device UUID?

Xcode is telling me that I cannot create a tvOS UITest Target because I don't have a provisioning profile set under tvOS Development. However, I am able to create and use a tvOS Unit Test Target and it works fine, as well as a tvOS Target in general. Is this an Xcode bug?
When I go into Apple Developer it says I must have an Apple TV Device and register it in order to test it says I have no device and I must register a device. Surely they don't require engineers to physically have this device in order just to test?

How to release only independent Apple Watch app to App Store from combined iOS/Watch Xcode project

I used the iOS app with Watch app Xcode template and plan to eventually release both an iOS app and Apple Watch app. The Apple Watch app is simpler so I'd like to release just the watch app on the App Store initially.
Is it possible to just release the Watch app portion of an Xcode project to the App Store?
First of all You need to have three target at least, iOS app, WatchOS app, and Watchkit Extension app.
Select watch app and make sure Build identifier follows the pattern .watchkitapp (example: com.ryanwatchapp.app.wathckitapp)
Select watchkit extension app and make sure Build identifier follows the pattern .watchkitapp.watchkitextension (example: com.ryanwatchapp.app.wathckitapp.watchkitextension)
Other processes are same like iOS apps; archive,increase the build number and submit.

Stand-alone Apple Watch app - CoreBluetooth

Is it possible to create an Apple Watch application without a need of an iPhone app ? I want to create a simple app that uses the bluetooth framework of the Apple WAtch and search for near devices. (without having an iphone around). Thank you
In iOS 13 it's possible to create independent watchOS application. More information can be found here. You have to download Xcode 11 to be able to create independent watchOS application.
To create it simply go to File -> New -> Project and select watchOS -> App as it's shown on a screenshot:
Be aware that even though it's possible to create indepentent watchOS app (e.g. with CoreBluetooth) there will be some limitations with methods usage. For example it's not possible to call this method of CBMutableService:
- (instancetype)initWithType:(CBUUID *)UUID primary:(BOOL)isPrimary NS_DESIGNATED_INITIALIZER __TVOS_PROHIBITED __WATCHOS_PROHIBITED;
You cannot create a watchOS application without an iOS app. First of all, you can only add a Watch extension to an existing iOS project in Xcode. Secondly, even if you could create a standalone watchOS project in Xcode, you wouldn't be able to publish it to the AppStore, since each WatchKit app needs to have a functioning iOS counterpart to be accepted in the AppStore, so you cannot just create a dummy iOS app.

Can I build a stand alone Apple Watch app?

In WWDC 2015 it is mentioned that watch supports native apps but I fail to see the option in new Xcode 7 for the way to just build an apple watch app without the companion app. Please let me know the way to do so, if it exists.
In fact, watchOS apps are linked to the iOS companion app.
In both versions, each watchOS app has two targets: WatchKit App - which contains storyboard, icons, etc - and WatchKit Extension, which contains the code.
In watchOS 1 (old WatchKit) + iOS 8 combination, WatchKit App is installed on Apple Watch, and both WatchKit Extension and iOS app are installed on user's iPhone.
In other way, in watchOS 2 + iOS 9 combination, both WatchKit App and WatchKit Extension are installed on user's Apple Watch, and iOS App is the only code and view installed on iPhone.
Running iOS app only requires one target, so it can run without Apple Watch (since the first iPhone OS).
But running watchOS apps needs both WatchKit App and WatchKit Extension. In watchOS 1 (the old WatchKit) because one is on iPhone and other on Apple Watch, so running apps need connecting between them with Bluetooth, so you have to carry your iPhone nearby. In watchOS 2, both are on Apple Watch, so running apps does not need connecting to iPhone and having iPhone nearby. You can connect them with WatchConnectivity framework included in watchOS 2 SDK (in Xcode 7).
So in watchOS 2 apps can run standalone, but they are not standalone at all. They install on Apple Watch when installing on iPhone, and they can connect with each other. When you create a new watchOS App, you must include it with your iPhone app when submitting it to the iTunes Connect.
NOTE: This makes watchOS apps faster and more reliable.
You can't build native watch apps yet. Maybe in a later build of Xcode 7, but so far all Apple has announced is that "at some point in the near future" you will be able to build a native Watch app.
In watchOS 2, watch apps are "native" in the sense that the WatchKit extension now runs on the Apple Watch instead of the user's iPhone. This means it can no longer share data with the iPhone app using shared app groups but must instead use the new Watch Connectivity framework to pass data back and forth. It also means that watch apps can be much faster and much more capable without the phone being present.
However, a watch app must still be bundled with a companion iOS app, at least for this year.
In iOS 13 it's possible to create independent watchOS application. More information can be found here. You have to download Xcode 11 to be able to create independent watchOS application.
To create it simply go to File -> New -> Project and select watchOS -> App as it's shown on a screenshot:

sending project into personal iDevice

I have an iPhone 4S with iOS 5.0.1 and also have xcode 4.2. When I try to build & run my app in my iDevice instead of iOS 5.0 Simulator, it pops-up error like this: "No provisioned iOS devices are available with a compatible iOS version." so is there any way to send my app into my own iphone?
You'll need to make sure your device has a provision profile installed that includes the device's UDID and the app's ID. If you're fairly new to iOS development and haven't installed one of your apps on a device before, you'll definitely want to go through the instructions in the iOS developer portal -- they'll walk you through the provisioning process. Also, if you've only recently updated the device to iOS 5, make sure that you tell Xcode to use the device for development.
Did you purchase the iOS Developer Program for 99$/year?
Did you register your Device with your UDID?
Did you install the Team Provisioning Profile on your iPhone?
In order to test your application on an iOS device (such as an iPhone or iPad), you must create an Apple provisioning profile and developer identity. Then you'll also have to create an app ID and register your device. If you have purchased a developer profile, I highly suggest following Apple's step by step guide on how to do this.
For now, here's a guide to to the first steps:
http://www.dummies.com/how-to/content/how-to-create-an-apple-development-provisioning-pr.html
Once you've created a developer profile, you can just use Apple's step by step guide