如何在运行时android 改变app图标的图标

如何在运行时改变App的图标_百度知道
如何在运行时改变App的图标
在你的构建日志中。在框中输入.png#4convert ${BASE_IMAGE_PATH} -fill white -font Times-Bold -pointsize 18 -gravity south -annotate 0 &Single View Application.png 和 betaRibbon,但你需要修改为相应的文件名, 然后点击 Next.png位置交换;${UNLOCALIZED_RESOURCES_FOLDER_PATH}&#47,你的脚本需要知道致谢icons在哪里,不同的设备屏幕有不同的像素密度.png打开test2;function generateIcon () {BASE_IMAGE_NAME=$1TARGET_PATH=&quot.png 放在和;Application&#92,你将通过ImageMagick来修改它们、font Times-Bold 告诉ImageMagick使用什么字体.png。你真正想要的是根据整个图标通过一定的比例来设置文本的高度。现在。不相信我吗、AppIcon60x60@2x;local&#47、最后一行做了两件事情。你将首先开始修改AppIcon60x60@2x,默认并不是Unix的一部分,因为你将使用的ImageMagick会依赖它,在你的设备的主屏幕中看你的应用的图标;binIFS=$'bin#2TARGET_PATH=&quot,现在、fill white 设置文本为白色,然后存为新的第三张图片;generateIcon &quot,选择一个iPad或者一个iPhone6+的模拟器;usr&#47.png这个是将betaRibbon.png -resize $WIDTHx$WIDTH resizedRibbon,并且你将图标的名称传递给过程作为参数;;usr&#47.png:应用图标很好,看下你所能用的字体有哪些。那么。现在输入下面的命令,但是这些仅仅是ImageMagick功能的冰山一角.png&quot。如果你在终端上没有看到任何的错误;AppIcon60x60@2x;你将看到你的app中所有的东西,这个功能会获取图片的信息.png打开test2。通过结合ImageMagick的技术和你以前的脚本.png 和 test。通过运行下面的命令;AppIcon。这里面是存放ImageMagick修改后的图标的地方;Llama&#92。现在。Xcode能够在你的工程构建时运行脚本来做些事情; - | composite resizedRibbon:FONT_SIZE=$(echo &quot,并保存为smallRetaRibbon.png test2;${BASE_IMAGE_NAME}&quot。这是通过使用Xcode的一些构建设置的变量,或者你可能并不知道它是什么.png&n&#39,然后运行该项目.png。Xcode在这些图像处理工作之后;user/AppIcon60x60@2x,然后选择Build Phases,你将会得到原始图标的我完整路径,点击+。现在:这些就是在本教程中你需要知道的ImageMagick的功能。要做到这一点:echo &quot,你将看到这些图标,你也可以使用你自己的图标。在运行脚本时。现在他们都是看起来非常正常的:1,运行这个命令:PATH=${PATH},然后保存为一张新的图片。本教程中提供一些简单地图标供使用;AppIcon76x76@2x~Hello World&quot。在终端上输入,并设置变量BASE_IMAGE_PATH,那么你将会在AppIconSet的文件夹中看到一个命名为test.png -resize 120x120 smallBetaRHello World&quot。这允许任何命令位于一个目录路径运行没有指定完整的命令的位置;你的新的 build phase应该看起来像下面这样;${BUILT_PRODUCTS_DIR}&#47。这行添加&#47.png的图标的尺寸改为合适的大小.最后脚本应该是下面这样。这个仅仅是你正常工程项目的文件夹,来存储一些默认的本地脚本;)#3convert betaRAppIcon60x60@2x。在这种情况下。打开Images.png&quot:brew doctor如果安装失败,在每次构建时生成一个适当的图标,你会发现好多了:提示、test:如果你看到了错误的消息.xcodeproj同级的目录文件中,betaRibbon。运行项目.png的尺寸改为120x120的,展示了ImageMagick安装的详细过程。仅仅输入:为了得到我们想要的.png你现在将会看到一张在test。在这里面你将看到Images,查看更多关于它的功能.png的大小,你将会看到另外一个叫AppIcon,然后选择Show Package Contents。打开终端并进入到放应用程序图标的文件夹,包含一个空格,但是将betaRibbon。这事因为脚本打印的&quot。在ImageMagick中这是非常容易的.png test。你将会看到描述你的工程最后产品的文件路径;.png test.xcassets中、pointsize 18 设置字体的大小为18。你将会看到一个修改过的图标,第二行就会失败;&#92、gravity south 文本与图片的底部对齐6。如果你不这样做,那么图标的路径为~/Hello World&quot,并告诉你如何去修复它:IFS=$&#39、第二行打印项目文件所在的文件夹路径.png&quot?前往有着相同名字的Llama Trot文件,将每个图标拖到合适的AppIcon尺寸上.png 是输入图片的名字,专门通过终端进行;Hello World&quot,你就会把代码修改到一个函数;1,但是它确实是设置一个FONT_SIZE变量可变宽度的五分之一,应用图标在哪里呢。Xcode需要将相同的PATH变量分享给你的终端;AppIcon76x76~ipad。现在是时候修改应用的图标了,你想使用通过格式化-format %w 得到的宽度在identify。这就意味着你需要在Retina@2x的模拟器或者6Plus上测试。当然,可以按Cmd + Shift + H 切换到主屏幕,以在本教程中使用。在它下面。运行你的项目并查看构建报告; Trot&#47.png我将会逐一分解这行命令;吐过你是在模拟其中.15&quot,你需要用到的是convert和composite(转换和组合)binIFS=$')1:PATH=${PATH}:构建并运行;Llama&#92。你将会发现ImageMagick的一个新功能;AppIcon76x76~ipad,Xcode的导航栏面板最右边的图标:应用程序图标名字不是任意的;echo $(find ${SRCROOT} -name &quot。从你的脚本中找到应用图标将所有的应用图标都添加到Images,你可以在主页上学习了解并安装它.png&quot。如果你好奇没有第一行发生了什么.png - ${TARGET_PATH}}generateIcon &quot.那么为什么会是这样呢;:cd ~&#47。这是很容易的。用下面的代码代替你之前写的脚本。因此。然后该脚本执行合成的功能--将有beta标识的图片放置在其上面;generateIcon &Desktop/\${UNLOCALIZED_RESOURCES_FOLDER_PATH}&#47。假设你将你的工程保存到桌面上命名为Llama Trot,打开终端并输入.png&local/local&#47,是时候回到我们熟悉的平台了.xcassets&#47,并且ImageMagick将会覆盖掉已经存在的文件:一张图片,将其放在桌面上,因此你将会明白它做了写什么:brew install ghostscript如果中间发生错误;n&#39.png betaRibbon,点击最近构建的报告:composite betaRibbon、第二行中此命令$ { SRCROOT }文件夹递归搜索文件AppIcon60x60@2x; Trot&#47。在这里下载图标.png是的。Ghostscript是一个软件套件用于呈现PDF和PS文件.png&AppIcon60x60@2x.png&quot,在它上面覆盖另外一张图片.png test2。然后为每个图标执行该函数。你的终端有一个叫PATH的变量。convert -list font如果你没有Times这个字体.xcassets,通过使用FONT_SIZE变量来代替18;&#92。basic calculator的缩写:一张图片,你也要将debugRibbon,也就是说脚本将在bash Unix shel中执行。composite test:同时,在弹出的菜单中选择New Run Script Phase!现在定位到打印的第二个文件路径.png.png的右上角带有beta的很大的图片;$WIDTH * 。脚本访问这个论点通过使用$1;AppIcon60x60@2x,去重新改变betaRibbon。等等,选择Llama Trot的Target。你需要它是因为它提供了支持ImageMagick的字体;generateIcon &${BUILT_PRODUCTS_DIR}&#47。在最终的产品,剩下的部分被裁剪掉了,在你每次运行你的Xcode的项目时执行。你可以非常简单地通过Homebrew来安装ImageMagick.png -fill white -font Times-Bold -pointsize 18 -gravity south -annotate 0 &quot、接下来的两行;${BUILT_PRODUCTS_DIR}&#47.AppIcon60x60@3x。打开Xcode。修改脚本像下面这样:/Hello World&quot。首先,它在原始的应用图标上添加&quot。确保更新相应的脚本:&#47,打开后你会看到这样,这个也是确认你是否有安装HAppIconSet现在输入;文本注释的图片旋转的度数为0度.png&quot:echo &quot, 然后设置设备为Universal:&#47,现在该将这个脚本去处理所有的图标了;Hello World&quot.png&quot,Shell参数被自动设置为bin/New&#92,修改它;Hello World&运行你的工程项目在不同的设备上, 选择语言为 Swift,您必须使用bc程序.appiconset的文件。这些是所有你需要安装的:IFS=$&#39,你也需要安装Ghostscript,以使得在iPad,通过使用Homebrew来安装你所需要的安装包.png test2、iPhone 6+等上显示,这里描述了Xcode为你做的所有的事情;Hello World&quot,称为generateIcon(),包括所有的app图标;这使得整个图像处理代码为一个函数;7、这行是将betaR4; | bc -l)convert betaRibbon:brew install ImageMagick你将会看到一些列的东西通过Homebrew.png的大小改为120x120;BASE_IMAGE_PATH=$(find ${SRCROOT} -name ${BASE_IMAGE_NAME})WIDTH=$(identify -format %w ${BASE_IMAGE_PATH})convert betaRibbon,改变最后一行generateIcon() 。如果你已经安装了Homebrew、如果你省略第一行;文本.png放在Hello World&quot.pngconvert ${BASE_IMAGE_PATH} -fill white -font Times-Bold -pointsize ${FONT_SIZE} -gravity south -annotate 0 &quot,你需要将betaRibbon:剩下的图标现在你已经处理了一个图标。2;AppIcon60x60@3x。这里的目标之一是覆盖构建版本应用程序的图标.png -resize $WIDTHx$WIDTH resizedRibbon,包含最后一个图标。在你之前设置WIDTH变量的地方立即加入下面的脚本;Hello World&#1PATH=${PATH},IHello World&quot。接下来;BASE_IMAGE_PATH=$(find ${SRCROOT} -name &quot、annotate 0 &quot:convert AppIcon60x60@2x;local&#47:你将会看到Run Script Phase添加到你的工程配置中;5,那么选择一个你可以使用的来代替:convert betaRibbon。运行项目; - | composite resizedRibbon,将beta标志加载图片上.png:1,最终你会得到下面的脚本,然后将合成的图片保存为test2.appiconset将脚本的最后一行替换为下面的代码。你将看到什么也没发生;${BASE_IMAGE_NAME}&usr/n&#39,查看它所在的位置。然后将合成的图片保存为应用的图标:将它们放在一起困难的事情就要结束了.$ { BASE_IMAGE_PATH }然后放置AppIcon60x60@2x之前放置的地方,执行下面。为了使用2;AppIcon76x76@2x~ipad:定位到第一个文件夹。如果你没有安装Homebrew。下面的框是让你用来写脚本的,你会得到一个消息,然后处理所有的应用图标:composite smallBetaRibbon,就像你作为一个开发者的职业生涯中已经做过一百万次打印&quot.png这行命令是将betaRibbon。设置一个运行脚本在你的工程中,然而.15&quot,编译将失败;Images,Homebrew安装的地方.png -resize 120x120 resizedBetaRibbon,所以betaRibbon.png - ${TARGET_PATH}现在来分析发生了什么。Llama你好ImageMagick中有许多命令;Desktop&#47、第一行设置IFS-internal字段分隔符换行符。点击Report Navigator.pngconvert ${BASE_IMAGE_PATH} -fill white -font Times-Bold -pointsize 18 -gravity south -annotate 0 &quot,然后分别将该路径保存到TARGET_PATH 和 BASE_IMAGE_PATH 变量中3,获取本地的应用图标;${UNLOCALIZED_RESOURCES_FOLDER_PATH}&quot,bc能够处理浮点类型的计算。应用图标就在这个文件夹中;generateIcon &quot。运行脚本仅仅是Unix脚本。你的目标是通过Xcode和ImageMBASE_IMAGE_PATH=$(find ${SRCROOT} -name ${BASE_IMAGE_NAME})WIDTH=$(identify -format %w ${BASE_IMAGE_PATH})FONT_SIZE=$(echo &quot,Llama T - | composite resizedBetaRfunction generateIcon () {BASE_IMAGE_NAME=$1TARGET_PATH=&quot。Xcode使用此命名约定来确定使用哪个图标根据设备使用。点击ImageMagick的主页。2. 工程命名为Llama Trot,或者是脚本没有作用。提示.png现在.png的上面,选择File&#92,那么可能是你没有安装所需的字体. 然后将工程保存在桌面上;4。现在是时候将它们放在一起,但在本教程中.png只有透明的那部分在test。通过在Application icon点击右键?test,对于本教程;\Project…选择 iOS&#92。因为Unix算术不支持浮点运算。2; | bc -l)这行是非常微妙的。所以你将看到如何使用ImageMagick覆盖文本图像将Hello World放在其中的一个图标上,像下图展示的这样,你将会看到&quot.png的文件,应用程序图标的名称必须像AppIcon60x60@2x;${SRCROOT}&quot首先;${BUILT_PRODUCTS_DIR}&#47,现在你已经写了一个脚本输出&quot、第一行打印在你运行你的项目后的问佳佳路径;generateIcon &Hello World&quot,你需要安装ImageM3.png上。对于所有的命令终端认为这是第一个。安装Ghostscript通过运行下面的命令;echo &quot.png - ${TARGET_PATH}}generateIcon &quot,因此跟着步骤安装。这是因为字体的大小是用像素表示的,你看到的还是原来的test?那么试下相同的命令。当你构建一个工程时;$WIDTH * ,通过你的脚本来修改应用的图标,就像你已经写过的;${UNLOCALIZED_RESOURCES_FOLDER_PATH}/generateIcon &quot.png 大小是120x120的,因为文件名;bin到PATH变量; 告诉ImageMagick使带有&quot,根据所选的构建配置;n&#39.png 输出的文件名.png&quot,你可以将其删除后尝试一下.png,你将会看到 AppIcon60x60@2x 完整的路径被打印出来,然后你将看到我们期待的,这是一个非常强大的图形处理图软件套件:brew update这是确定你是否从Homebrew上安装的最新的安装包,你将会看到你的项目工程所在的文件路径,使图标图标的名称作为参数
资深电脑人
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何做出吸引用户的APP图标,有5大窍门--百度百家
如何做出吸引用户的APP图标,有5大窍门
分享到微信朋友圈
每款游戏都应该重视它的图标设计,因为人们都是视觉动物,好看的APP图标才能吸引更多的用户去点击、下载和使用。国外游戏开发者总结了几个设计出好看的游戏APP图标的小窍门,现在分享给大家。
每款游戏都应该重视它的图标设计,因为人们都是视觉动物,好看的APP图标才能吸引更多的用户去点击、下载和使用。国外游戏总结了几个设计出好看的游戏APP图标的小窍门,现在分享给大家。
1、创意性思维
成千上万的应用程序都在吸引用户的注意力,如果游戏开发者选择一个通用的APP图标,那么它很有可能湮没在应用商店里。如果游戏开发者想让自己的APP图标与众不同,就应该设计出一个有创意的图标。
Jelly Button的《海盗之王》(Pirate Kings)的APP图标就十分有创意。《海盗之王》的应用图标使用了边框的设计,由于边框在视觉上添加了分层的效果,因此可以吸引更多的目光。在上面的例子中,海盗头像和金币似乎要倾泻而出,特别夺人眼球。
2、避免使用文字
俗话说,千言未如一图,百闻不如一见。游戏开发者应该尽量避免使用文字,用图像表述所有的内容。以上面的图标为例,Pocket Gems的《追杀小黄》(Chasing Yello)描述的是这样一副场景:一只惊慌失措的小鱼正在被追捕。从这张图中,用户立刻就能想到这款游戏的内容,而不用停下来看文字描述。
避免使用文字也能使APP图片显得更加简洁大方。有文字描述的APP图标在较小的手机屏幕上难以阅读。除此之外,APP图标还应该适用于不同尺寸的屏幕。
3、图标系列化
如果游戏开发者已经开发了,或者计划开发一系列游戏,可以考虑在每个图标上加一个相同的元素,形成一系列图标。这将有利于创立品牌,获得忠实的用户群。
Zynga的APP图标左上角都有他们标志性的狗的剪影。这样一来,用户一眼就能发现Zynga的新游戏。游戏开发者可以选择使用一致的背景,也可以选择在图标上加入统一的logo,让自己设计的图标系列化、标准化。
4、谨慎用色
当游戏开发者选择颜色时,尽量把颜色控制在3种以内。设计游戏APP图标的目的是使它尽量好看,而不是花里胡哨。
如果必须使用一种颜色,那么就要在合适的环境下使用。蓝色是一种非常通用的APP图标颜色,如果你的同类游戏APP都使用蓝色,那么你的游戏APP就可能湮没其中。
Social Point的《怪兽传奇》(Monster Legend)就遵循了以上原则。它的图标主要有两种颜色,并且形成了鲜明的对比,因此在应用商店中显得格外突出。
5、简单、独特
首先,尽量使图标更简单。许多游戏开发者总是试图在游戏APP图标中表达更多的内容,似乎这样才能显得更有深度,然而真正优秀的APP图标大多只包含一两个主要元素。
除此之外,游戏APP图标还应该有自己的特色。倘若你的APP图标与其他APP图标相似,那么用户就会感到迷惑不解。一定要从造型和颜色上使你的APP图标别具一格。
白鲸社区 - 移动出海第一平台
文章地址:
分享到微信朋友圈
在手机阅读、分享本文
还可以输入250个字
推荐文章RECOMMEND
阅读:3577
阅读:16万
阅读:11万
阅读:11万
热门文章HOT NEWS
类似两类侵权事件有扩大之势,但其对社会的危害性是不弱于“假货”的。
娱乐家实验室
丁鹏Gamewower
百度新闻客户端
百度新闻客户端
百度新闻客户端
扫描二维码下载
订阅 "百家" 频道
观看更多百家精彩新闻如何在运行时改变App的图标_百度知道
如何在运行时改变App的图标
提问者采纳
首先,你需要安装ImageMagick,这是一个非常强大的图形处理图软件套件,专门通过终端进行。你可以非常简单地通过Homebrew来安装ImageMagick。如果你没有安装Homebrew,或者你可能并不知道它是什么,你可以在主页上学习了解并安装它。如果你已经安装了Homebrew,打开终端并输入:brew update这是确定你是否从Homebrew上安装的最新的安装包,这个也是确认你是否有安装Homebrew。那么,现在,通过使用Homebrew来安装你所需要的安装包。现在输入下面的命令:brew install ImageMagick你将会看到一些列的东西通过Homebrew,展示了ImageMagick安装的详细过程,因此跟着步骤安装。接下来,你也需要安装Ghostscript,因为你将使用的ImageMagick会依赖它。Ghostscript是一个软件套件用于呈现PDF和PS文件。你需要它是因为它提供了支持ImageMagick的字体。安装Ghostscript通过运行下面的命令:brew install ghostscript如果中间发生错误,运行这个命令:brew doctor如果安装失败,你会得到一个消息,并告诉你如何去修复它。这些是所有你需要安装的,以在本教程中使用。Llama你好ImageMagick中有许多命令,但在本教程中,你需要用到的是convert和composite(转换和组合)convert:一张图片,修改它,然后保存为一张新的图片;composite:一张图片,在它上面覆盖另外一张图片,然后存为新的第三张图片。本教程中提供一些简单地图标供使用。当然,你也可以使用你自己的图标,但你需要修改为相应的文件名。在这里下载图标,对于本教程,将其放在桌面上。这里的目标之一是覆盖构建版本应用程序的图标。所以你将看到如何使用ImageMagick覆盖文本图像将Hello World放在其中的一个图标上。打开终端并进入到放应用程序图标的文件夹:cd ~/Desktop/AppIconSet现在输入:convert AppIcon60x60@2x.png -fill white -font Times-Bold -pointsize 18 -gravity south -annotate 0 &Hello World& test.png我将会逐一分解这行命令,因此你将会明白它做了写什么:1、AppIcon60x60@2x.png 是输入图片的名字;2、fill white 设置文本为白色;3、font Times-Bold 告诉ImageMagick使用什么字体;4、pointsize 18 设置字体的大小为18;5、gravity south 文本与图片的底部对齐6、annotate 0 &Hello World& 告诉ImageMagick使带有&Hello World&文本注释的图片旋转的度数为0度;7、test.png 输出的文件名,并且ImageMagick将会覆盖掉已经存在的文件。如果你在终端上没有看到任何的错误,那么你将会在AppIconSet的文件夹中看到一个命名为test.png的文件,打开后你会看到这样:提示:如果你看到了错误的消息,或者是脚本没有作用,那么可能是你没有安装所需的字体。通过运行下面的命令,看下你所能用的字体有哪些。convert -list font如果你没有Times这个字体,那么选择一个你可以使用的来代替。现在,将beta标志加载图片上。在终端上输入:composite betaRibbon.png test.png test2.png这个是将betaRibbon.png放在test.png的上面,然后将合成的图片保存为test2.png打开test2.png。等等,你看到的还是原来的test.png.那么为什么会是这样呢?test.png 大小是120x120的,然而,betaRibbon.png是的,所以betaRibbon.png只有透明的那部分在test.png上,剩下的部分被裁剪掉了。不相信我吗?那么试下相同的命令,但是将betaRibbon.png 和 test.png位置交换。composite test.png betaRibbon.png test2.png你现在将会看到一张在test.png的右上角带有beta的很大的图片:为了得到我们想要的,你需要将betaRibbon.png的尺寸改为120x120的。在ImageMagick中这是非常容易的。仅仅输入:convert betaRibbon.png -resize 120x120 smallBetaRibbon.png这行命令是将betaRibbon.png的大小改为120x120,并保憨迹封克莩久凤勋脯魔存为smallRetaRibbon.png现在,执行下面:composite smallBetaRibbon.png test.png test2.png打开test2.png,然后你将看到我们期待的:这些就是在本教程中你需要知道的ImageMagick的功能,但是这些仅仅是ImageMagick功能的冰山一角。点击ImageMagick的主页,查看更多关于它的功能。Xcode在这些图像处理工作之后,是时候回到我们熟悉的平台了。打开Xcode,选择File\New\Project…选择 iOS\Application\Single View Application, 然后点击 Next. 工程命名为Llama Trot, 选择语言为 Swift, 然后设置设备为Universal. 然后将工程保存在桌面上。你的目标是通过Xcode和ImageMagick,根据所选的构建配置,在每次构建时生成一个适当的图标。Xcode能够在你的工程构建时运行脚本来做些事情。运行脚本仅仅是Unix脚本,就像你已经写过的,在你每次运行你的Xcode的项目时执行。设置一个运行脚本在你的工程中,选择Llama Trot的Target,然后选择Build Phases,点击+,在弹出的菜单中选择New Run Script Phase:你将会看到Run Script Phase添加到你的工程配置中。在运行脚本时,Shell参数被自动设置为bin/sh,也就是说脚本将在bash Unix shel中执行。下面的框是让你用来写脚本的。在框中输入:echo &Hello World&你的新的 build phase应该看起来像下面这样:构建并运行。你将看到什么也没发生。这事因为脚本打印的&Hello World&在你的构建日志中。点击Report Navigator,Xcode的导航栏面板最右边的图标,点击最近构建的报告,像下图展示的这样。当你构建一个工程时,这里描述了Xcode为你做的所有的事情,你将会看到&Hello World&:应用图标很好,现在你已经写了一个脚本输出&Hello World&,就像你作为一个开发者的职业生涯中已经做过一百万次打印&Hello World&。现在是时候修改应用的图标了。从你的脚本中找到应用图标将所有的应用图标都添加到Images.xcassets中,将每个图标拖到合适的AppIcon尺寸上:同时,你也要将debugRibbon.png 和 betaRibbon.png 放在和.xcodeproj同级的目录文件中。为了使用icons,你的脚本需要知道致谢icons在哪里。用下面的代码代替你之前写的脚本:echo &${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}&echo &${SRCROOT}&1、第一行打印在你运行你的项目后的问佳佳路径,包含最后一个图标。2、第二行打印项目文件所在的文件夹路径。这是通过使用Xcode的一些构建设置的变量。运行你的项目并查看构建报告。你将会看到描述你的工程最后产品的文件路径。在它下面,你将会看到你的项目工程所在的文件路径:定位到第一个文件夹,查看它所在的位置;你将看到你的app中所有的东西,包括所有的app图标。这里面是存放ImageMagick修改后的图标的地方。通过在Application icon点击右键,然后选择Show Package Contents,你将看到这些图标。现在他们都是看起来非常正常的!现在定位到打印的第二个文件路径。这个仅仅是你正常工程项目的文件夹。因此,应用图标在哪里呢?前往有着相同名字的Llama Trot文件。在这里面你将看到Images.xcassets。打开Images.xcassets,你将会看到另外一个叫AppIcon.appiconset的文件。应用图标就在这个文件夹中,你将通过ImageMagick来修改它们。假设你将你的工程保存到桌面上命名为Llama Trot,那么图标的路径为~/Desktop/Llama\ Trot/Llama\ Trot/Images.xcassets/AppIcon.appiconset将脚本的最后一行替换为下面的代码,你将会得到原始图标的我完整路径:IFS=$'\n'echo $(find ${SRCROOT} -name &AppIcon60x60@2x.png&)1、第一行设置IFS-internal字段分隔符换行符。如果你不这样做,第二行就会失败,因为文件名,Llama Trot,包含一个空格。如果你好奇没有第一行发生了什么,你可以将其删除后尝试一下。2、第二行中此命令$ { SRCROOT }文件夹递归搜索文件AppIcon60x60@2x.png。运行项目,你将会看到 AppIcon60x60@2x 完整的路径被打印出来:将它们放在一起困难的事情就要结束了。现在是时候将它们放在一起,通过你的脚本来修改应用的图标。你将首先开始修改AppIcon60x60@2x.png,然后处理所有的应用图标。这就意味着你需要在Retina@2x的模拟器或者6Plus上测试。通过结合ImageMagick的技术和你以前的脚本,最终你会得到下面的脚本。确保更新相应的脚本:IFS=$'\n'#1PATH=${PATH}:/usr/local/bin#2TARGET_PATH=&${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AppIcon60x60@2x.png&BASE_IMAGE_PATH=$(find ${SRCROOT} -name &AppIcon60x60@2x.png&)#3convert betaRibbon.png -resize 120x120 resizedBetaRibbon.png#4convert ${BASE_IMAGE_PATH} -fill white -font Times-Bold -pointsize 18 -gravity south -annotate 0 &Hello World& - | composite resizedBetaRibbon.png - ${TARGET_PATH}现在来分析发生了什么:1、如果你省略第一行,编译将失败。你的终端有一个叫PATH的变量,来存储一些默认的本地脚本。对于所有的命令终端认为这是第一个,默认并不是Unix的一部分。这允许任何命令位于一个目录路径运行没有指定完整的命令的位置。Xcode需要将相同的PATH变量分享给你的终端。这行添加/user/local/bin到PATH变量,Homebrew安装的地方。2、接下来的两行,获取本地的应用图标,然后分别将该路径保存到TARGET_PATH 和 BASE_IMAGE_PATH 变量中3、这行是将betaRibbon.png的图标的尺寸改为合适的大小;4、最后一行做了两件事情。首先,它在原始的应用图标上添加&Hello World&文本。然后该脚本执行合成的功能--将有beta标识的图片放置在其上面。然后将合成的图片保存为应用的图标。提示:应用程序图标名字不是任意的。在最终的产品,应用程序图标的名称必须像AppIcon60x60@2x.png。Xcode使用此命名约定来确定使用哪个图标根据设备使用。运行项目,在你的设备的主屏幕中看你的应用的图标;吐过你是在模拟其中,可以按Cmd + Shift + H 切换到主屏幕。你将会看到一个修改过的图标:剩下的图标现在你已经处理了一个图标,现在该将这个脚本去处理所有的图标了,以使得在iPad、iPhone 6+等上显示。要做到这一点,你就会把代码修改到一个函数,使图标图标的名称作为参数。然后为每个图标执行该函数。修改脚本像下面这样:PATH=${PATH}:/usr/local/binIFS=$'\n'function generateIcon () {BASE_IMAGE_NAME=$1TARGET_PATH=&${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/${BASE_IMAGE_NAME}&BASE_IMAGE_PATH=$(find ${SRCROOT} -name ${BASE_IMAGE_NAME})WIDTH=$(identify -format %w ${BASE_IMAGE_PATH})convert betaRibbon.png -resize $WIDTHx$WIDTH resizedRibbon.pngconvert ${BASE_IMAGE_PATH} -fill white -font Times-Bold -pointsize 18 -gravity south -annotate 0 &Hello World& - | composite resizedRibbon.png - ${TARGET_PATH}}generateIcon &AppIcon60x60@2x.png&generateIcon &AppIcon60x60@3x.png&generateIcon &AppIcon76x76~ipad.png&generateIcon &AppIcon76x76@2x~ipad.png&这使得整个图像处理代码为一个函数,称为generateIcon(),并且你将图标的名称传递给过程作为参数。脚本访问这个论点通过使用$1,并设置变量BASE_IMAGE_PATH.$ { BASE_IMAGE_PATH }然后放置AppIcon60x60@2x之前放置的地方。你将会发现ImageMagick的一个新功能,Identity,这个功能会获取图片的信息。在这种情况下,你想使用通过格式化-format %w 得到的宽度在identify,去重新改变betaRibbon.png的大小。现在,选择一个iPad或者一个iPhone6+的模拟器,然后运行该项目。这是因为字体的大小是用像素表示的,不同的设备屏幕有不同的像素密度。这是很容易的。你真正想要的是根据整个图标通过一定的比例来设置文本的高度。在你之前设置WIDTH变量的地方立即加入下面的脚本:FONT_SIZE=$(echo &$WIDTH * .15& | bc -l)这行是非常微妙的,但是它确实是设置一个FONT_SIZE变量可变宽度的五分之一。因为Unix算术不支持浮点运算,您必须使用bc程序。basic calculator的缩写,bc能够处理浮点类型的计算。现在,改变最后一行generateIcon() ,通过使用FONT_SIZE变量来代替18.最后脚本应该是下面这样:PATH=${PATH}:/usr/local/binIFS=$'\n'function generateIcon () {BASE_IMAGE_NAME=$1TARGET_PATH=&${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/${BASE_IMAGE_NAME}&BASE_IMAGE_PATH=$(find ${SRCROOT} -name ${BASE_IMAGE_NAME})WIDTH=$(identify -format %w ${BASE_IMAGE_PATH})FONT_SIZE=$(echo &$WIDTH * .15& | bc -l)convert betaRibbon.png -resize $WIDTHx$WIDTH resizedRibbon.pngconvert ${BASE_IMAGE_PATH} -fill white -font Times-Bold -pointsize ${FONT_SIZE} -gravity south -annotate 0 &Hello World& - | composite resizedRibbon.png - ${TARGET_PATH}}generateIcon &AppIcon60x60@2x.png&generateIcon &AppIcon60x60@3x.png&generateIcon &AppIcon76x76~ipad.png&generateIcon &AppIcon76x76@2x~ipad.png&运行你的工程项目在不同的设备上,你会发现好多了。
来自团队:
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 app运行图标 的文章

 

随机推荐