iOS 10 compatibility


#1

I noticed that there are a lot of Swift errors when compiling for iOS10.
Are these problems known and is there a working version yet or is it in progress?

Thanks in advance!


Suggestion: Add iOS 10 support tutorial to the Meteor Guide
Meteor 1.2 app cannot connect to server on iOS 10
"<App Name> May Slow Down your iPhone" message on iOS 10.1
#2

Anyone have updates on this? Getting reports of iOS meteor apps becoming completely unresponsive & not connecting to the mobile-server.


#3

Maybe @martijnwalraven has some information about this issue.


#4

Thanks, I’m going to start testing in depth really soon. I have a feeling it’s related to a cordova extension (it usually is!).


#5

Sorry, I should have added a bit more context.
These are the errors I get:


#6

It seems Cordova may not yet be compatible with iOS 10 (see this JIRA issue). If you find any general problems, make sure to file an issue at the Cordova project. If there is anything Meteor-specific, please open an issue there.

@phils: What version of Xcode are you using? The Meteor plugin is not compatible with Swift 3 (which is in beta) yet.


#7

@martijnwalraven: Xcode 8.0 beta 2 - tried with Swift 2.3 and Swift 3.0
Downloading the Beta 3 now but I guess we’ll have to wait for a Cordova update.


#8

With the latest version I receive only the following errors keeping me from building successfully:


Any suggestions?


#10

Can anyone confirm that we are waiting on a Cordova release for iOS 10 support?


#11

Yes, although we will also have to make changes to the Meteor plugin for Xcode 8/Swift 3 compatibility.


#12

Thanks for the super quick response!
Is compatibility expected to come before or after iOS 10 launch?


#13

After the iOS 10 GM release, so probably just before launch.


Time for a Community Fork?
#14

If it helps, here a workaround to test iOS 10 with Xcode 7 : http://stackoverflow.com/questions/30736932/xcode-error-could-not-find-developer-disk-image/37940175#37940175


#15

@martijnwalraven do you know if there is an update on this? iOS 10 due out in about 5 days :slight_smile:


#16

iOS 10 GM just came out, so I plan to take a stab at it soon.


#17

With help from @aldeed, there is now a swift3 branch of cordova-plugin-meteor-webapp that is compatible with Xcode 8. All plugin tests seem to pass on iOS 8, 9 and 10. A newly created app under Meteor 1.4.1.1 also seems to work correctly.

If you want to give it a try with your own app, you can add the latest version of the plugin using:

meteor add cordova:cordova-plugin-meteor-webapp@https://github.com/meteor/cordova-plugin-meteor-webapp.git#8bf95eed3f313299fc2de33658866278eea2cdc5

Xcode may ask you to convert to the latest Swift syntax when you open the project. You should select ‘Swift 3’ as the language version, and analysis should show that no code changes are necessary.


Issue with cordova-plugin-meteor-webapp after upgrade to Meteor 1.3
#18

@martijnwalraven thanks very much, that is awesome. do we need to remove or tweak any existing settings, or just install this cordova plugin?

i’ll be testing this out very shortly here.


#19

I can confirm the cordova plugin works great! Few updates maybe needed though:

General > Identity

  • Display Name not automatically set from mobile-config.js App.info.name

General > Signing

  • Automatically manage signing is now checked by default

Build Settings > Signing

  • Needs update for automatic signing, so:
  • Debug & Release should now both be set to iOS Developer

Simple updates. All automatic code conversions to Swift 3, and the other two ‘Recommended Updates’ went through fine and worked great.

Thanks for the awesome work!!


#20

Just tested it myself and everything seems to be running great. Thanks @martijnwalraven!


#21

Note that you need to add a content security policy in your html meta in iOS 10, otherwise your app will hang and never connect. Something like this:

  <meta
    http-equiv="Content-Security-Policy"
    content="default-src 'self' 'unsafe-inline' 'unsafe-eval' https://yourdomain.com wss://yourdomain.com https://enginex.kadira.io"
  >

Hope that saves someone a few hours :wink: