Is Bitcode required for iPadOS apps? - bitcode

Apple documentation does not mention whether or not bitcode is required for iPadOS apps:
For iOS apps, bitcode is the default, but optional. For watchOS and tvOS apps, bitcode is required. If you provide bitcode, all apps and frameworks in the app bundle (all targets in the project) need to include bitcode
If some one found a valid source of information regarding this question, please share.

Related

What are the effects of disabling BitCode in Xcode project settings?

Bid code is by default enabled on XCode project settings.
I am dependent on few third party libraries where I get compilation error as the SDK is does not support BitCode?
If I disable the error is gone. But I do not know the after effects of this change?
Turning it off simply means that your app will live on the app store the same way it did before Xcode 7 & Bitcode. When it's downloaded, binary code for all supported architectures get downloaded from the App Store.
If you turn BitCode on, then the intermediate representation of the compiled program gets uploaded and Apple will able to recompile and/or optimize your apps for future architectures (as described here).
Turning it off is very safe for the time being.
More information can be found in this related question.
And like you, I'm waiting for certain third party libraries to be updated for BitCode support (in my case, it's the Google Analytics library).

Xcode Plugin release on Mac App Store

I have just started developing a plug-in for Xcode 6. I am planning to release that on Mac App Store.
When I tried to search the Mac App Store to check if there are any Xcode Plug-ins available or not, I could not find any.
So now I am wondering whether Apple will approve Xcode plug-ins or not.
Has anyone tried to do something simillar? Please suggest.
Note that there is no formal support for Xcode plugins, so this information may change and/or become obsolete as Apple makes changes to Xcode. Also, as it is unsupported, you will not be able to submit this plugin to the Mac App Store.
This quote is for older version of Xcode, but I think the answer is still the same. You can read more here.

Why do Swift standard libraries need to be copied and embedded in every Swift app? [duplicate]

I have just create a simple project using swift language, then i compile and archive it to generate .ipa file. IPA file is so big, it is about 5 MB.
is it right(no problem) at there? when i create it in Objective-C, it is only about 500kb.
Yes, that's about right. The libraries containing the entire Swift language have to be embedded in the IPA. Those libraries are part of the app, not part of the system - because Swift has to work even with backwards compatibility, in part because it is constantly changing (independently of system updates), and in part in order to work on iOS 7 (where the system has never heard of Swift). And they are about 5MB in size.
To expand on matt's answer, here's a quote from the Swift blog on compatibility:
You can trust that your app will work well into the future. […] This is possible because Xcode embeds a small Swift runtime library within your app’s bundle. Because the library is embedded, your app uses a consistent version of Swift that runs on past, present, and future OS releases.
So if your newest app version was built with Xcode 6.0, and a user of your app is running iOS 8.1, and breaking changes to Swift were introduced to your app in between, your app won't break due to the iOS update. If your app just used system libraries, it could.
This allows the developers of Swift to iterate more quickly without needing to build backwards compatibility between every version.
An additional warning:
While your app’s runtime compatibility is ensured, the Swift language itself will continue to evolve, and the binary interface will also change. To be safe, all components of your app should be built with the same version of Xcode and the Swift compiler to ensure that they work together.

How can I simulate the Apple Watch for development purposes?

I just downloaded the Xcode 6 GM, and I'd like to see how my apps work with an Apple Watch connected to the simulated iPhone.
How can I simulate this new device on my MacBook?
Install Xcode (starting from 6.2) (link)
Add Apple Watch target to your project (New->Target->Apple Watch->Watch App)
Go to iOS Simulator -> Hardware -> External displays and select any Apple Watch options
Choose '[your project] Watch App' target and Run
Have fun! :)
Xcode 6.0 does not support development for Apple Watch.
Xcode 6.2 supports development using WatchKit. Check out the WatchKit Programming Guide which includes some examples and note issues reported in the Xcode 6.2 Beta Release Notes. Furthermore, be aware that most of the simulator issues mentioned in the Xcode 6.1 Release Notes still apply but were unfortunately omitted from the 6.2 notes.
Xcode does not support development of native apps for Apple Watch, but it was announced as coming in 2015.
Apple has announced WatchKit. Here's an example of what the WatchKit simulator looks like, from the "getting started" video:
There's also a WatchKit programming guide and framework reference, which seem to reveal quite a bit about how the Apple Watch will work.
Also note that while you can't exactly simulate what will truly be available to developers for the Watch, Apple has announced "WatchKit," which is the platform developers will use.
Unfortunately, there has been no release date set.
Watchkit is coming out in November of 2014. They will likely add the simulator in Xcode then.
You must have Xcode 6.2+ to develop app/extension using WatchKit.
This guide gives detailed information about apple watch development including how to run apple watch app in simulator.
Apple Watch Documentation

XCode 4.5 Stopped building my framework

Updating to XCode 4.5 seems to have broken something in my build settings and I can no longer spit out a .framework binary. It generates the Headers and all the rest of the files except for the actual binary.
Any ideas?
UPDATE: The problem seems to be armv6 architecture. Apple apparently stopped supporting armv6 in XCode 4.5 and later. So now what? We're supposed to drop support for this architecture also? I'm not sure how that works... considering that if you resubmit and app and drop support of a certain architecture, the app will get rejected...
/confused.
Yep drop it. Armv6 is the iPhone 3G and I think the iPod touch v3? In any case pretty old devices that apple doesn't want us building apps for any more. They don't even run iOS 5 as far as I know.

Resources