-
Notifications
You must be signed in to change notification settings - Fork 987
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Set CDVWebViewProcessPoolFactory to public (#1031)
* set CDVWebViewProcessPoolFactory to public * Move CDVWebViewProcessPoolFactory.m to Classes/Public
- Loading branch information
1 parent
7e3402c
commit 682ed75
Showing
3 changed files
with
3 additions
and
3 deletions.
There are no files selected for viewing
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
682ed75
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @NiklasMerz
We've been trying to do a build with the latest version from master (cordova platform add https://github.com/apache/cordova-ios - noticed you have integrated your PR) but unfortunately we're getting an error:
Build input file cannot be found: '.../mobile/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVWebViewEngine/CDVWebViewProcessPoolFactory.m'
/Users/developerdnw/work/lifechanger/code/LC.Client/mobile/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVWebViewEngine/CDVWebViewEngine.m:22:9: 'CDVWebViewProcessPoolFactory.h' file not found
Any ideas much appreciated
682ed75
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please try the latest official version 6.2.0. This version contains the fix and has been released recently.
682ed75
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @NiklasMerz but I don't think is working
I did reply on #1030 (comment)
682ed75
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you remove the WKWebView engine plugin and iOS platform before adding the new version of the ios platform?
682ed75
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @NiklasMerz
Yes I did
Sorry for the wrong reply on #1030 (comment)
I'll paste my observations again here
I have tried using the cordova ios 6.2.0 but unfortunately still getting the "error: Build input file cannot be found: '../mobile/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVWebViewEngine/CDVWebViewProcessPoolFactory.m' (in target 'CordovaLib' from project 'CordovaLib')" and if you check the code https://github.com/apache/cordova-ios/tree/master/CordovaLib/Classes/Private/Plugins/CDVWebViewEngine the folder indeed doesn't seem to be containing CDVWebViewProcessPoolFactory.m
I did remove and add the platform via cordova platform add [email protected] but what is strange for me is that the public repository doesn't seem to be containing that file
682ed75
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Which plugins do you have installed?
cordova plugin ls
682ed75
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
code-push 3.0.1 "CodePushAcquisition"
cordova-plugin-advanced-http 3.1.0 "Advanced HTTP plugin"
cordova-plugin-app-launcher 0.4.0 "Launcher"
cordova-plugin-camera 5.0.1 "Camera"
cordova-plugin-code-push 2.0.0 "CodePush"
cordova-plugin-device 2.0.3 "Device"
cordova-plugin-dialogs 2.0.2 "Notification"
cordova-plugin-file-opener2 3.0.1 "File Opener2"
cordova-plugin-file-transfer 2.0.0-dev "File Transfer"
cordova-plugin-file 6.0.2 "File"
cordova-plugin-firebase-analytics 4.5.0 "FirebaseAnalyticsPlugin"
cordova-plugin-firebase-messaging 4.6.1 "FirebaseMessagingPlugin"
cordova-plugin-geolocation 4.1.0 "Geolocation"
cordova-plugin-insomnia 4.3.0 "Insomnia (prevent screen sleep)"
cordova-plugin-keyboard 1.2.0 "Keyboard"
cordova-plugin-media 5.0.3 "Media"
cordova-plugin-network-information 2.0.2 "Network Information"
cordova-plugin-screen-orientation 3.0.2 "Screen Orientation"
cordova-plugin-statusbar 2.4.3 "StatusBar"
cordova-plugin-webview-proxy 0.0.1 "cordova-plugin-webview-proxy"
cordova-plugin-whitelist 1.3.4 "Whitelist"
cordova-plugin-wkwebview-file-xhr 3.0.0 "Cordova WKWebView File XHR Plugin"
cordova-plugin-wkwebview-inject-cookie 1.0.2 "WKWebViewInjectCookie"
cordova-plugin-wkwebview-inputfocusfix 1.0.4 "WKWebView Input Focus Fix"
cordova-plugin-x-toast 2.7.2 "Toast"
cordova-plugin-zip 3.1.0 "cordova-plugin-zip"
cordova-sqlite-storage 5.1.0 "Cordova sqlite storage plugin - cordova-sqlite-storage plugin version"
cordova-support-google-services 1.4.1 "cordova-support-google-services"
682ed75
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You might need to find a plugin that is refrencing the "CDVWebViewProcessPoolFactory" file. I created a new project and added the platform and some of your plugins with no issues.
Also try to remove the ios folder by hand and check you Xcode project.
682ed75
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks
Will do that again, did try removing everything manually but as always you have to try several times
682ed75
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@NiklasMerz sorry for dumping this on you but this is still not working and I have no other ideas what to try
After removing the platforms folder, node_modules adding them back and removing the plugins with fixes tot the wkwebview we get the same error
error: Build input file cannot be found: '/Users/developerdnw/work/lifechanger/code/LC.Client/mobile/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVWebViewEngine/CDVWebViewProcessPoolFactory.m' (in target 'CordovaLib' from project 'CordovaLib')
If I do a mdfind "CDVWebViewProcessPoolFactory" in the mobile folder I am getting:
mobile/platforms/ios/CordovaLib/Classes/Public/CDVWebViewProcessPoolFactory.m
mobile/platforms/ios/CordovaLib/Classes/Public/CDVWebViewProcessPoolFactory.h
mobile/platforms/ios/CordovaLib/Classes/Private/Plugins/CDVWebViewEngine/CDVWebViewEngine.m
mobile/node_modules/cordova-ios/CordovaLib/Classes/Private/Plugins/CDVWebViewEngine/CDVWebViewEngine.m
mobile/node_modules/cordova-ios/CordovaLib/Classes/Public/CDVWebViewProcessPoolFactory.h
mobile/node_modules/cordova-ios/CordovaLib/Classes/Public/CDVWebViewProcessPoolFactory.m
mobile/node_modules/cordova-ios/RELEASENOTES.md
I do see there are some changes in WKWebView https://cordova.apache.org/2021/02/07/deprecate-wkwebview-engine.html but I don't see anything special in GitHub so in theory it should not affect us but maybe should I contact they guys that did those changes?
682ed75
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You need to figure out what you are doing. What is your setup? cordova-ios version and plugins? As we all know sometimes you have to recreate your ios project multiple times.
Are you using cordova-ios version 6 or newer? Then you should not use the wkebview plugin and you don't have to care about that deprecation.
Please check you plugins if they are using CDVWebViewProcessPoolFactory. Go into Xcode and search for it.
As far as I know everything should be working. I did a change to make this class public apache/cordova-plugin-inappbrowser#825 and I have no idea why something should look for it in the private directory.
682ed75
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the quick reply
I am using cordova-ios 6.2 (the one with the proxy plugin so that we can fix the cookies issue) and the plugins are the ones listed above.
We have not been using the webview plugin for quite a while (as you can see in the plugins list) but that reference I see is from Cordova Lib, that's what baffles me (in CordovaLib project Private Plugins there is the DCVWebViewEngine that references the CDVWebViewProcessPoolFactory (which is not in that folder).
As I doublechecked if we look at the master code https://github.com/apache/cordova-ios/tree/master/CordovaLib/Classes/Private/Plugins/CDVWebViewEngine (which in our XCode it looks identical) seems to be the problem, and the search in folders seems to confirm that.
Eventually I'll redirect this to the guys that did the WKWebView changes
682ed75
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"The guys that did the WKWebView change" have nothing to do with that. As I already said this change only affects the plugin you are not using.
Yes
CDVWebViewEngine
usesCDVWebViewProcessPoolFactory
but it can correctly find it in the public folder because of the Xcode project settings. If you click on it and select jump to definition it correctly finds that file.I am sure there is something bad with your project. Try removing plugins for example. Maybe the InApppBrowser plugin is an issue.
682ed75
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So far you're right Nicklas
First I did create a new project with cordova-ios 6.2.0 and everything works like a charm
Second, I did remove all the plugins and tried rebuilding but the problem is still there
Third, I tried to compare the 2 projects and so far I can't really tell if there is an important difference (of the name and some paths are different and some config entries)
So, yes, the problem is definitely on my side but just can't tell which and I am out of ideas
Thanks again and sorry for the hassle
682ed75
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Found it
https://stackoverflow.com/questions/52401856/problems-after-upgrading-to-xcode-10-build-input-file-cannot-be-found
@NiklasMerz thanks again!
682ed75
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good you found a solution