Cordova: Problems with GoogleService-info.plist - ios

Currently, I'm working on an app. For the notifications I've been using phonegap-plugin-push combined with Firebase.
I'm using this plugin for Android as well as iOS. On Android it works perfectly fine, sure I've been experiencing problems, but got it all done now. IOS on the other hand won't work. The app won't even build.
If I build I get this error:
** BUILD FAILED**
The following build commands failed:
CopyPlistFile
/Users/gio/app/Project/platforms/ios/build/emulator/Project.app/GoogleService-Info.plist
/Users/gio/App/App/Project/platforms/ios/Project/Resources/GoogleService-Info.plist
(1 failure)
Error: Error code 65 for command: xcodebuild with args:
-xcconfig,/Users/gio/app/Project/platforms/ios/cordova/build-debug.xcconfig,-workspace,Project.xcworkspace,-scheme,Project,-configuration,Debug,-sdk,iphonesimulator,-destination,platform=iOS
Simulator, name = iPhone
SE,build,CONFIGURATION_BUILD_DIR=/Users/gio/app/Project/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/Users/gio/app/Project/platforms/ios/build/sharedpch
As you can notice the path that the app is searching for has a double "root" (/App/App/)
I guess that the programming is trying to put of get something to of from a path that doesn't exist.
The strange thing is that it works on Android without any problems and it won't work on iOS.
Cordova version: 7.0.1
Cordova iOS version: 4.4.0

Make sure that you have this in your config.xml:
<platform name="ios">
<resource-file src="GoogleService-Info.plist" />
</platform>
And that your GoogleService-Info.plist file is at the root of your app via documentation.
If this doesn't work for you, I would suggest trying cordova-plugin-fcm instead. I have used both and find cordova-plugin-fcm to work best.

Related

ionic3 Cordova build ios issue with file transfer plugin

I update my Cordova ios to version 6 because of apple email that says ( Deprecated API Usage - existing app that use UIWebView are no longer accepted) ,but after that i keep getting this build error,
The following build commands failed:
CompileC /Users/moesaif/Library/Developer/Xcode/DerivedData/مفسر_أحلامي-epzhtxsuxnuafngaxollgqmkcrww/Build/Intermediates.noindex/مفسر\ أحلامي.build/Debug-iphonesimulator/مفسر\ أحلامي.build/Objects-normal/x86_64/CDVFileTransfer.o /Users/moesaif/Desktop/Dreams/platforms/ios/مفسر\ أحلامي/Plugins/cordova-plugin-file-transfer/CDVFileTransfer.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
ionic Cordova platform ls :
Installed platforms:
android 7.1.4
browser 6.0.0
ios 6.1.1
Available platforms:
electron ^1.0.0
osx ^5.0.0
windows ^7.0.0
any help please..!
Thanks.
You need to update the plugin to latest version. If it still uses UIWebView, then you need to update it manually to support WKWebView.
cordova-plugin-file-transfer is deprecated and seems not working with the ios#6.1.1 .
I still use it with ios#5.1.1 and the flag in config.xml to use WKWebview:
<preference name="WKWebViewOnly" value="true" />
Before sending to apple, search and check in Xcode, that you don't have any mention to UIWebview.
Sometimes a clean platforms is needed or you still have and old InAppBrowser version

Build commands failed: CompileAssetCatalog - Cordova for iOS

After setting up a fresh Cordova for iOS project trough the CLI this error comes up.
Build commands failed: CompileAssetCatalog
/Users/a/example/example/platforms/ios/build/emulator/Example.app
/Users/a/example/example/platforms/ios/Example/Images.xcassets
(1 failure) xcodebuild: Command failed with exit code 65
Cordova Version: 9.0.0 (cordova-lib#9.0.1)
Xcode Version: 11.2.1
macOS Version: 10.15
CLI:
cordova create example com.example.app Example
(cd example)
cordova platform add ios
cordova emulate ios --target="iPhone-6-Plus, 9.3"
What I tried:
- Clean up build folder
- Update Node/NPM
- Update Xcode
P.S.: Does it make a difference if the .ipa gets build trough the Cordova CLI or from within Xcode?
Two things here:
If you are using cordova 9.0.0, I'm assuming you're also using cordova-ios 5+. In that case, the "-UseModernBuildSystem=0" in your build.json is no longer necessary. cordova-ios#5 supports the modern build system.
You should also remove the target: --target="iPhone-6-Plus, 9.3". XCode 11 no longer, by default, ships with iOS9 simulators. In fact, you should not specify a target at all, unless necessary.
If you're still facing problems after fixing these two issues, try opening and running your project via XCode, it is likely to provide an improved error log and possible hints to fixes.
there is meny approach that getting resolve exit code 67
1) method 1
cordova platform remove ios
cordova platform add ios
2) in xcode give your provision profile check
You need a development provisioning profile on your build machine.
Apps can run on the simulator without a profile, but they are required
to run on an actual device
https://cordova.apache.org/docs/en/latest/guide/platforms/ios/
3) cordova platform update ios
further informations cordova run with ios error .. Error code 65 for command: xcodebuild with args:
I have solved this issue in Xcode, by creating new
"iOS App Icon". Name it whatever you want, but you must choose it from dropdown in project's settings ie target settings, parameter is "App icons source". Then copy all images via Finder into that folder, and in Xcode
connect(drag&drop) those uncategorised images into placeholders.

No osx files in cordova-plugin-statusbar/networkstatus/network-information

I cloned the copay project for my development (https://github.com/Bitcoin-com/Wallet). There are dependencies involving statusbar and networkstatus, none for which the .m & .h files have been provided for OSX platform, in the cordova-plugin-statusbar and cordova-plugin-networkstatus (or the new cordova-plugin-network-information).
There are provisions only for android, iOS, windows, browser & wp. No OSX. The new cordova-plugin-network-information also includes (Blackberry10, firefoxos, tizen & ubuntu). Still no osx.
How can I work around this to be able to deploy to the osx platform?
THE UNDERLYING PROBLEM - For better understanding
After building copay and running the following command: $ cordova emulate osx, it builds OK and launches the OSX simulator with a blank screen. The other platforms (iOS and android) build and run OK, displaying the copay wallet app.
When i open the osx/Copay.xcodeproj file in Xcode, I run the app and it produces the same blank simulator screen. The error in the log reads:
2017-10-12 01:46:25.149 Copay[18616:649515] ERROR: Plugin 'NetworkStatus' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
2017-10-12 01:46:25.149 Copay[18616:649515] ERROR: Plugin 'StatusBar' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
2017-10-12 01:46:30.027 Copay[18616:649515] deviceready has not fired after 5 seconds.
2017-10-12 01:46:30.027 Copay[18616:649515] Channel not fired: onCordovaConnectionReady
Apparently, the plugins not loading is preventing the cordova "onCordovaConnectionReady" event from firing. So, what is the way around this?
If i am wrong, please point me in the right direction.
See attached images.
Thanks

Ionic CLI error - Error: Cannot read property 'indexOf' of null on terminal

im new to ionic and angular js. I was building my app succesfully using the ionic cli, now I am having an issue while building for ios which was working fine since yesterday. I have updated ionic, create new project but still cannot run this command "ionic build ios", however "ionic serve" works successfully. Please note that I am using a mac and these command were working fine before. Grateful if someone can help me. Thanks.
For people who are having this issue, it looks like it's a bug in Node 5.7.0, to be fixed in 5.7.1:
https://github.com/driftyco/ionic-cli/issues/815
https://issues.apache.org/jira/browse/CB-10675
https://github.com/nodejs/node/issues/5393
Downgrading your Node version or updating when 5.7.1 comes out should resolve the issue.
Ok, just ran into the same issue, while building on iOS (Android worked fine). It seems that it has got to do with config.xml .
I had to put <access origin="mailto: ... launch-external="true"/> under <platform name="android"> and the issue was solved.
Hope that helps.
To solve this problem just move all <access origin="file:..." or <allow-navigation href="file:.." /> under <platform name="android"> in your config.xml

How to install cordova(phonegap) ios app to device via cli and not via xcode

I am trying to create a simple project with last phonegap version:
$ phonegap create my-project
$ phonegap build ios
$ phonegap install ios
All works perfectly and I see emulator with my simple application.
But I can't find documentation on how to run my application on device(iphone, for example) and not on a simulator.
All documentation by cordova / phonegap based on examples with cordova's template for xcode.
But last cordova's version don't have template for xcode and all that I need - cli, if I understand correctly?
I already registered as IOS developer and I have a valid iPhone development certificate.
When I connect my device - I can see it in xcode and I can run native application on my device.
But only via xcode.
I will be grateful to any advice.
If the cordova app builds and runs on the simulator, try running cordova run ios --device
This worked for me, when before it was only hitting the simulator.
Alternatively, if that STILL doesn't work for you, when you run codova build ios, to just build the app, you could use itunes to sync the generated .app file in <project_folder>/platforms/ios/build/device/AppName.app
There is an Apple CLI tool canned xcodebuild, as well as this wrapper around it by Facebook. I'd suggest trying out either that or look at the build-in xcodebuild shipped with xcode.
Hopefully one of them will work.
https://github.com/facebook/xctool
https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/xcodebuild.1.html
If you use Cordova CLI, you should be able to do this:
cordova run ios

Resources