Project cannot be parsed in iOS

Hi

Just downloaded Fuse and began to play around. The local preview works fine but when trying to either preview or build to iOS I get the error message that the project cannot be parsed and the .xcodeproj file cannot open in Xcode. This is the error message

Uno 0.42.3 (build 4084) OS X 10.12 i386 b51f27c
Configuring
Target is up-to-date – stopping build (pass --force to override)
Building iOS app
2016-12-12 21:20:45.573 xcodebuild[1078:202087] CFPropertyListCreateFromXMLData(): Old-style plist parser: missing semicolon in dictionary on line 3436. Parsing will be abandoned. Break on _CFPropertyListMissingSemicolon to debug.
2016-12-12 21:20:45.596 xcodebuild[1078:202087] CFPropertyListCreateFromXMLData(): Old-style plist parser: missing semicolon in dictionary on line 3436. Parsing will be abandoned. Break on _CFPropertyListMissingSemicolon to debug.
2016-12-12 21:20:45.599 xcodebuild[1078:202087] Error Domain=NSCocoaErrorDomain Code=3840 “Unexpected character / at line 1” UserInfo={NSDebugDescription=Unexpected character / at line 1, kCFPropertyListOldStyleParsingError=Error Domain=NSCocoaErrorDomain Code=3840 “Missing ‘;’ on line 3436” UserInfo={NSDebugDescription=Missing ‘;’ on line 3436}}
xcodebuild: error: Unable to read project ‘Temp2.xcodeproj’.
Reason: Project /Users/Morten/Documents/Fuse/Temp2/build/iOS/Release/Temp2.xcodeproj cannot be opened because the project file cannot be parsed.

I am using macOS Sierra version 10.12.1, Xcode version 8.1 and Fuse version 0.31.0

Best regards

Morten

Hi Morten,

Thanks for your report!

Could you provide the code for your project? You can paste it in a reply or upload it to us privately.

I think this could be two things: Either your project triggers some corner-case that makes us generate an invalid project, or it’s a breaking change in Xcode 8.1 that we haven’t properly tested for.

If you’re able to find the file that the error stems from (in the build folder) that would also be very helpful.

Cheers,
Olle

Hi Olle

Thanks for a quick reply. After some digging I found the problem. I apparently had a Microsoft VBA digital signature on my Mac (!!!) which Fuse included as Development team ID. After changing the signature as described in your Signing document the problem was resolved.

Best regards

Morten

Hey Morten,

Interesting. That sounds like something we will want to prevent. Am I understanding this correctly if I say that the issue appears to be that we were inserting a development team ID that was of the wrong form (possibly just unescaped?), making the project parsing fail?

Good to hear you were able to resolve the issue. :slight_smile:

Yes i believe so. The referenced line (3436) in the error message was in the .pbxproj file and yielded

DevelopmentTeam = Digital ID Class 3 - Microsoft VBA Software Validation v2;

I guess it did not like the spaces? I don’t know where that ID came from and cannot see it in my Keychain.

Morten

That’s really helpful information.

The spaces are problably the most pressing problem though we should also look into the code that finds the dev team to figure out why we get the behaviour that you’re reporting.

I’ve created an internal issue to get this fixed. Cheers!

This has been fixed internally and will be included in a future release.

We now make sure to quote the devteam string if necessary, and additionally the automatic devteam finder filters out those that are not of the form that Apple uses (like yours).

That sounds great. Thanks

Morten