Estoy tratando de crear un nuevo paquete rápido, hice los siguientes comandos en la consola

  1. swift package init
  2. swift package generate-xcodeproj

Esto funciona y genera un proyecto vacío. Dentro del archivo de muestra del proyecto, agregué solo una línea

Import UIKit

En Xcode, esto se construye correctamente. Pero en la consola, cuando hago el comando swift build, Me sale este error

/Users/home/Desktop/TT/Sources/TT/TT.swift:1:8: error: no such module 'UIKit'
import UIKit

¿Hay algo que esté haciendo mal?

2
FlowUI. SimpleUITesting.com 22 sep. 2019 a las 20:39

2 respuestas

La mejor respuesta

UIKit es un marco en iOS y no será accesible.

#if canImport(UIKit)

// Code specific to platforms where UIKit is available

#endif

Relacionado:

1
excitedmicrobe 22 sep. 2019 a las 17:45

Debe seleccionar un objetivo basado en iOS para que esté disponible:

Demo

Si lo deja seleccionando macOS (por defecto), obtendrá el error.


Plataforma específica

Si desea que su paquete esté disponible solo para plataformas específicas (por ejemplo, solo para iOS), debe especificar la plataforma en el archivo package.swift:

let package = Package(
    name: "MyLibrary",
    platforms: [
        .iOS(.v9)
    ],
    products: [
,,,

Multiplataforma

Si necesita que su marco esté disponible en múltiples plataformas, no olvide verificar la disponibilidad del marco importado como:

#if canImport(UIKit)

import UIKit

// And do the rest of UIKit dependent code

#endif
0
Mojtaba Hosseini 17 feb. 2021 a las 09:04