iOS 8 APIs on iOS 7 devices - ios8

It seems that new ios 8 APIs such as Local Authentication run on ios 7 without crashing. Of course, the actual policy validation fails (gracefully without a crash), but given that the API is brand new in ios 8, how is it that the app does not crash upon calling this new API?
In the previous versions we had to do a check before calling a new API.

This is just speculation, but sometimes a "new" API was already available in the older versions of the OS, but has not been made available for developers outside of Apple. However, if you submit such an application to Apple there is a good chance that it will be rejected.

Related

Do I need Xcode 7 and Swift 2.0 to update my app

I have an UI issue in my Swift 1 (Xcode 6, iOS 7.1) app on devices running iOS9. I've tried to convert my app to Xcode 7 and Swift 2.0 but I'm running in a lot of issues here.
To give my customers a quick fix until I've figured out whats wrong I was wondering if I can download and install Xcode 6 (the version I build and uploaded the app last time) correct the UI issue (I know what to do) and upload the app again.
In a nutshell: Will Apple deny an app update with an old Xcode/Swift version?
The “Submit Your Apps” page currently (as of 2015-09-23) says
If your app still depends on Xcode 6, you'll need to keep a partition or external hard drive with OS X Yosemite installed in order to submit from Xcode 6.
This clearly implies that you can still submit apps with Xcode 6 (and therefore with the iOS 8 SDK).

Parse SDK Windows 8.1 : Device not getting registered on Parse.com portal

I followed the documentation(https://parse.com/docs/dotnet/guide#push-notifications-setting-up-push) by Parse for sending Push to Windows 8.1 device. But, I am not able to get through the first step ie. "Installation". As per the documentation I followed , the channel should get registered instantly. I have enabled "Toast capable" within the Package.appxmanifest file in my Windows 8.1 Universal App(C#).
I have also authenticated the App by adding the Package Security Identifier and the Client Secret to the Parse.com Windows Push Credentials settings. But still no success. Can anyone tell me if I am missing anything or if Parse SDK is supported for Universal Windows 8.1 C# App.
I previously had Parse working for WP8 as per instructions here. So this is to say it is definitely doable, follow those steps there to see if you missed any steps.
Caveat
We are using Cordova, but I had to end up doing this part natively. It was working in December 2015 but mysteriously this year we had issues with Parse on all 3 device platforms (iOS, Android, WP8). I'm still spending time trying to figure out why WP8 just doesn't work now, can't even get the device to register to a channel anymore...

Is it possible to upload an iOS app to App Store for internal testing from Xcode 7 beta?

Is it possible to upload an app archive to the App Store in Xcode 7 beta for internal testing with Test Flight?
Has anyone been able to do that?
Note: I am asking about submission for prerelease internal testing with Test Flight. I am well aware that releasing the app to the public is not possible from beta versions of Xcode.
Update
I was able to use Xcode 7 beta and upload binary to the App Store's prerelease section. After that I was able to open it from the Test Flight. Code Signing identity was: iOS Developer. Provisioning profile was "Automatic". Both values were set for Debug and Release.
Yes, you should be able to upload your application via beta Xcode 7. But, the problem is to have potential bugs and that's also why they name it beta. You should take this as a risk when you decide to upload your application via new Xcode. It's okay to go with this way if you are handling your personal application. For your client or business, it's the best to use a stable version.

Application data lost after upgrade iOS 7 to iOS 8

Lets say- My application ABC
Application users are facing problem with application while upgrading iOS 7 to iOS 8.
Please check below scenario:
iPhone 5s - iOS 7 - users installed my application (This app supports to iOS 7 not iOS 8).
Users downloaded video files in document directory up to size may be 2 GB.
Application working fine with iOS 7.
When iOS 8 released by apple - users were upgraded devices iOS 7 to iOS 8 with above installed application.
All downloaded videos lost which was saved in document dictionary but it still shows space consumed in device setting.
If users download again same video then it works fine but it shows double consumed memory in device settings.
Would you please give me suggestion for above problem then I can suggest to my application users?
We're having a similar issue - and it only surfaced now that we submitted an Update to Apple (our App crashes on launch on iOS 8.1 due to this change!!! Even though our App has deployment target of 7.0 we're affected, talk about backwards compatibility...).
Apple officially outlines what changed in this technical note: https://developer.apple.com/library/ios/technotes/tn2406/_index.html
iOS 8 changes the locations of the standard directories used for
storing user and app data (e.g. Documents, Library). While the
locations of these directories have always been an implementation
detail, some applications improperly assume that the Documents and
Library directories reside in the same directory as the application's
bundle. iOS 8 splits the data of an application from the application
bundle. Code which attempts to derive the path to the Documents or
Library directories will return an invalid path on iOS 8. Attempting
to access this path will fail, and may terminate your app.
If I understand correctly, even though you were using a proper method to locate the Documents directory on both iOS 7 and iOS 8, you will simply get two different paths. That means users who upgraded from iOS 7 to iOS 8 still have their data under the old Documents path, which resides in your App's bundle. I have no idea as to how Apple thinks we should upgrade our Apps or if there's some automatic copying going on.
I'll have to take a look with a tool like iFunBox (an iOS file explorer) to see what happens.

IOS 8 with IBM Worklight

I am using IBM worklight 6.0 for building a hybrid application. My application is running perfectly on IOS 7. When I migrated the same code to Xcode 6 beta for IOS 8 build, only the splashscreen with loader came up and the app hangs. From the logs I saw that the application goes to skinLoader.html. None of the events are called.
To my curiosity I created a dummy worklight iphone environment and ran it on IOS8 and again the app got stuck on the splash itself.
I had a deviceready event on the html which was not called. So I am curious to know if there are other issues other than the userAgent issues with the worklight for IOS8.
It is a known bug in iOS 8 beta 1 in Cordova applications and it is expected to be fixed in upcoming releases.
Applications that use Apache Cordova/PhoneGap are broken due to a bug that causes the window.navigator.userAgent object to become undefined when window.navigator is replaced by a pure JavaScript wrapper object.
via
and it is already answered in this forum.
A fix for the stuck-at-splash is provided in an iFix release from September 18th via IBM Fix Central.
For more information please see this question: Worklight 6.1 and iOS 8
Scenarios:
If a user has already upgraded to iOS8 and the application got stuck on the splash screen, AFAIK the way to handle it is to either:
Uninstall/re-install the application from the App Store.
Install a newer app version (see below) from the App Store.
If a user did not yet upgrade to iOS8, it is best to use the fixed Worklight Studio to generate an updated app, increment its version and re-publish it. Then, Remote Disable the existing version and direct users to install the fixed version from the App Store; the fixed version should then continue to work after upgrading to iOS8.

Resources