iOS 13 后大陆地区基本告别 voip 推送(pushkit)了, iOS 开发越来越简单了😂

2019-10-16 10:14:11 +08:00
 fvckDaybyte2
根据苹果的文档,voip 推送后必须跟随 calllkit 的调用,否则你的应用会被强行终止,多次违反后甚至再也收不到推送。而 callkit 因为众所周知的原因已经在大陆被禁,因此 voip 推送也基本无法在大陆使用。根据苹果文档提示,只能用普通推送( usernotifications )来代替 voip 推送( pushkit )。影响所有用 xcode11 编译的应用,xcode10 编译的暂时不受此限制,但是目前 app store 最低的编译要求为 xcode10.2,不用 xcode11 编译也许很快就无法上架。

目前微信依然还在用 pushkit 接受语音来电,显然还在使用 xcode10,因此也不可能支持 dark mode。

"
Important
On iOS 13.0 and later, if you fail to report a call to CallKit, the system will terminate your app. Repeatedly failing to report calls may cause the system to stop delivering any more VoIP push notifications to your app. If you want to initiate a VoIP call without using CallKit, register for push notifications using the UserNotifications framework instead of PushKit. For more information, see UserNotifications.
"

来源:
https://developer.apple.com/documentation/pushkit/pkpushregistrydelegate/2875784-pushregistry?language=objc
34864 次点击
所在节点    iDev
79 条回复
luckysonyu99
2019-10-16 11:15:40 +08:00
@mschultz #20 我说的也是这样呀,但是楼上一帮说着用微信用 GV 号码而且有 callkit 功能的,是先用海外手机号注册然后换绑 GV 吗,不然我想不到其他的方法。
但是既然可以用海外手机号注册了为什么还要换 GV 号码呢?
echo314
2019-10-16 11:20:29 +08:00
@luckysonyu99 我是以前直接用 GV 注册的,后期还改绑过国内号码,现在又改回 GV,现在微信通知有 callkit。
mschultz
2019-10-16 11:21:22 +08:00
@luckysonyu99 #21 hh,我和你的想法是一致的。可能因为很久之前一段时间风控不严 GV 注册微信号还不是秒封?(参考这两天云南大量封微信号的事,电信诈骗这块越来越敏感了)
另一方面,GV 号申请的时候可以选号,有些人多少有点靓号,可能为了「各类海外服务统一绑定一个 GV 靓号」的想法……

总之我觉得除了看着舒服之外可能没什么必须绑 GV 的理由。
gromit1337
2019-10-16 11:29:56 +08:00
callkit 就是接电话直接就是和普通电话一样的机制了,直接威胁到电信运营商的地位,先问问工信部答不答应
luckysonyu99
2019-10-16 11:29:58 +08:00
@echo314 #22
@mschultz #23
原来还有用 GV 注册微信不封号的时候,看来是我了解 GV 太晚了...
ashong
2019-10-16 11:33:56 +08:00
@mikeven 确认国行 iOS 有 callkit,自搭的 nextcloud talk 可以正常使用
surfin9
2019-10-16 11:34:17 +08:00
微信不用 darkmode 主要是面子问题。毕竟老板都在公众场合说过不做了,是一个生活方式,如果太亮了眼睛不舒服就说明你需要休息了。
坐等打脸。
lnkn
2019-10-16 11:35:51 +08:00
@mikeven #6 一开始注册才行,后面改版是不可以的
ftu
2019-10-16 11:47:11 +08:00
@mikeven 我非常认同你的看法,天朝对苹果禁这禁那,美国对华为禁这禁那
lyoume
2019-10-16 11:53:53 +08:00
微信要使用 callkit 功能,必须要在注册的时候就填写国外号码。
如果最开始注册用的国内号,后期换绑成国外号,同样还是无法使用 callkit。
lucifer9
2019-10-16 11:56:01 +08:00
话说你们就一个微信用这玩意么
正常的 voip 应用大把的是不是都要挂了啊
nathanw
2019-10-16 12:29:22 +08:00
是不是可以这样,report incoming call 然后立马 end call
tozp
2019-10-16 13:02:37 +08:00
@mschultz #18 用境外号码注册的微信会启用 callkit,否则不会。
realpg
2019-10-16 13:10:59 +08:00
@luckysonyu99 #25
现在 GV 注册也有办法不封号 只是不敢瞎传而已……
hronro
2019-10-16 13:13:33 +08:00
有没有人和我一样现在还在用 6.6.1 版本的微信的?这个版本能用 callkit,很爽
zhuangku556
2019-10-16 13:20:50 +08:00
@lucifer9 周围人都用微信有什么办法?
luckysonyu99
2019-10-16 13:21:32 +08:00
@realpg #34 毕竟现有的微信已经是国内号码注册了,为了一个 callkit 功能再去找 GV 重新注册不封号的方法好像不是太合适,除非刚好有需要新的微信的人。
lihongming
2019-10-16 13:46:11 +08:00
@nathanw 要是有资格 report,又何必 end ?

现在的问题是只要用了 callkit 就不能上架国区
allenforrest
2019-10-16 13:56:57 +08:00
在 iOS 13 正式版刚发布也是发现了这个问题,后来就回退用 Xcode10 继续 build 版本了。
现在的打算是放弃 VoIP Push,该用普通 Push 了,反正都是没有 CallKit 的 InCall Screen 效果,换普通 Push 后,效果就是点击通知后,不能立马出接听界面,得等 App 启动和登录等等一堆事,变慢了,体验差了些,但也总还是能用。
就酱。
fvckDaybyte2
2019-10-16 14:06:21 +08:00
@allenforrest 可以用 remote notification 在 background 提前唤醒……确实这个问题早就在 WWDC 里讲过了,可惜我没看😂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/609787

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX