项目有时候需要打马甲包提交App Store审核,就是同一个项目需要提供给不同的客户使用,为了审核通过,最好就是AppIcon和启动图改变一下,要不苹果会已AppStore有相同App拒绝。
前面有同学问到了iOS内存警告临界值和工程项目里AppIcon的一些配置信息,相信对刚入行的同学来说,可能都会碰到类似的问题,记录一下供后来者查询。 1、先简单说下AppIcon的图标的配置信息 ?
而事实上icon图片放在系统AppIcon文件夹里,启动图片放在系统LaunchImage文件夹里,取这些图片的名称和其他一般资源图片名称不一样。 ? , AppIcon40x40, AppIcon60x60 ) iconLastName: AppIcon60x60 */ } /** , AppIcon40x40, AppIcon60x60 ); , AppIcon40x40, AppIcon60x60, AppIcon76x76, "AppIcon83.5x83.5" AppIcon60x60, AppIcon76x76,
原因是苹果提交上架需要完整尺寸的Appicon图标库存放在Assets.Car文件中, 需要的图标尺寸如下: Idiom: iPhone AppIcon20x20@2x~iphone.png AppIcon20x20 @3x~iphone.png AppIcon29x29@2x~iphone.png AppIcon29x29@3x~iphone.png AppIcon40x40@2x~iphone.png AppIcon40x40 @3x~iphone.png AppIcon60x60@2x~iphone.png AppIcon60x60@3x~iphone.png Idiom: ipad AppIcon20x20~ipad.png AppIcon20x20@2x~ipad.png AppIcon29x29~ipad.png AppIcon29x29@2x~ipad.png AppIcon40x40~ipad.png AppIcon40x40 @2x~ipad.png AppIcon76x76~ipad.png AppIcon76x76@2x~ipad.png AppIcon83x83@2x~ipad.png idiom: ios-marketing
-- App Icon --><MauiIcon Include="Resources\<em>AppIcon</em>\<em>appicon</em>.svg" ForegroundFile="Resources\<em>AppIcon</em>\appiconfg.svg <MauiIcon Include="Resources\AppIcon\appnew.png" ForegroundFile="" />具体如下图:然后修改Android应用清单应用图标设置选项,选择 ]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'" Include="Resources\AppIcon \backiconwindows.png" ForegroundFile="Resources\AppIcon\appiconfg.svg" TintColor="#40FF00FF" /> <! -- App icon for all other platforms --> <MauiIcon Include="Resources\<em>AppIcon</em>\appnew.png" ForegroundFile
@1x.png (created) flutter_cmd\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-20x20@1x.png ( created) flutter_cmd\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-20x20@2x.png (created) \AppIcon.appiconset\Icon-App-29x29@3x.png (created) flutter_cmd\ios\Runner\Assets.xcassets\AppIcon.appiconset \Icon-App-40x40@1x.png (created) flutter_cmd\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App (created) flutter_cmd\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-60x60@2x.png (created
let appIcon = new Tray(iconPath); const contextMenu = Menu.buildFromTemplate([{ label: '移除', checked: true }]); // Make a change to the context menu contextMenu.items[2].checked = false; appIcon.setToolTip ('在托盘中的 Electron 示例.'); appIcon.setContextMenu(contextMenu); var count = 0; setInterval(function() { if (count++ % 2 == 0) { appIcon.setImage(path.join(__dirname, '.. /img/tray/tray_icon_2.png')); } else { appIcon.setImage(path.join(__dirname, '..
@1x.png (created) flutter_cmd\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-20x20@1x.png ( created) flutter_cmd\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-20x20@2x.png (created) \AppIcon.appiconset\Icon-App-29x29@3x.png (created) flutter_cmd\ios\Runner\Assets.xcassets\AppIcon.appiconset \Icon-App-40x40@1x.png (created) flutter_cmd\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App (created) flutter_cmd\ios\Runner\Assets.xcassets\AppIcon.appiconset\Icon-App-60x60@2x.png (created
上传出现ERROR ITMS-90023/iTunes Store Operation Failed错误,错误如下图: 报错图片 说的是少了iPad的图标,但是我明明选择的是iPhone啊~~~ AppIcon 找了一下发现网上有两个解决方案: 在AppIcon选中iPad补齐图标 可能是png图片透明度或圆角的问题 但是我懒,不想加图标,仔细一想,然后我在Deployment选择Device为iPhone
在Xcode中打开这个文件会发现里面有两个设置项:AppIcon和LaunchImage 111.png AppIcon 在AppIcon中可以看到三个图标设置,当我们勾选了右侧ios6.1 and png 7777.png 上面我们添加了一个应用图标和一个启动图片,在Images.xcassets上右键在Fiddler中查看文件内容并进入Images.xcassets文件夹,可以看到两个子文件夹:AppIcon.appiconset LaunchImage.launchimage,如下图: 8888.png 两个文件夹中分别存放了我们前面设置的图片资源,除此之外还各有一个Contents.json文件,在这个文件中记录的资源信息,例如AppIcon.appiconset
当然我对他的IconHelper稍微改造了一下,增加AppIcon属性:
static Icon appIcon;
///
import UIKit enum AppIcon: String, CaseIterable { case defaultIcon case redIcon case greenIcon var segmentedControl: UISegmentedControl = { let segmentedControl = UISegmentedControl(items: AppIcon.allCases.map UISegmentedControl) { let selectedIndex = sender.selectedSegmentIndex let selectedIcon = AppIcon.allCases
Stack Overflow 上的这个答案所示:AppIconProvider.swiftimport Foundationenum AppIconProvider { static func appIcon AppVersionInformationView.swiftimport SwiftUIstruct AppVersionInformationView: View { let versionString: String let appIcon some View { HStack(alignment: .center, spacing: 12) { if let image = UIImage(named: appIcon AppVersionInformationView( versionString: AppVersionProvider.appVersion(), appIcon : AppIconProvider.appIcon() ) }}总结在这篇文章中,我们学习了如何在 SwiftUI 应用中显示应用图标和版本信息。
定义数据结构存储控件所需信息: class UpdateItemModel { String appIcon; String appName; String appSize; String appDate; String appDescription; String appVersion; UpdateItemModel({ this.appIcon, : ClipRRect( borderRadius: BorderRadius.circular(8.0), child: Image.asset(model.appIcon
# 尝试: 1:一开始想到的是可能有人误改了图标文件,于是删除了 images.xcassest 中的 AppIcon 文件,从新生成→添加图标,但是依然未解决。 (✘) 3:因为设置图标的方法除了在 images.xcassest 中的 AppIcon 文件中设置还可以在 info.plist 设置、或者直接在工程里面放一个 icon.png 的图片来设 置,所以都检查了一便发现也不是这个原因 compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME
默认会使用AppIcon这一项Assets,但AppIcon是给生产版设置的图标,既然测试版要使用不同图标,那就需要新建一套新的App Icon,如下图: ? 新建的App Icon将其命名为AppIcon-Beta,放置测试版的图标。并将productnameBeta的App Icons Source指定为新建的AppIcon-Beta。
build: VersionBuild var body: some View { HStack(spacing: 12) { if let appIcon = build.iconURL { KFImage(appIcon) .retry(maxCount: 3, interval: . build.wrappedValue.betaGroups.contains($0) } } var body: some View { HStack(spacing: 12) { if let appIcon = build.iconURL { KFImage(appIcon) .retry(maxCount: 3, interval: .
Target可以修改的部分为: (1)APP的名称 (2)APP的 Bundle id (3)App Icons (4)Launch Images (5)info.plist文件 更换图标:默认会使用AppIcon 这一项Assets,但AppIcon是给生产版设置的图标,既然测试版要使用不同图标,那就需要新建一套新的App Icon,如下图: 新建的App Icon将其命名为AppIcon-Beta,放置测试版的图标 并将productnameBeta的App Icons Source指定为新建的AppIcon-Beta。至此,图标也与生产版的有所区别了。
Frameworks/mars.framework/mars mars 100% 7462KB 11.1MB/s 00:00 AppIcon60x60 @2x.png 100% 2253 230.9KB/s 00:00 AppIcon60x60@3x.png 100% 4334 834.8KB/s 00:00 AppIcon76x76@2x~ipad.png 100% 2659 620.6KB/s 00 :00 AppIcon76x76~ipad.png 100% 1523 358.0KB/s 00:00 AppIcon83.5x83.5@2x~ipad.png
CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>AppIcon60x60 </string>
</array>
</dict>
</dict>
如图,Primary Icon 字段写为 AppIcon60x60</