Closed jasperblues closed 11 years ago
As an AppCode owner, I'll take a look. An aside, I have been pleased to see that Xcode no longer freaks out when the file is updated.
So xcoder
is no better in how it saves the project file to make AppCode play nice with the file. Xcoder in fact makes the project file look like garbage until you ask Xcode to re-arrange one file.
The error message that I get with AppCode is the following:
Object attribute key expected position: 119 current token: '"080E3E8BAAFCA977A7CCC3BA"' type: STRING_LITERAL ------------------------------------- // !$UTF8$!" { "archiveVersion" = "1"; "classes" = { }; "objectVersion" = "46"; "objects" = { "080E3E8BAAFCA977A7CCC3BA" = { "children" = ( "267754CF6D42A9EA51DC68A4", "2805D5138ED65D7A6A689E91" ); "isa" = "PBXGroup"; "name" = "Reachability"; "sourceTree" = " "; }; "0C4917223014C0196EEB2155" = { "isa" = "PBXFileReference"; "lastKnownFileType" = "sourcecode.c.objc"; "name" = "ASIInputStream.m"; "path" = "Vendor/ASIHTTPRequest/ASIInputStream.m"; "sourceTree" = " "; }; "113FDD5FCD066BE92F9DF328" = { "isa" = "PBXFileReference"; "lastKnownFileTy
Xcoder simply saves string identifiers as "IDENTIFIER", which AppCode likely wants to see as simply IDENTIFIER. There are likely some other values that are being saved in such a way that don't need the quotes. I'll see what I can do to make Xcoder smarter on save about certain strings.
Alright looking through Appcode, I found the following issue which the Cocoapod team posted. It seems that AppCode wants the project in the exact Xcode output format.
As a workaround, until AppCode accepts more formats, the command pl -input Project/Project.xcodeproj/project.pbxproj -output Project/Project.xcodeproj/project.pbxproj
can be run to format the project nicely and will open in AppCode and Xcode.
Sorry, I spoke too soon. It seems I opened the xcode project after I did the re-format and it still did not work. I think this may have to wait until the next AppCode version. However, I did add the re-formatter command to Xcoder to make the output prettier.
The pl command is still not going to work for AppCode - it'll put the plist into legacy OpenStep format, but at the moment AppCode needs it in exactly the format that Xcode uses - with the comments, etc.
This is because AppCode is written on the IntelliJ platform, which is implemented in Java, so I presume that they don't use obj-c plist framework to parse/serialize the project, but have implemented their own.
AppCode team have assigned the highest status to the issue and stated their intention to fix it. They're really fast too!
Regards, Jasper
On Mar 25, 2012, at 7:39 AM, Franklin Webber wrote:
pl -input Project/Project.xcodeproj/project.pbxproj -output Project/Project.xcodeproj/project.pbxproj
Two alternative workarounds that I can think of are:
. . . however I haven't had time to look into these, considering that the AppCode issue will likely be resolved soon.
On Mar 25, 2012, at 7:39 AM, Franklin Webber wrote:
Alright looking through Appcode, I found the following issue which the Cocoapod team posted. It seems that AppCode wants the project in the exact Xcode output format.
As a workaround the command
pl -input Project/Project.xcodeproj/project.pbxproj -output Project/Project.xcodeproj/project.pbxproj
can be run to format the project nicely and will open in AppCode and Xcode
Reply to this email directly or view it on GitHub: https://github.com/keithpitt/vendor/issues/14#issuecomment-4677720
This looks like it was fixed in 1.6 (http://youtrack.jetbrains.com/issue/OC-2797).
I don't have AppCode so I can't verify, but if something similar pops up again, please raise a new issue.
After running 'vendor install' an AppCode project will refresh and then hang. After closing the project and reopening it, things look OK, except the Run configurations are missing and need to be recreated. (I'm not sure if why, or if AppCode even stores these in project.pbxproj).