Hmm, Well, I don't have much experience with mobile use but from what I understand a "Swipe" is, essentially, a click+drag. (as in, you register where the point starts by a click/touch... you then track the path you're taking... and when the release is registered, the next set of actions are called.)
Now, This approach I'm about to do is more for a mouse but I would imagine that it wouldn't be too difficult to get that kind of fruit-ninja control scheme going.
So, a basic Idle state that listens for the appropriate input action... then the state that that transitions to (what i'd do... may not be the best way though) would have a system that cycles every X seconds (probably every tenth of a second) and places a point or an empty game object (or adds a vector to an array using Arraymaker... but i'm still green on that one personally) and listens for the "mouse/touch up" event... and when you're done, you have a collection of points with which you can use to calculate a path.
However, I can see one possible issue... in the cycle, if there is a "mouse up" before that fires, that could cause the state to not recognize that it's lifted up... so, you could get around this with a monitor system that has the input being sent to a boolean value that each state listens for (in the "cycle" system) and when that boolean is "false" then it drops out of this. Or you could have the mouse/touch being controlled by a separate FSM that calls the actions there via the "Send event" action... and that send event could be calling global transitions in your "path" FSM...
So, let us know if any of this helps...