XCODE 16.2: Сгенерировать Swift символы для активов в упаковке и сделать их публичнымиIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 XCODE 16.2: Сгенерировать Swift символы для активов в упаковке и сделать их публичными

Сообщение Anonymous »

В настоящее время, начиная с Xcode 15, можно автоматически создавать статические переменные для каждого элемента актива в каталоге активов, например, Цвет или изображение.
Например, у меня есть цвет с именем colortestinsidepackage , а структура упаковки выглядит следующим образом:

Код: Выделить всё

// swift-tools-version: 6.0
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
name: "MyLibrary",
platforms: [
.iOS(.v17),
],
products: [
.library(
name: "MyLibrary",
targets: ["MyLibrary"]),
],
targets: [
.target(
name: "MyLibrary",
resources: [
.process("Resources")
]),

]
)
< /code>
Внутри пакета я могу получить доступ к цветам следующими способами: < /p>
import SwiftUI

public final class TestClass {
let colorResource = ColorResource.colorTestInsidePackage
let color = Color(.colorTestInsidePackage)
let colorFromExtension = Color.colorTestInsidePackage
}
< /code>
Последняя строка возможна просто потому, что я вынужден генерировать расширение в настройках каталога активов: < /p>
 
Однако, когда я пытаюсь получить доступ к этим цветам из приложения, ни один из сгенерированных активов доступны, и я получаю ошибку компиляции, просто потому, что расширения создаются с помощью модификатора внутреннего 
доступа.
Вопрос
Есть ли способ убедиться, что компилятор создает такое расширение с общедоступным модификатором доступа < /code>, чтобы я мог использовать его в других целях, используя этот пакет (например, цель приложения или Еще одна цель пакета)? так что я мог бы работать с цветами как внутри библиотеки компонентов пользовательского интерфейса, так и внутри самого приложения (поскольку цвета явно делятся) и не импортировать одну и ту же библиотеку цветовых активов в цель приложения.

Подробнее здесь: https://stackoverflow.com/questions/794 ... hem-public
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • XCODE 16.2: Сгенерировать Swift символы для активов в упаковке и сделать их публичными
    Anonymous » » в форуме IOS
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Лучший метод сравнения электронной таблицы с публичными некрологами
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Лучший метод сравнения электронной таблицы с публичными некрологами [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Объект Hibernate с публичными полями вместо средств доступа
    Anonymous » » в форуме JAVA
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Объект Hibernate с публичными полями вместо средств доступа
    Anonymous » » в форуме JAVA
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»