Settings

Theme

Xctool: a replacement for xcodebuild to build and test iOS and Mac projects

github.com

92 points by marcosero 13 years ago · 19 comments

Reader

rogerbinns 13 years ago

I'm incredibly frustrated by the lack of command line dev tools for iOS. For example using adb with Android, I can stop a running app, clear all of its data and start it again. I can push and pull files and can dissect the internal state as a result.

I do find various unmaintained tools for iOS as they generally use undocumented and changing backends.

My current biggest need is to grab and put files in the app sandbox. There are several gui tools that can do it like i-funbox, but absolutely nothing that is automatable. http://stackoverflow.com/questions/15980545/command-line-acc...

  • LegNeato 13 years ago
    • rogerbinns 13 years ago

      I already did a while back. I couldn't find any evidence that it supported access to the application sandbox which uses a slightly different protocol.

  • orta 13 years ago

    I have a library that does this for simulator apps in iOS: http://github.com/orta/chairs/ - but as you say, undocumented , unofficial & hacky

    • rogerbinns 13 years ago

      For various reasons I need this mostly for real devices which is even less documented, official and more hacky :-)

      • orta 13 years ago

        well, TBH, apps like iExplorer exist. If I can find out how that can access the device's filesystem I can probably do the same and support device & sim. I'll make a github issue.

        • rogerbinns 13 years ago

          Cool. iExplorer even has a Fuse module which would be perfect except it is extremely buggy. You have to use the gui to mount, and can only mount an application sandbox not one level up. If the app is uninstalled/reinstalled they lose the plot. (They never responded to my bug reports and inquiries. The iFunbox folks didn't either - seems to be a pattern with these kind of tools for Mac.)

  • seany 13 years ago

    You mean you don't want to drive the organizer and instruments via scripting bridge? :-p

    • rogerbinns 13 years ago

      I couldn't find the dictionary for the organizer. In any event the organizer only shows my apps, rather than all apps as ifunbox and similar tools do.

      fruitstrap would also greatly help but it is no longer maintained (with several forks).

dfamorato 13 years ago

I LOOOOVEEE the output. Nice, colorful and significant.

if you want to link it to your /usr/local/bin directory.. just modify the xctool.sh XCTOOL_DIR=path/where/xctool/is/located

Now... if only i could figure out how to use the xctool with Fortify....

krohling 13 years ago

If you're interested in a cloud service that does the CI work for you (mobile specific) check out cisimple https://www.cisimple.com

Full disclosure, I'm one of the founders.

puls 13 years ago

"Runs the same tests as Xcode.app."

If this works, it's huge. Mad excited about this.

  • LegNeato 13 years ago

    It works, we use it here at Facebook

  • jsankey 13 years ago

    Agreed. When first I encountered these differences with xcodebuild I found it incredible that the IDE and command line builds are not based on the same backend (indeed the IDE could just wrap the command line tools if well-designed).

    Every project's main build should be scriptable -- for reproducible releases, continuous integration etc. I wonder how Apple internally builds things for release when something this simple doesn't work (maybe they don't use OCUnit?).

stigi 13 years ago

I created a homebrew formula for it. The PR is not yet merged, but seems to be working quite fine: https://github.com/mxcl/homebrew/pull/19590

tvon 13 years ago

Nicely formatted output. I've been leaning towards using Rake tasks to handle this (there are a few gems out there to help), but I'll give this a whirl.

bitserf 13 years ago

Oh, wicked. Giving it a shot tonight :) Being able to automate this right makes me sleep better.

ellicottvilleny 13 years ago

Fantastic! Love it.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection