watchOS2 and iOS8 dilemma - ios

I have an app, which is targeted primarily at iOS8 users.
I'm thinking about porting it to AppleWatch, but i've faced the issue.
My first thought was using watchOS2 for that purpose because of its wider possibilities and my key target audience, who have AppleWatch have already upgraded to iOS9 and watchOS2.
So my question is - Would it be possible for me to create and successfully deploy the app to the AppStore with iOS8 as an app bundle target and watchOS2 as an Watch app bundle target? Will it create any conflicts for the end user?
Thank you.

I am doing something similar. The only implication of what you are asking is that the Watch app will only be available to those users running iOS9 on their paired devices (as this is needed to upgrade the Watch to WatchOS2). In other words your app will then be available to three platforms: iOS8 devices, iOS9 devices, and Watches paired with iOS9 devices. Hope this helps?

Related

Implications of converting dependent watchOS app to independent with watchOS 6

I am considering updating to an independent app for watchOS 6 (as Apple suggests) but it's not clear to me what will happen to users of older watchOS versions that have my app installed. More specifically:
What will happen if a user had the dependent app installed on their watchOS 5 watch but downloads an update of the iOS app (which now lists the watch app as independent) for their connected iOS 13 iPhone? Will the watch app be uninstalled or not function at all (since it will try watch connectivity with an iOS app that no longer supports it)?
This will definitely occur, since, according to official page:
watchOS 6 will be available for Apple Watch Series 1 and Apple Watch Series 2 later this fall.
I think this is not a hard question. An independent app means that the app can work alone. But it doesn't have to. An independent watchOS app should work with or without the iOS companion app. If you watchOS app can't work properly without iOS companion app, it is not an independent app. You should refactor your Apple Watch Extension or just leave it as not independent.
Here are what I believe should be true:
If you installed an Apple Watch app with its iOS companion app, both apps are removed if you remove the iOS app.
However, if the Apple Watch app is independent, you could installed it alone without install the iOS companion app.
For the second rule, there are some pitfalls as a developer. When you are debugging an independent watch app, it is listed in Watch app on iPhone. However, since there is no iOS companion app, you can't remove it entirely on iOS. Even if you have removed it on Apple Watch, it is still shown as not installed in Watch app.

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

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.

Can I opt that my app support up to iOS 8.4?

I have submitted app and it got rejected as it crashed in iOS 9 devices. Can I opt out for iOS9 like I will say my app will support up to iOS 8.4. I don't want to support iOS 9?
No, you can not opt out of the current (or about to be released) iOS version. Apple will test iOS app submissions to their App store on the iOS version currently running on the devices that its customers are currently buying or will soon be buying just days from now. And that's currently iOS 9.0. Why put an app in the store that will crash a couple days after a customer buys it just before upgrading their device?
Also, most apps built with the SDK for the previous iOS version should work on devices running the next iOS version, perhaps after testing (and tweaking API usage) on devices running a beta version of that next iOS version, which is available to all enrolled developers. This testing does require Xcode 7 (although using the Xcode-beta or GM makes some of the testing and debugging a lot easier). There are other ways to put a test app on your test device, such as Ad Hoc deployment via iTunes.

Can an IOS app only support iOS7?

I built a game which fully optimised with iOS7
many effects are not supported or not run well in iOS6
and cannot run in iOS5.
May I know if it is acceptable by App Store?
and Can I ask user to upgrade to iOS7 if detect device is below iOS7?
thank you
yes. You can set but you lose most user my suggestion set iOS6 as your deployment target it's best.
I highly recommend that you only support the latest two versions. Supporting the latest three iOS versions would only be necessary on the brink of a new iOS release. Supporting iOS versions that hardly any of your users have is a waste of time and money. Since Apple users traditionally update their device OS sooner rather than later it is beneficial to follow that trend.
iPod touch and iPhone 3GS and some of model doesn't have iOS 7.
Yes, i know an application that is only supported on iOS 7.0 and above. Check this
https://itunes.apple.com/us/app/buzzfeed/id352969997?mt=8
You can alert user if iOS version is less than iOS7 but for that your app needs to support iOS < iOS7 and all features UI and functional should be supported right from minimum supported version. App store may reject your app if it technically supports lower versions but is buggy.
Instead, you should set application deployment target as iOS7. This will allow to download and install your application only on iOS7 and above device.
For setting this goto your Xcode project->Target->Build Settings->iOS Deployment Target and set iOS7.
So when user visits your app on the app store he will see this for your app.
Even Apple's own applications like Pages, Keynote support iOS7 and above.
Hope that helps!
Yes, your application support only iOS 7. but if you set target version lower like 6 then your application will crash and face negative impact and just showing a popup to user is not a very smart idea for a New application.
yes, you can set your deployment target to iOS7, it will then only install on iOS7 devices.
NO, you can ask the user to upgrade if your app is not installed in that device, user will by default get a pop-up that this app only support iOS7 and above.
yes, you can set your deployment target to iOS7
you click Project-> Target-> Build Settings-> iOS Deployment Target and set iOS7
and also set
you click Project-> info -> iOS Deployment Target and set iOS7
Yes you can do this by set deployment target to IOS7 which means, your app will run on IOS7+ devices. It is 100% acceptable by app store.
Yes you can publish app that only support ios 7
You need to set at two places

How can AppStore apps stop supporting ios4?

I have a app on App Store supporting IOS4+ device. However, I really wanted to use some new API feature in ios5 and decided to bump my base SDK to IOS5.
My questions is, what is the setting needed on iTunesConnect? Does Apple allow me to do this? What will happen to those clients running my app on IOS4? Will they just stop receiving update notification from app store?
If Apple forbidden the change, what is the best option for me? I don't want to make another app which has the same interface/functionality but with only iOS5+ device support..
All you need to do is update your project by setting the Deployment Target to your new minimum version. In this case, set the Deployment Target to iOS 5.0 or 5.1. Build and test. When your app is approved, it will only be usable on devices with the version of iOS you selected, or later.
Existing users still on iOS 4 will still be able to use their existing app. But they can't install any further updates.

Resources