Why am I still seeing installations for old versions of my app? - windows-dev-center

In the windows dev center, I am still seeing old versions of my app being installed - from the Analytics section. I assumed that when I upgrade the package in the store, that the old packages no longer become available. Or is that not the case?
I've updated my package many times in the past month and the versions being displayed should no longer be downloaded and installed. They wouldn't have been available in the store for much longer than one month.

If you added a new package targeting a higher OS version and didn’t delete the previous package targeting an earlier OS version, then the previous package remains available to users using devices with earlier OS version.
For example, if you add a package targeting Windows 10 Mobile and keep your previous package targeting Windows Phone 8.x and earlier still over there, which means your app has two packages now, then users using Windows Phone 8.x still can get the previous package.
If you hope only the new package can be installed , then the old package need to be deleted.

Related

Is it possible to update old xcode code to the latest xcode?

So my developer developed my app in xcode 5 and i have the latest xcode version. When i tested the app on my version, a lot of features stopped working. My developer told me that it could be the different xcode versions between us. I was wondering if it is possible to fix this without changing the SDK or xcode version.
If it comes to me changing the xcode version, will i not be able to add apple's latest features to my app?
Also, when i add an SDK into the SDK folder, do i have to replace it with the current one or do i just leave both in there together?
BTW i don't know anything about programming, so i only speak noobish.
Thanks!
When parts of an application stop working after the version of Xcode is updated, the reason is almost always a change in the SDK since newer versions Xcode contain newer versions of the SDK. Additionally, stuff from older SDKs often gets deprecated and is eventually removed.
However, you should be aware that Xcode 5 is very dated nowadays and should not (and cannot) be used for developing applications for iOS 8. As a rule, when a new version of Xcode comes out, all existing code should be updated to the current version of the SDK and developers should upgrade to the latest version because it prevents issues like the ones you are describing.
You need to upgrade the code as per the latest iOS version. All the deprecated methods need to be replaced with the new ones. Also the codes that once worked with previous versions of iOS may be or may not be working with the latest version of iOS i.e iOS 8. So an upgrade to the code will be required.

iOS how to upgrade the last compatible version

Apple offers the user the option to download an older version of the app that is compatible with the device. if device OS is not compatible with latest version of application. Apple is now displaying a message that allows users to download the "last compatible version" of an app. like below
It is a potential problem for developers if Apple starts re-distributing old versions of apps that their creators thought were safely dead and gone from the App Store. Now that older versions of apps are apparently getting resurrected, so how developer can manager last compatible version of application
(1) How developer can upgrade the last compatible version of application. should he can manage the 2 code base. one is for old OS and second for new OS ? is there any way to submit different binaries to the App Store.
(2) if there is any severe issue with last compatible version of application : how to remove it or upgrade it ?
(3) is there any way to specify that whether old versions of an app are viable.
I think developers should be able to submit different versions for different iterations of iOS so they can ensure the old versions of their app receive what functionality updates they can.
Link
http://arstechnica.com/apple/2013/09/apple-resurrects-old-app-versions-to-run-on-old-ios-hardware/
You can't upgrade the old versions, but you can remove them so that users can only download your latest one, or nothing. See this answer.
you can disable the availability of previous versions in itunes connect under Rights and Pricing. sadly there is no way to update previous versions.

How to build a MonoTouch app with SDK version 4.x (not target earlier version with current sdk)

I have a legacy application distributed Ad-Hoc that runs on older iPod Touches (running iOS 3.1.3) with a custom connection to rather expensive 3rd party hardware. Unfortunately my annual renewal of the provisioning profile (which also involved rebuilding with the most recent version of XCode that will compile armv6 (4.5) and the corresponding SDK) seems to have broken the app.
I know that you can set the target platform earlier (and I've done that). But my problem seems to be specifically related to the SDK. The hardware these devices interface with is several hundred miles from me so testing is very difficult.
My first set of problems were related to deprecation of the TouchID APIs, but I've worked around that problem. Unforatunately, I still have crashes and they are proving very elusive to debug.
The simplest solution for me would be to just rebuild against the older SDK (4.x). Is this possible? To make matters worse my Mac is running 10.8.4--so there's a limit to how far back I can get XCode working on it.
I was able to get this to work by renaming my current version of XCode to something else, downloading and installing XCode 4.4 something from the developer site. Then I downloaded an earlier version yet and used the techniques described in this post:
Adding Older iOS SDKs to Xcode 4.1 in Lion
To extract the older SDKs. I was then able to copy these SDKs into XCode 4.4 (as described in the post). Now I was able to build using older versions of the SDK.

Upgrading Xcode issue

I am currently working with Xcode 4.5.2 and I'd like to upgrade it to version 4.6. Will installing the new version completely replace the previous one? If so, is it possible to just "extend" your current version and keep the SDKs you already have? I wouldn't like to lose the compatibility with my current projects...
Thanks!
Xcode 4.6.x supports iOS 4.3 through 6.1. Xcode 4.5.x supports iOS 4.3 through 6.0. Upgrading to 4.6 is not going to result in you losing any compatibility.
"Will installing the new version completely replace the previous
one? If so, is it possible to just "extend" your current version and
keep the SDKs you already have?"
It is possible to install them side by side which allows you to start picking up newer versions as early as preview while being able to fallback to the stable version you've been working with. I roll between versions in parallel. Remember that developer tools have bugs too :)
Go to Applications and rename Xcode to Xcode45. Login to your developer account at apple, look under it for download older versions (which actually has newest version) and download the Xcode dmg for 4.6. Run it and drag to Applications.
If you download from the developer web site rather than the app store you can have multiple versions of Xcode installed at the same time. At one point I had 4 or 5 versions.

Adding an old SDK to Xcode 4

I have read that you can have multiple SDKs in Xcode 4 installed in the Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs directory. What was not made clear is how you can get these different SDKs. I'd at least like to test for iOS 4.0 instead of the latest iOS 4.3. Though it would be cool to test for 3.2 also. My Xcode 4 installed only with the latest 4.3 SDK in this directory. Is there a convenient way to add them?
When you install Xcode 4.0, your previous version get's renamed to something like "Developer-3.2.5". If you still have a previous version of Xcode installed you can simply do this:
cd /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs
sudo ln -s /Developer-3.2.5/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk .
sudo ln -s /Developer-3.2.5/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk .
If you don't have a previous version installed, uninstall Xcode 4.x and then install Xcode 3.2 and start progressively from there. After you install Xcode 4.x your previous version of Xcode 3.x will get renamed on disk after which you can symlink the 4.0/4.1 SDKs under Xcode 4.0. Relaunching Xcode 4.0 will give you 4.0 and 4.1 in the drop down option list.
No there is not a convenient way, unfortunately. The easiest way is to install an earlier version and then upgrade it, progressively if necessarily, to the latest version.
The XCode downloads available from http://developer.apple.com/downloads appear to contain packages going back to before 4.0. I recently hit this same issue and was able to determine that:
From 4.1 onward (Maybe earlier - still waiting for the download for XCode 3.2.3 and SDK 4.0.1), the packages contain sub-packages named quite similarly
Despite the inner package name, it appears that the actual iOS SDK will be included for the version mentioned on the primary DMG file. For instance, xcode_3.2.5_and_ios_sdk_4.2_final.dmg may contain what appears to be SDK packages for a bunch of versions, but the iOS SDK is only fully included for 4.2.
I was able to get my hands on 4.1, 4.2, and 4.3 by downloading the DMG XCode installers, viewing package contents, and running the corresponding iPhoneSDK4_X.pkg installer.
After installing, I had to copy the stuff it dropped from /Platforms/iPhoneOS.platform/ into the new location at /Developer/Platforms/iPhoneOS.platform.
In addition to the SDKs for iPhoneOS, I also made sure the iPhoneSimulator.platform stuff was there. For me, it seems that XCode handles installing most device support for debugging..
I hope this helps! The tricky part for me was realizing that the package names may be the same, yet the contents may be different. Each download only seems to have included a single full SDK.
Once I did this, i was able to change my base SDK in XCode and build against the target SDK.
Cheers!
PS: Once you add additional SDK's, you will likely see additional destinations appearing in your schemes list with identical device names for the physical devices. It drove me nuts, as each one is associated with one of the SDK's, yet the SDK version isn't listed in the list. Not bad once you figure out which is which, usually the symptom being a failed build, since it targets another SDK based on which physical device is selected. More info on this post: duplicate device scheme in xcode 4

Resources