Your HLS playlist is pretty boken and has a lot of issues, biggest one would the missing codec information.
Use Apples HTTP Livestreaming tools to validate your playlist.
Excerpt for your first link:
Must Fix Issues
1. Measured peak bitrate compared to master playlist declared value exceeds error tolerance
Master Playlist Stream Definition for All Variants
2. I-frame playlists ( EXT-X-I-FRAME-STREAM-INF ) MUST be provided to support scrubbing and scanning UI
Master Playlist
3. Your EXT-X-STREAM-INF and EXT-X-I-FRAME-STREAM-INF tags MUST always provide CODECS attribute
Master Playlist Stream Definition for All Variants
4. Your EXT-X-STREAM-INF and EXT-X-I-FRAME-STREAM-INF tags MUST always provide the RESOLUTION attribute if the rendition(s) include video
Master Playlist Stream Definition for All Variants
5. You MUST include the AVERAGE-BANDWIDTH attribute
Master Playlist Stream Definition for All Variants
6. Each EXT-X-STREAM-INF tag MUST have a FRAME-RATE attribute
Master Playlist Stream Definition for All Variants
7. The server MUST deliver playlists using gzip content-encoding
All Variants
Master Playlist
8. The EXT-X-PROGRAM-DATE-TIME tag MUST be present in every live/linear media playlist
All Variants
9. You MUST provide at least 6 segments in a live/linear playlist
All Variants
10. If EXT-X-INDEPENDENT-SEGMENTS is not in master playlist, then you MUST use the EXT-X-INDEPENDENT-SEGMENTS tag in all video media playlists
All Variants
All these issues can prevent HLS from playing on Apple devices, Android might be a bit more lenient.