Apple’s iOS 8.3 beta 4 has begun rolling out, with improvements and other such enhancements in tow. If you’re a public beta tester, this is technically beta 2 of iOS 8.3, though the same build is making its way as an OTA update to developers, too, and is the fourth such beta developers have gotten their hands on.
Apple rolled out iOS 8.3 beta 3 back on March 12, so the company is still sticking to its two week release cycle. There were a few minor changes made in that seed; overall, iOS 8.3 is expected to bring more diverse emoji, two-factor Google authentication, new Siri languages, and more. More than likely, iOS 8.3 will be best remembered for its smaller changes than anything major.
If anything of significance is discovered in iOS 8.3 beta 4, we’ll be sure to update this post to reflect that. Below are some of the notes included with the most recent beta release.
Notes and Known Issues
The following issues relate to using iOS SDK 8.3 to develop code.
- App extensions need an arm64 slice to run on 64-bit devices. If you try to run the armv7 slice on a 64-bit device it won’t work.
- Apps need to have an arm64 slice if the bundle contains a framework that both the app and the app extension link against.
Outgoing Call Audio and FaceTime Audio may be choppy.
3rd Party keyboards may not be available for selection in Spotlight Search.
Workaround: Reboot the device.
When linking against iOS 8.3, any code that relies on layout information (such as the frame) of a
UIButtonsubview when the button is not in the window hierarchy will need to send
layoutIfNeededto the button before retrieving layout information (such as
button.titleLabel.frame) to ensure that the layout values are up to date.
For example, if you had something like this:
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem]; // code that sets up the button, but doesn’t yet add it to a window CGRect titleFrame = button.titleLabel.frame; // code that relies on the correct value for titleFrame
You now need:
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem]; // code that sets up the button, but doesn’t yet add it to a window [button layoutIfNeeded]; // This is also safe pre-iOS 8.3 CGRect titleFrame = button.titleLabel.frame; // code that relies on the correct value for titleFrame