Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Missing required icon files in build from Xcode 9

Using Xcode 9 and Application Loader:

enter image description here

But as you can see there are all required icons:

enter image description here

What is the case?

This is my 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!

and it doesnt work at all;(

EDIT:

enter image description here enter image description here

Contents.json:              ASCII text
Icon-60.png:                PNG image data, 60 x 60, 8-bit/color RGBA, non-interlaced
[email protected]:             PNG image data, 120 x 120, 8-bit/color RGBA, non-interlaced
[email protected]:             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
[email protected]:             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
[email protected]:        PNG image data, 58 x 58, 8-bit/color RGBA, non-interlaced
[email protected]:          PNG image data, 58 x 58, 8-bit/color RGBA, non-interlaced
[email protected]:          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
[email protected]: PNG image data, 80 x 80, 8-bit/color RGBA, non-interlaced
[email protected]:   PNG image data, 80 x 80, 8-bit/color RGBA, non-interlaced
[email protected]:   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
[email protected]:        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
like image 446
Bartłomiej Semańczyk Avatar asked Sep 28 '17 07:09

Bartłomiej Semańczyk


2 Answers

Make sure Copy Bundle Resources is under [CP] Embed Pods Frameworks and [CP] Copy Pods Resources in Build Phases.

enter image description here

like image 148
tommybananas Avatar answered Nov 14 '22 10:11

tommybananas


I have the same problem. Check this: solution

Just add this code below to your 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

and then run in console pod install

EDIT:

If its not working, locate your app's xcarchive file, right click >> show package contents, navigate to products >> applications >> your application's name >> show package contents. Locate the info plist from here, and change the BuildMachineOsBuild to 16A323. This basically tricks the computer into thinking it's on an older OS.. problem seems to stem from High Sierra. Then submit the app.

like image 5
Daniel Kuta Avatar answered Nov 14 '22 10:11

Daniel Kuta