app ios11 图标不显示
2017-09-21 15:39:00 weixin_34319374 阅读数 15

使用代码时候注意:【工程名】

使用了CocoaPods的Xcode工程,在iOS11版的手机上AppIcon不显示,原因是CocoaPods的资源编译脚本在iOS11下出了点问题.需要修改脚本.两种修改方式:
1.在Podfile添加脚本修改:
1). 在Podfile 添加如下代码.

post_install do |installer|
    copy_pods_resources_path = "Pods/Target Support Files/Pods-【工程名】/Pods-【工程名】-resources.sh"
    string_to_replace = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"'
    assets_compile_with_app_icon_arguments = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${BUILD_DIR}/assetcatalog_generated_info.plist"'
    text = File.read(copy_pods_resources_path)
    new_contents = text.gsub(string_to_replace, assets_compile_with_app_icon_arguments)
    File.open(copy_pods_resources_path, "w") {|file| file.puts new_contents }
end

需要注意的是,将[工程名]
换成自己工程的名称

2).然后运行

$pod install

2.手动修改
打开工程目录下:
【工程名】/Pods/Target Support Files/Pods-【工程名】/Pods-【工程名】-resources.sh
这个文件,替换最后一段代码:
修改前:

printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
fi

修改后:

printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${BUILD_DIR}/assetcatalog_generated_info.plist"
fi

然后重新运行工程即可

文章转自:https://github.com/mythkiven/developTips
处理来源:https://github.com/CocoaPods/CocoaPods/issues/7003

2014-11-18 10:13:00 weixin_34124651 阅读数 2

最近读到一篇文章(http://www.merowing.info/2013/03/overlaying-application-version-on-top-of-your-icon/)介绍了一种非常简单的,把版本信息显示到iOS app的icon上的方式, 有了这个技能,在测试多版本的时候,测试人员可以直接从icon上看到当前测试的版本,无需在到HockeyApp或者TestFlight中去看哪些机器使用的哪个版本,可以提升效率。
下面是我如何Get这个技能的:
首先,获取想展示到图标上的信息,在我的app中,我想展示version,branch,commit信息,即当前测试的App是哪个分支上得哪个版本,在哪次提交之后build的. 这些信息最后是通过shell脚本弄上去的,因此,只要shell脚本能读取到这些信息就成。对于iOS App来说,Version信息来源于项目的.plist文件,在Mac上提供了PlistBuddy工具来帮助开发者提取plist中的所有信息:

Shell代码 复制代码 收藏代码
  1. version = `/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "骚窝对对碰-info.plist"`  #1.0  
version = `/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "骚窝对对碰-info.plist"`  #1.0

至于branch和commit信息则是根据Version control工具来定的,我使用的是git:

Shell代码 复制代码 收藏代码
  1. branch=`git rev-parse --abbrev-ref HEAD`  
  2. commit=`git rev-parse --short HEAD`  
branch=`git rev-parse --abbrev-ref HEAD`
commit=`git rev-parse --short HEAD`

接着,有了想写到icon的信息,接下来是如何写到icon上,这儿的工具是ImageMagick和ghostscript,ImageMagick为在命令行下操作图片提供了很多的功能,而ghostscript则是为了在icon上写的字体好看一点。在Mac下有了homebrew安装什么都很方便:

Shell代码 复制代码 收藏代码
  1. brew install imagemagick  
  2. brew install ghostscript  
brew install imagemagick
brew install ghostscript

安装好后,通过ImageMagicK的convert功能把文字写到图片上,示例:在Icon.png上,创建一个背景色为‘#0008’的,长144,高40的矩形,然后用白色字体把把“test master 56789998”居中写到矩形中。

Shell代码 复制代码 收藏代码
  1. convert -background '#0008' -fill white -gravity center -size 144x40    caption:"test master 56789998"   ./Icon.png  +swap -gravity south -composite ./convert.png  
convert -background '#0008' -fill white -gravity center -size 144x40    caption:"test master 56789998"   ./Icon.png  +swap -gravity south -composite ./convert.png

转换后的前后对比如下:
最后,有了要写的信息和如何写的方式,接下来,就是在Xcode中完成配置,把该功能加入到iOS App的构建过程中。
1.把所有的Icon文件改为*_base.png, 因为最后的Icon文件是由脚本生成,因此需把当前Icon改名以防冲突。 2.在Target的Build Phases中添加一个Run Script的Build Phase, 怎么做:http://www.runscriptbuildphase.com/ 3.把前面的图片处理过程,添加到Run Script中:

Shell代码 复制代码 收藏代码
  1. commit=`git rev-parse --short HEAD`  
  2. branch=`git rev-parse --abbrev-ref HEAD`  
  3. version=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${INFOPLIST_FILE}"`  
  4.   
  5. function processIcon() {  
  6.     export PATH=$PATH:/usr/local/bin  
  7.     base_file=$1  
  8.     base_path=`find ${SRCROOT} -name $base_file`  
  9.   
  10.     if [[ ! -f ${base_path} || -z ${base_path} ]]; then  
  11.         return;  
  12.     fi  
  13.   
  14.     target_file=`echo $base_file | sed "s/_base//"`  
  15.     target_path="${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/${target_file}"  
  16.   
  17.     if [ $CONFIGURATION = "Release" ]; then  
  18.     cp ${base_file} $target_path  
  19.     return  
  20.     fi  
  21.   
  22.     width=`identify -format %w ${base_path}`  
  23.   
  24.     convert -background '#0008' -fill white -gravity center -size ${width}x40\  
  25.     caption:"${version} ${branch} ${commit}"\  
  26.     ${base_path} +swap -gravity south -composite ${target_path}  
  27. }  
  28.   
  29. processIcon "Icon_base.png"  
  30. processIcon "Icon@2x_base.png"  
  31. processIcon "Icon-72_base.png"  
  32. processIcon "Icon-72@2x_base.png"  
commit=`git rev-parse --short HEAD`
branch=`git rev-parse --abbrev-ref HEAD`
version=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${INFOPLIST_FILE}"`

function processIcon() {
    export PATH=$PATH:/usr/local/bin
    base_file=$1
    base_path=`find ${SRCROOT} -name $base_file`

    if [[ ! -f ${base_path} || -z ${base_path} ]]; then
        return;
    fi

    target_file=`echo $base_file | sed "s/_base//"`
    target_path="${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/${target_file}"

    if [ $CONFIGURATION = "Release" ]; then
    cp ${base_file} $target_path
    return
    fi

    width=`identify -format %w ${base_path}`

    convert -background '#0008' -fill white -gravity center -size ${width}x40\
    caption:"${version} ${branch} ${commit}"\
    ${base_path} +swap -gravity south -composite ${target_path}
}

processIcon "Icon_base.png"
processIcon "Icon@2x_base.png"
processIcon "Icon-72_base.png"
processIcon "Icon-72@2x_base.png"

最后,在我的Simiulatro上得到的效果:  

转载于:https://www.cnblogs.com/lovewx/p/4105035.html

2013-12-29 19:46:18 ningandjin 阅读数 20
最近读到一篇文章([url]http://www.merowing.info/2013/03/overlaying-application-version-on-top-of-your-icon/[/url])介绍了一种非常简单的,把版本信息显示到iOS app的icon上的方式, 有了这个技能,在测试多版本的时候,测试人员可以直接从icon上看到当前测试的版本,无需在到HockeyApp或者TestFlight中去看哪些机器使用的哪个版本,可以提升效率。

下面是我如何Get这个技能的:

首先,获取想展示到图标上的信息,在我的app中,我想展示version,branch,commit信息,即当前测试的App是哪个分支上得哪个版本,在哪次提交之后build的. 这些信息最后是通过shell脚本弄上去的,因此,只要shell脚本能读取到这些信息就成。对于iOS App来说,Version信息来源于项目的.plist文件,在Mac上提供了PlistBuddy工具来帮助开发者提取plist中的所有信息:
[img]http://dl2.iteye.com/upload/attachment/0092/6408/4cfa3bff-79d3-3bc7-9abe-6571e511a2c6.png[/img]

version = `/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "骚窝对对碰-info.plist"`  #1.0

至于branch和commit信息则是根据Version control工具来定的,我使用的是git:
branch=`git rev-parse --abbrev-ref HEAD`
commit=`git rev-parse --short HEAD`


接着,有了想写到icon的信息,接下来是如何写到icon上,这儿的工具是ImageMagick和ghostscript,ImageMagick为在命令行下操作图片提供了很多的功能,而ghostscript则是为了在icon上写的字体好看一点。在Mac下有了homebrew安装什么都很方便:
brew install imagemagick
brew install ghostscript

安装好后,通过ImageMagicK的convert功能把文字写到图片上,示例:在Icon.png上,创建一个背景色为‘#0008’的,长144,高40的矩形,然后用白色字体把把“test master 56789998”居中写到矩形中。
convert -background '#0008' -fill white -gravity center -size 144x40    caption:"test master 56789998"   ./Icon.png  +swap -gravity south -composite ./convert.png

转换后的前后对比如下:
[img]http://dl2.iteye.com/upload/attachment/0092/6412/a8d605b6-f2c9-36c5-adc5-1b308278cbaa.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0092/6414/095e7fb8-efb6-3a57-8ca3-03e3d4e29921.png[/img]

最后,有了要写的信息和如何写的方式,接下来,就是在Xcode中完成配置,把该功能加入到iOS App的构建过程中。

1.把所有的Icon文件改为*_base.png, 因为最后的Icon文件是由脚本生成,因此需把当前Icon改名以防冲突。
2.在Target的Build Phases中添加一个Run Script的Build Phase, 怎么做:http://www.runscriptbuildphase.com/
3.把前面的图片处理过程,添加到Run Script中:

commit=`git rev-parse --short HEAD`
branch=`git rev-parse --abbrev-ref HEAD`
version=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${INFOPLIST_FILE}"`

function processIcon() {
export PATH=$PATH:/usr/local/bin
base_file=$1
base_path=`find ${SRCROOT} -name $base_file`

if [[ ! -f ${base_path} || -z ${base_path} ]]; then
return;
fi

target_file=`echo $base_file | sed "s/_base//"`
target_path="${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/${target_file}"

if [ $CONFIGURATION = "Release" ]; then
cp ${base_file} $target_path
return
fi

width=`identify -format %w ${base_path}`

convert -background '#0008' -fill white -gravity center -size ${width}x40\
caption:"${version} ${branch} ${commit}"\
${base_path} +swap -gravity south -composite ${target_path}
}

processIcon "Icon_base.png"
processIcon "Icon@2x_base.png"
processIcon "Icon-72_base.png"
processIcon "Icon-72@2x_base.png"


最后,在我的Simiulatro上得到的效果:
[img]http://dl2.iteye.com/upload/attachment/0092/6410/cbe99c78-14ef-360a-8caa-9685ce80cabc.png[/img]
2017-02-28 10:03:00 weixin_34216036 阅读数 4

作为iOS开发人员, 每次上架APP,总会有一系列的问题,比如APP图标的制作,因为它需要一些列不同尺寸的图片,如图:

4965226-1e4fa9b840abc353.png
icon图标

在以前这给我们开发人员和UI设计师带来了不便之处, 今天在这里给大家分享的是一个APP 图标制作工具, 使用非常方便,如图:

4965226-4aa4438fef62ec2a.png
工具使用图

我们可以将一张图片直接拖入蓝色的框内,工具就会自动帮我们生成不同尺寸的图标

4965226-d1c083ed1e52a32a.png
icon图

当然还有其他的工具,这里就不提了,附上工具链接:pan.baidu.com/s/1bWfreY

转载于:https://www.jianshu.com/p/7b3895657178

2014-05-06 15:27:54 chonbj 阅读数 7463

像我一样记不住iOS应用图标像素尺寸的开发者不在少数,我经常需要查询不同设备上的应用尺寸,为了方便自己、方便大家,我制作了下面的图表供大家参考。

iPhone、iPodTouch以及一般通用的应用图标像素尺寸是多少?

iPhone和iPodTouch应用需要一般应用所有的图标像素,你可能会想知道为什么iPhone应用需要iPad应用图标,因为一款iPhone应用也可以在iPad上运行。

相反,iPad应用不能在iPhone上运行,因此iPad应用有专属自己的图标像素。

必需图标:

AppStore图标:1024×1024pixels

iPhone主屏幕图标:57×57、114×114(retina)pixels

iPad主屏幕图标:72×72、144×144(retina)pixels

可选图标:

iPhone、iPadSettings、iPhoneSpotlightsearchresults:29×29、58×58(retina)pixels

iPadSpotlightsearchresults:50×50、100×100(retina)pixels


iPad应用需要什么样的图标。

由于只适用iPad的应用不能再iPhone上运行,因此你不需要那么多图标。

所需图标:

AppStore图标:1024×1024pixels

iPad主屏幕图标:72×72、144×144(retina)pixels

可选图标:

iPadSettings:29×29and58×58(retina)pixels

iPadSpotlightsearchresults:50×50and100×100(retina)pixels

IOS APP 图标

阅读数 2131

ios app 图标

阅读数 15

没有更多推荐了,返回首页