iOS 的推送非要经过苹果那边的服务期吗?

比如用户已经打开APP,并且已经登录,那服务器可以直接给用户发送推送消息把?
干嘛还要通过苹果服务器呢?

如果是打开APP并且在前台,你可以自已建个socket长链接服务作消息推送。
如果没打开APP或者是在后台,就要通过苹果的推送服务。
在后台的情况下,苹果是限制APP运行的,APP属于休眠状态无网络访问,所以这个时候要通知用户就只能通过苹果的推送服务器。

必须的,第三方的也是从那绕一下

好像apple规定必须用他们的,不然不行的