Comments (21)
I made a new PR: #78
- Updated swift compatibility to version 4.2
- Fixed issues as posted by @wreiske with HCP
- Fixed the test scripts to use Xcode 10.1 and ios-sim 8.0.0 (ios-sim has a pending issue with Xcode 10.2) - all tests succeeded
@benjamn, can you take a look?
from cordova-plugin-meteor-webapp.
@rj-david, @benjamn Thank you for your work on this! I just tried again with Xcode 10.2, Meteor 1.8.1, and webapp 1.7.4 (which uses @rj-david's awesome PR in cordova-plugin-meteor-webapp 1.7.0 under the hood) and everything builds correctly.
I think this issue can also be closed now that webapp 1.7.4 is published, is that correct?
from cordova-plugin-meteor-webapp.
@benjamn, I know 1.8.1 is now in code freeze. And not sure about plans for 1.9.
But seems like this is a critical issue. Can you give guidance on how we can help?
from cordova-plugin-meteor-webapp.
FYI, Swift >= 4 breaks the hot-reload
2019-04-02 18:15:21.652700-0400 AppName[3914:2044352] ERROR: Method 'onError:' not defined in Plugin 'WebAppLocalServer'
2019-04-02 18:15:21.652768-0400 AppName[3914:2044352] FAILED pluginJSON = ["WebAppLocalServer304030848","WebAppLocalServer","onError",[]]
2019-04-02 18:15:21.667673-0400 AppName[3914:2044352] ERROR: Method 'onNewVersionReady:' not defined in Plugin 'WebAppLocalServer'
2019-04-02 18:15:21.667783-0400 AppName[3914:2044352] FAILED pluginJSON = ["WebAppLocalServer304030849","WebAppLocalServer","onNewVersionReady",[]]
2019-04-02 18:15:22.314741-0400 AppName[3914:2044352] ERROR: Method 'checkForUpdates:' not defined in Plugin 'WebAppLocalServer'
2019-04-02 18:15:22.314793-0400 AppName[3914:2044352] FAILED pluginJSON = ["WebAppLocalServer304030850","WebAppLocalServer","checkForUpdates",[]]
2019-04-02 18:15:40.870345-0400 AppName[3914:2044389] App startup timed out, reverting to last known good version
2019-04-02 18:16:26.735677-0400 AppName[3914:2044352] ERROR: Method 'checkForUpdates:' not defined in Plugin 'WebAppLocalServer'
2019-04-02 18:16:26.735864-0400 AppName[3914:2044352] FAILED pluginJSON = ["WebAppLocalServer304030852","WebAppLocalServer","checkForUpdates",[]]
from cordova-plugin-meteor-webapp.
I'd like to work on updating this to Swift 5 and would appreciate some guidance.
Attempting to run the existing test suite results in:
$ yarn test
yarn run v1.13.0
$ ios-sim start --devicetypeid=iPhone-X
No available runtimes could be found for "iPhone X".
I would guess I need to install the cordova platform with the latest simulators (probably cordova ios@5) but I'm getting stuck on how to do that for this project.
'cordova' is included as a devDependency but $ npx cordova platforms
gives this message:
"Current working directory is not a Cordova-based project."
Any tips on getting my environment set up to run these tests?
Caveat: I'm leery of doing something like installing cordova platform 5 globally since I need to continue to develop an existing Meteor app and don't want to mess that up.
from cordova-plugin-meteor-webapp.
Made the PR: #77
from cordova-plugin-meteor-webapp.
Hello guys, any update on this? Meteor needs to support Swift 4+ as soon as possible, because now there is also this other issue.
from cordova-plugin-meteor-webapp.
Sorry but does anyone know when webapp 1.7.4 will be published?
from cordova-plugin-meteor-webapp.
@frankwo1 Have you tried this already?
meteor update --release 1.8.1-issue-10516.0
from cordova-plugin-meteor-webapp.
@davidecantini Thanks - it seems to work although I think I broke my key chain somewhere
since I am getting this error "iPhone has denied the launch request.
Internal launch error: process launch failed: failed to get the task for process 371"
I will reset the keychain
from cordova-plugin-meteor-webapp.
Thanks for the prompt, @rj-david. I think this is not necessarily a critical issue since there exists a fairly simple workaround of reverting back to Xcode 10.1.
But now that Apple is auto-updating everyone to Xcode 10.2, it does make it a fairly widespread and visible pain-point for anyone using Meteor Cordova.
The referenced issue on Meteor proper (meteor/meteor#10511) is probably a good place to track the overall work needed to support Xcode 10.2 since we also need to support the latest version of the underlying cordova-ios dependency and I would guess that would require further updates of the other cordova plugins that Meteor uses.
from cordova-plugin-meteor-webapp.
Good point about being able to still use xcode 10.1.
Hopefully, Apple won't change the minimum requirements of submission to the app store soon. It is now pegged at iOS SDK 12.1 which requires xcode 10.1: https://developer.apple.com/ios/submit/
I'm not 100% sure how the change in swift version affects the cordova plugins. I'm more concerned about plugins not managed by cordova nor meteor. I hope my hunch that it might be a lot of work to be wrong
from cordova-plugin-meteor-webapp.
FYI You can install Xcode 10.1 manually from Apple Developer portal: https://developer.apple.com/download/more/
from cordova-plugin-meteor-webapp.
As @rj-david mentioned, Apple requirements are a concern. It's just a matter of time and Swift 3 will not be accepted any more. What will happen at that point? I think it's wise to start working on supporting the latest Swift.
from cordova-plugin-meteor-webapp.
I got the chance to make some tests today and here is what I discovered when using xcode 10.1
- In the project workspace in xcode, there was a warning asking the user to convert from Swift 3 to Swift 4.2.
- Clicking on this, a dialog guided me on the conversion with a few files requiring changes (automated)
- I proceeded with the suggested file changes
- When I went to the Build Settings tab, I could see that Swift Language Version is set to Swift 4.2
- I run the project and the build succeeded
My current conclusion is that changing the related files (number 2 above) to the suggested fixes will make meteor compatible to xcode swift 4.2
from cordova-plugin-meteor-webapp.
Nice! Were you able to get the unit tests working? I noticed CI is failing so I'm guessing the unit tests need to be updated as well.
from cordova-plugin-meteor-webapp.
I did not (first time making a PR). I can only deal with it on Monday as I didn't bring home my mac as it isn't my main laptop.
I checked that the changes from swift 4 to swift 5 are also very easy. But I'm not 100% sure if we don't need to update cordova-ios
from cordova-plugin-meteor-webapp.
FYI, Swift >= 4 breaks the hot-reload
We need someone who is adept to Swift to help fix the issue
from cordova-plugin-meteor-webapp.
@rj-david @wreiske Is the hot reload the only known issue with @rj-david's fixes? This is definitely a critical issue now.
I might be willing to temporarily do without some functionality related to Meteor's environment rather than uninstalling->installing->uninstalling->installing xcode every time I need to deploy.
from cordova-plugin-meteor-webapp.
@alanning @rj-david @benjamn
Does anyone have a recommended course of action?- this does not work for me
- Xcode 10.1; webapp 1.7
Now I get a new message that asks me to use Xcode 8.X because of swift 2 code incompatibility
I was able to build out my iOS app before Apple made their changes but cannot make any updates
from cordova-plugin-meteor-webapp.
@davidecantini Thanks - no not with that version of Meteor (am using 1.8.1) - I'm going to try it now
from cordova-plugin-meteor-webapp.
Related Issues (20)
- Cannot find type 'METPlugin' in scope HOT 2
- Uncaught SyntaxError: Unexpected token => HOT 5
- cannot build with 1.6.3+ HOT 2
- HCP: Android files are not loaded, iOS works HOT 11
- can i use this plugin without meteor? HOT 1
- [IOS] stops working after certain time
- [Android] Error: Could not create download directory for large files in public directory HOT 7
- Error message in XCode HOT 2
- GCDWebServer is 2 years old
- Asset /cordova.js not found in bundle HOT 8
- Missing version 1.7.0 tag/commit HOT 1
- IOS - Local Web server Crashes HOT 2
- Meteor 1.10.1 Assets cordova.js socket.io not found in bundle HOT 15
- [meteor 1.10.1] android's webapp plugin is unable to download a new mobile version once a change is detected HOT 1
- Webapp Forced Reload blank page
- cordova assets not found in android build HOT 7
- Failed to install 'cordova-plugin-meteor-webapp': Using "requireCordovaModule" to load non-cordova module "fs" is not supported. HOT 4
- Meteor Cordova ProjectBuild.js Dependancies missing "cordova-common", "compare-func" HOT 4
- iOS 14: network retry when prompting for local network access HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cordova-plugin-meteor-webapp.