<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                這是一篇來自[raywenderlich](http://www.raywenderlich.com)的教程,內容翔實!結構簡單透徹、講解循序漸進、文章質量上乘!是一篇難的的博文!使用半瓶的英語水平翻譯了一下: 1.【iOS push全方位解析】(一)?[push的概述](http://blog.csdn.net/hherima/article/details/45583787) 2.【iOS push全方位解析】(二)?[生成push證書,生成Provisioning Profile](http://blog.csdn.net/hherima/article/details/45583865) 3.【iOS push全方位解析】(三)一個極簡的demo,并測試一下push。(本博文) [這里查看原文](http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1) ### 一個極簡的demo 到目前為止,上面還不是做的還不夠讓人興奮,但是那些準備工作還是很有必要的。本教程像你詳細展示了如何生成證書,因為每天都會用到證書,而且沒有證書push就不好。剛才你剛搞了一個證書,可以連接到APNS。現在讓我們來測試一下吧。 打開Xcode選擇File,New Project。在面板中選擇Single View Application并下一步: ![](https://box.kancloud.cn/2016-03-10_56e11b1236339.jpg) (建工程) 我是這么填的: ● Product Name:PushChat ● Organization Name:Ray Wenderlich ● Company Indemnifier:com.hollance ● Device Family:iPhone Product Name和Company Identifier 一起構成了Bundle ID。在我的例子中是“com.hollance.PushChat”.你應該選擇一個Product name 和Company Identifier,即,從之前在Provisioning Portal中生成的App ID中獲取(例如com.yourname.PushChat)。確保勾選“User Stroyboards”并且“Use Automatic Reference Counting”。好,完成創建工程。進入AppDelegate.m。改一下代碼: ~~~ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Let the device know we want to receive push notifications [[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)]; return YES; } ~~~ 函數registerForRemoteNotificationTypes是高速iOS該App想接收push通知。編譯并運行該App。你應該在真機上運行,因為模擬器不支持push通知。Xcode會自動選擇新的的provisioning profile。當程序啟動并注冊push通知,手機上彈一個消息,告知用戶該app想發送push通知。 ![](https://box.kancloud.cn/2016-03-10_56e11b1266118.jpg) (發送push 通知提醒) app僅僅彈出一次這樣的對話框詢問用戶。如果用戶點擊OK,那就一切就設置好了。如果點擊“Don't Allow”,那么這個app將永遠收不到push通知了。用戶可以更改push的設置在手機設置中。 ![](https://box.kancloud.cn/2016-03-10_56e11b127ba85.jpg) (設置push通知) app的名字被添加到設置中,在這里用戶可以enable和disable app的push通知,包括badge、聲音和alert樣式。 ![](https://box.kancloud.cn/2016-03-10_56e11b129c87b.jpg) (詳細設置push通知) 你的app可以設置具體是哪一種push,比如: UIRemoteNotificationType enabledTypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes]; 在AppDelegate.m中還要添加一個邏輯,來收到push通知 ~~~ - (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken { NSLog(@"My token is: %@", deviceToken); } - (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error { NSLog(@"Failed to get token, error: %@", error); } ~~~ 當你的app在遠程push 通知注冊后,會返回一個device token。這是一個32字節的數字,可以唯一標識你的設備。可以吧device token想象成一個push通知的地址。再次運行app,你應該在控制臺看到下面的輸出: My token is:? <740f4707 bebcf74f 9b7c25d4 8e335894 5f6aa01d a5ddb387 462c7eaf 61bb78ad> token是一串兒二進制的數據,在一個NSData中存放著。Apple不想讓開發者對token做什么更改。對我們而言知道它是一個32字節長的數據就足夠了。 APP工程的修改就這些了,還有一件事做完,就能看到push通知了。 ### 發送第一個push通知 我之前很多次提到的,你需要搞一個server來發送push通知。這里為了測試,你不必設置一個server了。我已經寫好一個簡單的php腳本,可以連接到APNS并發送指定token的push通知。你可以在mac上運行。 [下載SimplePush code](http://d1xzuxjlafny7l.cloudfront.net/downloads/SimplePush.zip)并解壓,你還需要改一下simplepush.php文件: ~~~ // Put your device token here (without spaces): $deviceToken = '0f744707bebcf74f9b7c25d48e3358945f6aa01da5ddb387462c7eaf61bbad78'; // Put your private key's passphrase here: $passphrase = 'pushchat'; // Put your alert message here: $message = 'My first push notification!'; ~~~ 將app工程運行結果中的device token拷貝到$deviceToken變量,去掉空格和回車。一共是64個十六進制字符。將私鑰的密碼放放到$passphrase變量;設置你希望的文本內容到$message變量。 將ck.pem拷貝到SimplePush文件夾下,記得!ck.pem文件一定是包含了證書和私鑰。打開命令行: **$ php simplepush.php** 如果一切正常,腳本輸出是: **Connected to APNS Message successfully delivered** 幾秒鐘后,你的設備收到了第一個push通知。 ![](https://box.kancloud.cn/2016-03-10_56e11b12b5e47.jpg) (push測試成功) 注意:app啟動后什么也看不到。push消息是被派發了,但是app中并沒有處理它。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看