I am getting multiple warnings when I am trying to run my XMPP chat client on iOS 6
'dispatch_get_current_queue' is deprecated: first deprecated in iOS 6.0
Not sure how to fix these warnings. Is updated XMPP framework available for objective C compatible with iOS 6?
This was reported at the project page:
https://github.com/robbiehanson/XMPPFramework/issues/115
https://github.com/robbiehanson/XMPPFramework/pull/140
Someone uploaded a patch. Either give that a try, or just live with the warning until the patch is accepted.
You can fix the warning in the XMPPFramework with this line:
NSAssert(dispatch_get_specific(moduleQueueTag), #"Invoked on incorrect queue");
Related
I have imported CallKit framework as optional only. But import CallKit crashes while running on iOS 9 at launch. But works perfectly on iOS 10.
It worked fine in XCode 8 beta 6 but this issue is happening only on XCode 8.
The code is in Swift 3.
Any help is much appreciated.
CallKit API is only for iOS 10.0+. It won't work for iOS 9.0. Use a condition for iOS version 9.0 and 10.0 to avoid the crash.
Reference : https://developer.apple.com/reference/callkit?language=objc
There is/was a bug in Swift 3 language that wrongly links module libraries github pull request, that is fixed now, but the fix is not yet implemented in XCode, not even in beta.
You could get latest swift toolchain build from link and install it to XCode to try and see the fix, but the app would not be approved for Appstore as it's stated here
You got two solutions;
wait for apple to release XCode with new version of swift 3.0.2+
or revert your code back to swift 2, where it works, with "Use Legacy Swift Language Version" flag in Build Settings
If you choose to revert back to swift 2, brace yourself with a lot of patience :D
My app uses UIUserNotificationSettings, which I noticed is deprecated in iOS 10. However Xcode isn't displaying a Buildtime deprecation error for this method. How can I make Xcode display these newly deprecated methods?
You're not seeing deprecated warnings because you're likely targeting an OS that's pre-10.0. If you wanted to see the warnings, change your deployment target to 10.0 and the 10.0 deprecation warnings will appear.
I am using AFNetworking and get following warning printed on console while running app on device but no warning on simulator. Any help would be appreciated. Am using Xcode 6.1.1 on Yosemite for iOS 8.
objc[306]: Class AFQueryStringPair is implemented in both /private/var/mobile/Containers/Bundle/Application/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/AppName.app/AppName and /private/var/mobile/Containers/Bundle/Application/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/AppName.app/AppName. One of the two will be used. Which one is undefined.\
I also ran into this problem. You are probably linking to AFNetworking twice somehow. Double check that AFNetworking is only linked once in your build hierarchy.
Please see this answer for more detail.
Despite the release notes stating this is supported and previous version of Xcode 6 working ok, I have a rather verbose error message when trying to build with 7.1 SDK.
"iOS targets using Swift cannot be built against an SDK older than 8.0, but the effective SDK is 7.1."
Has anyone else seen this?
I just had this issue, but with the app store build of Xcode 6.0.1 (6A317).
The issue was that I had copied old SDK's (7.0, 7.1) into the Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs directory. This was causing Xcode to use the wrong SDK for building.
Deleting them solved this problem for me. That'll teach me for mucking around with Xcode.
I am doing iphone project, in that am using ODataProtocol, but i can't able to find the Odatagen library for iOS 6, in OData Upto iOS 4.3 libraries.. how can i use that Odata in my app for iOS 6.
I'm not 100% positive what the O.P. is looking for, but I'm guessing it's Microsoft's Open Data Protocol. I found an "ODataForObjC" project on github.
This SDK hasn't been updated in almost a year, but I just built the "crimeData" sample app that comes from that project in Xcode 5 with no hassles except tons of "deprecated" warnings and the actual service it's trying to connect to is throwing a "403" error.