Open jpakulski opened 4 years ago
Well, lets see if we can help get you squared away. The doctor output looks good; but something is obviously messed up. Can you also do a node -v
and tell me which version of Node you are using?
First of all, I would do a:
If you have fast internet; just nuking the cache with a npm cache clean
if not, use npm cache verify
to make sure your module cache has no major issues... I have unfortunately seen npm many times not detect corrupt packages, so I tend to ; but at this point lets assume that it is correct and proceed as if whatever it does is still better than nothing.
The next step would be to remove the global nativescript cli; and re-install it.
npm r -g nativescript
then do another npm i -g nativescript
Then try creating a new project, and see if it works.
If that still doesn't work, lets try switching versions to the prior version group:
npm r -g nativescript
then npm i -g nativescript@6.5.1
And then try creating happy-dev
and verifying it works..
Hi Nathanael,
Thank You for replying. I'm using the LTS version of Node: v12.13.1 (I'll try updating this to the latest LTS version)
I'll do as You suggested and report back.
Cheers
Hi Nathanael,
I followed Your suggestions. Also, updated Node.
But unfortunately this resulted in the same error:
xcodeproj is installed and is configured properly.
CocoaPods are installed.
CocoaPods update is not required.
CocoaPods are configured properly.
Your current CocoaPods version is newer than 1.0.0.
Python installed and configured correctly.
The Python 'six' package is found.
Xcode version 11.5.0 satisfies minimum required version 10.
Project dir from hooksArgs is: /Users/j/Projects/visionlab/happy-dev.
Hooks directories: [ '/Users/j/Projects/visionlab/happy-dev/hooks' ]
AfterHookName for command checkEnvironment is after-checkEnvironment
Validate options for platform: iOS
SyntaxError: Expected "\"" or [^'"'] but "'" found.
at peg$buildStructuredError (/usr/local/lib/node_modules/nativescript/node_modules/ios-mobileprovision-finder/parsers/security-find-identity.js:314:12)
at Object.peg$parse [as parse] (/usr/local/lib/node_modules/nativescript/node_modules/ios-mobileprovision-finder/parsers/security-find-identity.js:999:11)
at Object.read (/usr/local/lib/node_modules/nativescript/node_modules/ios-mobileprovision-finder/index.ts:245:32)
at IOSProvisionService.<anonymous> (/usr/local/lib/node_modules/nativescript/lib/services/ios-provision-service.js:80:55)
at Generator.next (<anonymous>)
at /usr/local/lib/node_modules/nativescript/lib/services/ios-provision-service.js:7:71
at new Promise (<anonymous>)
at __awaiter (/usr/local/lib/node_modules/nativescript/lib/services/ios-provision-service.js:3:12)
at IOSProvisionService.queryProvisioningProfilesAndDevices (/usr/local/lib/node_modules/nativescript/lib/services/ios-provision-service.js:79:16)
at IOSProvisionService.<anonymous> (/usr/local/lib/node_modules/nativescript/lib/services/ios-provision-service.js:35:37)
at Generator.next (<anonymous>)
at /usr/local/lib/node_modules/nativescript/lib/services/ios-provision-service.js:7:71
at new Promise (<anonymous>)
at __awaiter (/usr/local/lib/node_modules/nativescript/lib/services/ios-provision-service.js:3:12)
at IOSProvisionService.listProvisions (/usr/local/lib/node_modules/nativescript/lib/services/ios-provision-service.js:34:16)
at IOSProjectService.<anonymous> (/usr/local/lib/node_modules/nativescript/lib/services/ios-project-service.js:107:49)
happy-dev % chrome /usr/local/lib/node_modules/nativescript/node_modules/ios-mobileprovision-finder/parsers/security-find-identity.js
I then took a better look at the code. It's failing when validating my certificates.
Our company has an apostrophe in its name. And sadly this results in the name of my certificate having a single quote in it. This is obviously valid from Apple's perspective, but the function peg$parse (in _/nodemodules/ios-mobileprovision-finder/parsers/security-find-identity.js) used to parse the certificate does not permit a single quote in the name.
It seems like there is a bug with the peg$parse function. (or pesky apostrophes in English :)
The fix, that seems to work, is to simply remove the single quote restriction from the parser regex (if this is a bug).
That part of the regex [^'"'] is sort of strange anyway because the single quote is repeated twice in the "not" char set, or I'm miss-understanding how that parser works.
@jpakulski You saved my life! @NathanaelA please fix this!
Thanks @jpakulski.
Is there any fix planned?
@jpakulski You're absolutely right about that regex. It's likely a result of a (very early development cycle) search-and-replace that changed the other "
marks on that same line into '"'
. It was likely never caught because it would require an apostrophe to be present within your name in order to fail, and the developers testing it may not have encountered that.
Changing it to Name = '"' literal:$[^"]* '"' { return literal; }
should resolve the issue. (as verified using https://pegjs.org/online)
Environment
OSX: 10.15.4
Output of tns doctor: ✔ Getting NativeScript components versions information... ✔ Component nativescript has 6.7.4 version and is up to date. ✔ Component tns-core-modules has 6.5.2 version and is up to date. ✔ Component tns-ios has 6.5.1 version and is up to date. ✔ Xcode is installed and is configured properly. ✔ xcodeproj is installed and is configured properly. ✔ CocoaPods are installed. ✔ CocoaPods update is not required. ✔ CocoaPods are configured properly. ✔ Your current CocoaPods version is newer than 1.0.0. ✔ Python installed and configured correctly. ✔ The Python 'six' package is found. ✔ Xcode version 11.5.0 satisfies minimum required version 10.
Not interested in Android in this project, so Android bits are not configured
Describe the bug
I am unable to run or build the app.
I can build the prepared app using XCode (once I fix the signing configuration, another potential issue with prepare command)
When trying to list available provisioning profiles:
Results in the not so friendly:
Expected "\"" or [^'"'] but "'" found.
When I run the command with the logging level increased:
I get the more useful:
I tried to checkout what was going on above but it's complicated. I think it fails when trying to parse provisioning profiles.
Sadly the same error occurs when I try to supply a provisioning profile:
Same thing happens on a newly created app.
Trying to run the app with no provisioning profile supplied in the command line fails with a signing error (regardless of the PROVISIONING_PROFILE or DEVELOPMENT_TEAM) being set in app/App_Resources/build.xcconfig but that's probably another issue.
To Reproduce
Expected behavior
A list of provisioning profiles
Additional context
I am running on Catalina. All seemed to work before I updated the OS. But sadly other stuff changed as well: NS version, etc...