ContactsUI.Framework Crash on IOS 8 - iphone

There are two new frameworks for fetching Contacts from ContactsBook in Xcode 7 sdk.
i.e Contacts.framework & ContactsUI.framework
I have added these frameworks in my app. For IOS 9 it is working fine.
But when i try to run my app in iPhone 5 with IOS 8 then the app is crashing on start.
The error is :-
dyld: Library not loaded: /System/Library/Frameworks/ContactsUI.framework/ContactsUI
I can understand that the framework or library is not available in IOS 8 but how about backward compatibility?
How will i be able to use my app in IOS 8?

You can not give the backward compatibility because the ContactsUI is not available before the version iOS 9
Its only available after the iOS 9
Check the apple documentation:
Available in iOS 9.0 and later

make sure the framework that's not available on iOS 8 is set as Optional

Related

I want to change the version of the framework.[swift4/xcode9]

Currently I am migrating applications created with xcode 8 / swift 3 to xcode 9 / swift 4.
When I build and test on the actual machine without coding error.
It will fall in the middle of launching the application.
The real machine is iPhone 7's iOS 10.1.
■Error_message:
■Consideration:
In xcode I set it to find a library for iOS 11, but I think that there is no library for iOS 11 in iPhone 7.
I think that updating iPhone 7 from iOS 10.1 to iOS 11 will start the application without problems.
However, since I want users to enjoy the application from iOS 10.1 to iOS 11, I would like to use a library for iOS 10.1 instead of a library for iOS 11.
When converting from swift 3 to swift 4 automatically, (I do not know the timing)
I think that xcode has been set to automatically search for iOS 11 libraries.
■Questions:
How should I use the library for iOS 10.1?
Or, for example.
Can I allow iOS 11 users to apply libraries for iOS 11 and iOS 10 users to apply iOS 10 libraries?
■Supplementary information.
xcode9/swift4
iPhone7/iOS10.1
DeploymentTarget:10.1
I changed the setting from "On" to "Default"
because the following error was displayed when I moved swift 4.
error_massage:
The use of Swift 3 #objc inference in Swift 4 mode is deprecated.
Sorry, the application launched when I performed "clean".

Different UI behaviour for iOS 7

Recently, I uploaded my application to Apple store from XCode 4.x with OS 10.7. After that I upgraded my machine with Xcode 5.0 to start with iOS 7. Now I downloaded my application from the Apple' store to iPhone 4S with iOS 7 installed. I see application's UI on device is totally different from the iOS 7 simulator. On device navigation and Tab bar are old fashioned like iOS 6 while I am expecting like iOS 7.
I think the reason behind this that the application has been uploaded from XCode 4.x and when I will upload it from Xcode 5 it will show the latest UI of iOS7.
Do anyone facing the same problem? Do you think Apple should do it itself?
You understand it right. Applications must build and updated on xCode 5 for showing the new iOS design.
You must check your app on xCode 5 before uploading it as "iOS7 ready", Note that your app might work fine with the old design on iOS 6 but no one can check that for you as they might be UI problems and even crashes depending on your old UI and code.
If you are using 100% iOS native interface you should not have to much work.
You are app is built on iOS 6 SDK, To use iOS 7 UI features, build your app using iOS 7 SDK. iOS 7SDK will be available with xCode 5. SO upgrade to xCode 5 and build app against base SDK 7.
Xcode 7 doesn't exists ;)
Your problem is that you compiled your app with Xcode 4. Only Xcode 5 is embedding iOS 7 SDK. If you want to solve your problem you have to submit your app again but compiled with Xcode 5.
(don't forget to set your correct deployment target)

Supporting ios 5 in monotouch applications

I have an application with monotouch ios (iphone/ipad application). in my project option I target ios 6.
now when I want to download my application with a device that run ios 5 itune not allow.
If I change the target version to the 5, Does my app supports ios 6 and 6.1 yet?
Do I need to change my codes to support both of them?
If you target iOS 5 in MonoTouch, your app will work on both iOS 5 and iOS 6 devices. In general, nothing special should be done to support both iOS 5 and iOS 6. Keep in mind though, that some APIs are iOS 6 only, such as the deep Facebook integration. So don't worry much about your code, just make sure that you test your app on devices with different iOS versions.

Possible to choose between iOS base sdk?

i´ve updated Xcode to the latest version and therefore the base SDK is iOS6.
I just want to know, if it´s still possible to compile an app with the old iOS5 SDK?
Thanks for your help
No with xcode 4.5 you can only compile with the iOS 6 SDK, but you can still target the iOS 5 device by setting the deployment target to iOS 5 (or 4.3).
This will allow you to run the app on iOS 5, but make sure that you do not call any methods that are iOS 6 only.

We intend to support the iPhone 5, do we need to upgrade Xcode to v4.5 and use the iOS 6 SDK?

We want to update our game to support the iPhone 5.
Do we need to upgrade Xcode to v4.5 and use the iOS 6 SDK??
[edit]Apple is now explicitly rejecting applications submitted with the iOS 5.x SDK and iPhone 5 default images, saying "Your app contains a launch image with a size modifier that is only supported for apps built with the iOS 6.0 SDK or later."
Old answer :
Yes you can use Xcode 4.4 or below to support iPhone 5.
The iOS (6) will run an app in letterbox mode if there is not a 640x1136 splashscreen image in your resources. The image must be called Default-568h#2x.png (if your splashscreen is Default.png in your Info.plist).
So just add this image on your Xcode project whatever version it is, and the app will run in full screen mode.
This being said, there are chances that Apple will not let you install an app compiled with Xcode 4.4 or below on an iOS 6 device (and of course no iPhone 5 simulator for Xcode 4.4 and below). [edit] As told in the comments, yes, you can install on an iPhone 5 / iOS6 with Xcode4.4.
All apps created with older SDK works perfectly on newer iOS versions, so iPhone 5 should also run every existing app without any problem, so you don't need to use the iOS 6.0 SDK to support iPhone 5.
I think you mean to ask to support iOS 5. If that is the case then you really do not need to upgrade your Xcode version. YOu can use iOS SDK 5.0 or iOS SDK 5.1 which contains Xcode version 4.2 and 4.3.
You really do not need to use iOS SDK 6.0 beta. I hope this may help you.
All the information about iOS 6 are under NDA, and the iPhone 5 is not even announced.
But there are rumors, that the iPhone 5 will have a screen resolution of 1136*640. There are hacks for Xcode 4.4.1 out there that make it possible to create that screen resolution in the iPhone simulator. So, I think that would be a viable way for testing the rumored new resolution.
Regarding iOS 6: if you are a paying iOS developer, you can download iOS 6 to test your app against it (We don't talk about products under NDA here).
You can use this receipt http://0xced.blogspot.co.at/2012/08/prepare-your-apps-for-new-iphone.html for start iOS Simulator (iOS 5 only) with new screen size.
Yes, You need to update your Xcode to build for iPhone5. Do the following steps for this:
Download Xcode 4.5 with iOS 5.1 SDK.
Build your apps with Xcode 4.5.