在Xcode 9的构建中缺少所需的图标文件

wgx48brx  于 2023-08-07  发布在  其他
关注(0)|答案(8)|浏览(122)

使用Xcode 9和应用程序加载器:


的数据
但是,正如您所见,这里有所有必需的图标:



是什么情况?
这是我的podfile:

use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'

def pods
    
    pod 'GoogleMaps'
    pod 'PickerView'
    pod 'SWNavigationController'
    pod 'Branch'
    pod 'JTAppleCalendar', :git => 'https://github.com/patchthecode/JTAppleCalendar.git', :branch => 'master'
    pod 'SVProgressHUD'
end

def universal_pods

    pod 'AFNetworking'
    pod 'Crashlytics'
    pod 'Fabric'
    pod 'MagicalRecord'
end

target 'FieldService' do
    
    pods
    universal_pods
end

target 'FieldServiceTests' do
    
    pods
    universal_pods
end

target 'FieldServiceTodayTimer' do
    universal_pods
end

target 'FieldServiceTodayCurrent' do
    universal_pods
end

post_install do |installer|
    copy_pods_resources_path = "Pods/Target Support Files/Pods-FieldService/Pods-FieldService-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

inhibit_all_warnings!

字符串
但根本不管用。

编辑


的字符串

Contents.json:              ASCII text
Icon-60.png:                PNG image data, 60 x 60, 8-bit/color RGBA, non-interlaced
Icon-60@2x.png:             PNG image data, 120 x 120, 8-bit/color RGBA, non-interlaced
Icon-60@3x.png:             PNG image data, 180 x 180, 8-bit/color RGBA, non-interlaced
Icon-76.png:                PNG image data, 76 x 76, 8-bit/color RGBA, non-interlaced
Icon-76@2x.png:             PNG image data, 152 x 152, 8-bit/color RGBA, non-interlaced
Icon-Small.png:             PNG image data, 29 x 29, 8-bit/color RGBA, non-interlaced
Icon-Small@2x-1.png:        PNG image data, 58 x 58, 8-bit/color RGBA, non-interlaced
Icon-Small@2x.png:          PNG image data, 58 x 58, 8-bit/color RGBA, non-interlaced
Icon-Small@3x.png:          PNG image data, 87 x 87, 8-bit/color RGBA, non-interlaced
Icon-Spotlight-40.png:      PNG image data, 40 x 40, 8-bit/color RGBA, non-interlaced
Icon-Spotlight-40@2x-1.png: PNG image data, 80 x 80, 8-bit/color RGBA, non-interlaced
Icon-Spotlight-40@2x.png:   PNG image data, 80 x 80, 8-bit/color RGBA, non-interlaced
Icon-Spotlight-40@3x.png:   PNG image data, 120 x 120, 8-bit/color RGBA, non-interlaced
Icon-Spotlight-41.png:      PNG image data, 40 x 40, 8-bit/color RGBA, non-interlaced
Icon-Spotlight-42.png:      PNG image data, 40 x 40, 8-bit/color RGBA, non-interlaced
Icon-Spotlight-43.png:      PNG image data, 20 x 20, 8-bit/color RGBA, non-interlaced
Icon-iPadPro@2x.png:        PNG image data, 167 x 167, 8-bit/color RGBA, non-interlaced
fieldservice.png:           PNG image data, 1024 x 1024, 8-bit/color RGBA, non-interlaced

rbpvctlc

rbpvctlc1#

确保Copy Bundle Resources位于构建阶段中的[CP] Embed Pods Frameworks[CP] Copy Pods Resources之下。


的数据

d7v8vwbk

d7v8vwbk2#

我也有同样的问题。看看这个solution
只需将下面的代码添加到您的podfile:

post_install do |installer|
      installer.aggregate_targets.each do |target|
        copy_pods_resources_path = "Pods/Target Support Files/#{target.name}/#{target.name}-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
    end

字符串
然后在控制台pod install中运行
编辑:
如果它不工作,找到你的应用程序的xcarchive文件,右键单击>> show package contents,导航到products >> applications >> your application's name >> show package contents。从此处找到信息列表,并将BuildMachineOsBuild更改为16A323。这基本上是欺骗计算机认为它是在一个旧的操作系统上。问题似乎源于高塞拉山脉。然后提交应用程序。

qcbq4gxm

qcbq4gxm3#

在尝试了上面的一些建议后,删除了一些错误,在我的情况下,我可以通过重命名项目的.xcassets文件中的AppIcon来解决所有错误。该项目使用CocoaPods,其中一些pods还包含AppIcon的示例项目。因此,我没有删除这些,而是简单地重命名了我的AppIcon并更改了项目设置中的引用。从那一刻起,它终于处理后,小时的试验和错误。
当使用Xcode查看Pods xcassets文件时,他们丢失了营销图标和iPad Pro图标定义(旧库)。这些是我得到的确切错误。在归档文件中,这些文件现在被命名为AppIcon,因此它们在Info.plist文件中被引用。
PS:要查看是否有多个AppIcon资产,可以使用find . -name AppIcon*

v8wbuo2f

v8wbuo2f4#

  • 照常归档项目
  • 在最新构建的组织者从上下文菜单中选择'显示在查找器'
  • 在finder中的存档文件上,从上下文菜单中选择“显示包内容”
  • 打开终端和CD到此文件夹
  • 在终端中运行以下命令:

查找产品/ -name Info.plist -print 0| xargs -0n1 plutil -replace BuildMachineOSBuild -string 16A323
然后继续进行常规上传。在结束时,你会看到一个警告弹出约失踪的营销图标,但建立将通过

7kqas0il

7kqas0il5#

我也有同样的问题。通过从info.plist中删除CFBundleIcons~ipad键修复
Check here

vbopmzt1

vbopmzt16#

在我的例子中,其中一个Pod有**.xcassets资源。排除此pod后图标消失的错误。最后,通过将.xcassets替换为.bundle**修复了pod。
.podspec更改日志的一部分:

-  s.resources = '**/*.xcassets'
+  s.resources = '**/*.bundle'

字符串

wfveoks0

wfveoks07#

正如@丹尼尔Kuta所说,解决方案是:
1.找到应用程序的xcarchive文件,
1.显示软件包内容>>产品>>应用程序>>您的应用程序名称>>显示软件包内容。
1.从这里找到info plist,将BuildMachineOsBuild修改为16 A323
然而,上述解决方案将删除前三个错误,但不是最后一个警告。

u5rb5r59

u5rb5r598#

请将AppIcon移动到默认的Assets.xcassets,而不是Icon.xcassets。
这里也有一些提示……https://developer.apple.com/library/content/qa/qa1686/_index.html
我建议保留旧的图标名称,即使苹果说这不是强制性的。

相关问题