iOS开发之iOS13推送deviceToken处理
<p>iOS13新出之后会有收不到推送的问题</p><p>因为iOS13的处理方法变了,代码如下</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取DeviceToken成功</span>
- (<span style="color: rgba(0, 0, 255, 1)">void</span>)application:(UIApplication *<span style="color: rgba(0, 0, 0, 1)">)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData </span>*<span style="color: rgba(0, 0, 0, 1)">)deviceToken
{
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">Xcode11打的包,iOS13获取Token有变化</span>
<span style="color: rgba(0, 0, 255, 1)">if</span> ([[ systemVersion] floatValue] >= <span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(0, 0, 0, 1)">) {
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (!]) {
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">记录获取token失败的描述</span>
<span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)">;
}
</span><span style="color: rgba(0, 0, 255, 1)">const</span> unsigned *tokenBytes = (<span style="color: rgba(0, 0, 255, 1)">const</span> unsigned *<span style="color: rgba(0, 0, 0, 1)">);
NSString </span>*strToken = [NSString stringWithFormat:<span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%08x%08x%08x%08x%08x%08x%08x%08x</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
ntohl(tokenBytes[</span><span style="color: rgba(128, 0, 128, 1)">0</span>]), ntohl(tokenBytes[<span style="color: rgba(128, 0, 128, 1)">1</span>]), ntohl(tokenBytes[<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">]),
ntohl(tokenBytes[</span><span style="color: rgba(128, 0, 128, 1)">3</span>]), ntohl(tokenBytes[<span style="color: rgba(128, 0, 128, 1)">4</span>]), ntohl(tokenBytes[<span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">]),
ntohl(tokenBytes[</span><span style="color: rgba(128, 0, 128, 1)">6</span>]), ntohl(tokenBytes[<span style="color: rgba(128, 0, 128, 1)">7</span><span style="color: rgba(0, 0, 0, 1)">])];
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">deviceToken1:%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">, strToken);
</span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)">;
} </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)"> {
NSString </span>*token =<span style="color: rgba(0, 0, 0, 1)"> [NSString
stringWithFormat:</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,deviceToken];
token </span>= ;
token </span>= ;
token </span>= ;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">deviceToken2 is: %@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">, token);
}
}</span></pre>
</div>
<p> </p><br><br>
来源:https://www.cnblogs.com/hecanlin/p/11646915.html
頁:
[1]