The main reason for pseudorandom codes was less about jamming and more about being able to grab a really weak signal buried in the noise. CDMA works by increasing the band's noise level but by running the noise through a correlator the signal.
CDMA is "magic" in that you can get at signals buried below the noise floor - that by running the received noise through a correlator, a desired signal could magically pop out of the noise. Well, it wasn't quite so - the real noise floor (caused by everything) is still an issue and buries all the signal, but the PRN transmissions added pseudo random noise so the apparent noise floor is higher, but that's still a usable signal.
The other way is the PRN spreads the signal out - current signals relied on narrowband transmissions contained in a very narrow part of the allocated spectrum. PRN modulation spread it out over many MHz (considered very advanced). Spread spectrum technology means narrowband interference is ignored (the correlation process takes the spread spectrum signal and makes it a narrowband signal which can be processed later, and vice-versa, so that interference appears as noise in the output)
As a result, the late 90s introduced 12 channel GPS receives - previous receivers could only lock onto one or a few satellites at a time to get the timing code, but the 12 channel receiver was made possible because of advances in digital signal processing technology. As the output was of a single RF input it could be digitally split internally and run through multiple correlator cores simultaneously trying to lock on to the PRN codes. This made for extremely fast initial fix times.
This is one reason why GPS startup times can vary - from over 25 minutes if the receiver has to manually try to acquire a signal in an unknown time and an unknown location - it's going to have to try all the PRN codes and slide them back and forth to see if they could decode a signal. Once it acquires a satellite lock, it then needs to download the almanac data which tells the receiver where the satellites are. It takes 12-15 minutes to download a complete copy of the almanac. Once the GPS receiver has an idea of satellite positions, knowing the ID of the current satellite it's acquired means it can narrow the search of satellites it should see to the ones that are in the same hemisphere as the satellite it can see. Since there can at most be 12 satellites in the hemisphere, the other 11 receives are programmed with the satellite PRN codes and they begin searching for that specific satellite.
Once you get 3 locked on then your position can be found. Now, most GPS receives aren't taken out of storage - they're used fairly often, which is why even a GPS receiver that's been sitting around, but not recently used can often initialize itself within 5 minutes - it assumes its location hasn't changed, and the almanac data it has is "good enough" so it can program the receivers with the PRN codes of the satellites it should be seeing at that point in time. It still needs to download the complete data, but a first lock is much quicker because the partial data it has is good enough to get first fix (which is why it's Time To First Fix - 25+ minutes from a complete initialization, 5 from a cold start - it still needs a complete copy of the almanac and that takes 12-15 minutes but it has existing data that is "good enough" for now).
The TOFF is down to 30 seconds if you've used the GPS recently and thus the almanac data is not only mostly up to date, but your position is likely the same and the PRN code search is a lot smaller since it's likely close but needs to account for drift. The search space is much smaller.
Your phone, though, has an advantage in that GPS almanac data is often available through side channels - it's part of the control plane. When your cellphone turns on, it locks onto a network (subscribed or not) and receives control plane data (tells it carrier and other things) which includes the current GPS almanac. This is transmitted very quickly (GPS datarate is around 160 bits/second, the control plane data rate is much faster so that took 12-15 minutes takes a few seconds or so). This happens anytime it has a signal - because even "No Service" still allows emergency calls and GPS data needs to be quickly available.
Note in North America, the E911 spec calls for GPS location to be sent via the control plane so your location is sent back while you're talking with the 911 operator. In Europe, less so and there are various specifications on sending emergency location data via the data plane, a slightly trickier prospect (what if the user has no data plan?).