2 が「文法的に間違い」なのではなく、
意味がまったく別物になるため、①の意味では使えない
ということです。
まず、①の文。
1 Wir haben keine Äpfel gekauft.
これは
・Äpfel(不定・複数)に対する数量否定
・「りんごを1個も買わなかった」
を表します。
ここで keine は
「数量ゼロ」を名詞に直接与える語です。
次に、②の文。
2 Wir haben nicht Äpfel gekauft.
これはどうなるか。
この文で nicht が否定しているのは
「kaufen(買う)」でも
「haben(持つ)」でもなく、
Äpfel(りんご)という語そのものです。
つまり意味は、
「りんごではなく(別のもの)を買った」
という 対比・訂正の文 になります。
例を補うと、
Wir haben nicht Äpfel gekauft, sondern Birnen.
(りんごではなく、梨を買った)
このように sondern が自然に続く構文です。
では、なぜこうなるのか。
理由は単純で、
nicht は「語や文の内容」を否定する語であり、
「存在量ゼロ」を表す語ではないからです。
一方で kein は、
・ein 型の冠詞として
・名詞を限定し
・「一つもない」を表す
という役割を持っています。
ここで「kein = nicht ein」という説明の誤解ポイント。
これは
意味的な説明であって、
置き換え可能という意味ではありません。
数学で言えば、
0 = 1 − 1
でも
「0 を常に 1−1 と書ける」わけではない
のと同じです。
整理すると、
・① は「数量否定」
→ keine Äpfel(ゼロ個)
・② は「対比否定」
→ nicht Äpfel(=他のもの)
だから、
①は日常的・自然
②は文脈なしでは不自然、かつ意味が違う
という結果になります。
一言でまとめるなら、
kein は「存在を消す否定」
nicht は「選択肢を否定する否定」
です。
したがって、
「りんごを買わなかった」と言いたいなら①、
「りんごじゃない物を買った」と言いたいなら②。