App Extensions篇之Sticker Pack Extension

来源:http://www.cnblogs.com/zhanggui/archive/2017/07/11/7151795.html
-Advertisement-
Play Games

轉載請標明原文鏈接:http://www.cnblogs.com/zhanggui/p/7151795.html 前言 上一篇文章對App Extension做了簡單介紹以及對Share Extension的使用做了簡單說明,本篇文章主要是對Sticker Pack Extension進行介紹。 開 ...


轉載請標明原文鏈接:http://www.cnblogs.com/zhanggui/p/7151795.html

前言

上一篇文章對App Extension做了簡單介紹以及對Share Extension的使用做了簡單說明,本篇文章主要是對Sticker Pack Extension進行介紹。

開始

接下來是對Sticker Pack Extension的一些介紹。

Sticker Pack Extension是什麼?

從字面看就是貼紙包擴展,更直觀一點看下圖:

iMessage裡面這些都是iMesssage的Extension,但是並不是所有的Extension都是Sticker Pack Extension,有的是iMessage Extension。因此,如果是貼紙這種的Extension,才是Sticker Pack Extension。

貼紙包如何創建呢?

我們會看到兩種情況:

1.沒有從AppStore下載Sticker Pack,但是你可以直接在iMessage裡面看到。其實這種是不是創建的Sticker Pack Extension,而是單獨的Sticker pack Application。它是可以單獨上線AppStore的,也就是我們經常看的這些:

 

這些橢圓形狀的都是iMessage 貼紙,下載之後直接可以在iMessage裡面看到。可以直接這樣創建:

點擊所選擇的那個Application之後,你會看到如下的project項目工程列表:

好吧,只有一個文件夾,後面在介紹。

2.沒有從AppStore上面下載,但是能夠在iMessage裡面看到的。例如上面圖示中的WWDC和知乎劉看山。它的創建方式就是App Extension。也就是我們在我們產品開發的時候,新建的一個Target:

 新建之後,你會發現項目工程目錄變成這樣了:

上面的MessageExtensionDemo是我的工程,CustomSticker是我新建的Sticker Pack Extension。相比之下多了一個Info.plist,無非是對要展示的名稱以及其他屬性的設置。

如何實現

 接下來的開發讓你刷新認知。因為:完全不需要編寫代碼!完全不需要編寫代碼!完全不需要編寫代碼!我們只要把圖片放到指定的位置即可。打開Sticker.xcassets,你會發現裡面是這樣的:

其中的iMessage App Icon就是在iMessage裡面看到的icon,而Sticker Pack就是我們在iMessage裡面點擊icon進入的頁面要展示的image.例如我自己做的這種:

   

這裡面我做的就是找一些圖片,然後把這些圖片放到指定的位置,把做的icon放到iMessage App Icon裡面,把其他的要分享的圖片放到Sticker Pack裡面。然後點擊運行主程式,打開iMessage app,你就會看到自己的iMessage 貼紙。

這裡你可能註意打了展示的個數問題,有的一行四個,有的一行三個,有的一行2個。這個是因為我設置的Sticker Size

也就是說如果我用的Small,那麼iMessage裡面展示的就是一行四個,如果設置的Medium,那麼一行展示的就是三個,如果是Large,那麼一行展示的就是兩個。

Sicker Pack 圖片Size和格式

官方的Sticker Size是下圖左側這樣的:

 

但是我在設計圖片的時候比較隨意,隨便設置了圖片的大小,,不過看起來也還ok。

官方的Sticker Formats是上圖右側這樣的。

另外,我們再看一下左下角的加號:

其中的New Sticker就是創建一個Sticker Pack,那個New Sticker Sequence很有趣,其實它就是一個圖片的序列,也就是我們可以用幾張連續的png圖片組裝成一個動態圖片。這裡就不舉例子了,感興趣可以自己試一下。

關於iMessage 貼紙 icons大小

按照官網給的大小設計即可。另外如果有money,可以購買官方推薦的創建Stickers的工具:Motion。不過收費。。。。點擊這裡可查看如何使用Motion來創建Stickers。

總結

這篇博客主要介紹瞭如何創建iMessage App以及如何創建貼紙擴展。比較簡單。不理解的話可以留言咨詢。

附 

1.用到的代碼,點擊這裡下載(代碼中的MessageExtensionDemo)

參考資料

1.Human Interface Guidelines        2.Creating Stickers for iMessage      3.Messages     4.視頻:Buildiing Sticker Packs

5.Create Stickers with Motion

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 聲明式渲染 Vue.js 的核心是一個允許採用簡潔的模板語法來聲明式的將數據渲染進 DOM: 我們已經生成了我們的第一個 Vue 應用!看起來這跟單單渲染一個字元串模板非常類似,但是 Vue 在背後做了大量工作。現在數據和 DOM 已經被綁定在一起,所有的元素都是響應式的。我們如何知道?打開你的瀏覽 ...
  • Vue.js是一套構建用戶界面的漸進式框架。與其他重量級框架不同的是,Vue 採用自底向上增量開發的設計。 Vue 的核心庫只關註視圖層,它不僅易於上手,還便於與第三方庫或既有項目整合。 另一方面,當與單文件組件和 Vue 生態系統支持的庫結合使用時,Vue 也完全能夠為複雜的單頁應用程式提供驅動。 ...
  • 事件綁定 事件綁定方法I:綁定元素屬性 事件綁定方法II:綁定對象屬性 事件綁定方法III:使用addEventListener() 方法(DOM2級事件程式) addEventListener 語法:target.addEventListener(type,listener,useCapture) ...
  • # 前言本文為開發nw中遇到的各種問題,僅以記錄供備忘以及遇到相同問題的人的一點點解決思路。# 1. package.json中的window欄位無效**原因**:`package.json`中的`window`欄位,只在`main`欄位為`*.html`或是外部網址時有效,當為 `*.js`時是無... ...
  • 1. 模板字元串: "use strict"; let a = ; console.log(a); 模板字元串寫在撇號(反引號)裡邊。 let a = `my name is DaPaang i am 21 years old `; console.log(a); 模板字元串支持換行書寫; let ...
  • 閑來無事寫了個小demo,想上傳到GitHub上,發現得使用git進行上傳,所以得先瞭解下git . 1、git是什麼 分散式版本控制器 2、svn與git的區別svn:是集中式的版本控制系統,版本庫是集中存放在中央伺服器的,工作時,要先從中央伺服器取得最新的版本,工作結束了,再把自己的活推送給中央 ...
  • iframe的url可以前端任何地址,這樣就可能出現漏洞,如果釣魚網站通過js把src改成了危險地址,如果沒有監控,就會有很大隱患。所以監控iframe的url變化就是必須要解決的問題了。 第一印象的解決方案是通過setInterval輪詢監控,貌似不太理想了,而且有延遲。 千般搜索,終於找到了好的 ...
  • 初次嘗試微信小程式開發,在此寫下步驟以做記錄和分享。 1.在網上找了很多資料,發現這位知乎大神提供的資料非常全面。 鏈接 https://www.zhihu.com/question/50907897#answer-46908609 2.按照步驟安裝微信開發者工具以及註冊用戶搭建環境,詳細步驟見鏈接 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...