Officers responded to an active shooter in the northeast of the city but no suspect has been taken into custody.
Two victims were in an “extremely critical” condition, including a 17-year-old boy.
Captain Richard Lawhead said multiple weapons were fired in what police believe was an exchange of gunfire. He said none of the victims had died.
Detectives do not have a motive for the shooting.
“Right now, nobody is cooperating and providing us with the information we need to help us locate a suspect or what led to the shooting or anything else,” Mr Lawhead told Reuters.
Handguns and rifles are believed to have been used, but no weapons were recovered from the scene.
Victims were taken to three hospitals and the condition of the other six victims is not yet clear..
Police initially said 10 people had been hit by gunfire at the apartment complex, but Mr Lawhead later said a total of eight people had been shot. Police had initially received conflicting reports, he said.
#UPDATE: Police say a total of 10 people were shot on Lynwood Drive in #SanBernardino. 3 people are in “extremely critical” condition but there are no fatalities. Police say a group of people were playing dice in a common area of the complex when the shooting happened. #CBSLA pic.twitter.com/J0S82iu0kg
— Mike Rogers (@MikeRogersTV) September 3, 2018
Photos from the scene showed a massive police presence at East Lynwood Drive and nearby roads were closed.
Alysa Marie, who lives near the complex, told CNN she heard 15 to20 gunshots.
“My brother-in-law could hear bullets flying past our house, he was outside at the time of the shooting,” she said.
San Bernardino is located around 60 miles (96km) to the east of Los Angeles.
The shooting took place a week after a gunman shot nine people and killed two competitors at a video game tournament in Jacksonville, Florida.