Get a second opion from an independent repair shop.
If the starter engages and the motor turns over, but will not run, and you have fuel but have no spark, look at and test the Crank Position Sensor.
The most likely cause of it cranks and cranks but won't start up
is the Crank Position Sensor (CPS). CPS failure is very common. The CPS can stop working with no warning or symptoms and the motor will not run.
Fuel gauge and voltage gauges may not work or display properly.
You sometime will have No Bus on the odometer after 30-60 seconds.
Fuel pressure OK
If the CPS has failed sometimes the OBDII code reader cannot make a connection to the computer or cannot read Check Engine Light/MIL codes because the CPS has failed.
Diagnostic steps to confirm the CPS is the cause of your no-start
You might be able to verify a bad cps, by unplugging it, and turning the ignition key to on. If the voltage gauge and/or the fuel gauge now displays correctly, replace the cps.
Exchange the fuel pump relay and the ASD relay with one of the other similar ones in the PDC to eliminate the relays as the cause of the no-start.
Eliminate the NSS as a cause of no start. Wiggle the shift lever at the same time you try to start. Put the transmission in Neutral and do the same. Do the reverse lights come on when the shifter is in Reverse?
Begin with basic trouble shooting of the start and charge systems. Remove, clean, and firmly reconnect all the wires and cables to the battery, starter, and alternator. Look for corroded or damaged cables and replace as needed. Do the same for the grounding wires from the battery and engine to the Cherokee's frame/body.
Crankshaft Position Sensor Connector
NOTE: To perform a complete test of the Crankshaft Position (CKP) sensor and its circuitry, refer to the appropriate Power train Diagnostic Chart. To test the sensor only, refer to the following:
1. Near the rear of intake manifold, disconnect sensor pigtail harness connector from main wiring harness.
2. Place an ohmmeter across terminals B and C (SEE Image). Ohmmeter should be set to 1K-to-1OK scale for this test.
3. The meter reading should be open (infinite resistance). Replace sensor if a low resistance is indicated.