Xcode 13.3 muestra advertencias de obsolescencia en las dependencias de paquetes externos.
// swift-tools-version:5.6 import PackageDescription let package = Package( name: "MyPackage", platforms: [ .iOS(.v15) ], products: [ .library( name: "MyPackage", targets: ["MyTarget"]), ], dependencies: [ .package( name: "MyDependency", url: "https://github.com/someorg/somepackage.git", .branch("main")) ], targets: [ .target( name: "MyTarget", dependencies: ["MyDependency"]) ] )Esto muestra la advertencia:
'package(name:url:_:)' está en desuso: use API de requisitos específicos en su lugar (por ejemplo, use 'branch:' en lugar de '.branch')
Sin embargo, la aplicación de la actualización recomendada hace que la dependencia ya no sea accesible desde MyPackage .
Es necesario configurar la dependencia como un producto .
Específicamente con .product(name: [PackageName], package: [Name of repository]) , ejemplo:
// swift-tools-version:5.6 import PackageDescription let package = Package( name: "MyPackage", platforms: [ .iOS(.v15) ], products: [ .library( name: "MyPackage", targets: ["MyTarget"]), ], dependencies: [ .package( url: "https://github.com/someorg/somepackage.git", branch: "main") ], targets: [ .target( name: "MyTarget", dependencies: [ .product( name: "MyDependency", package: "somepackage")]) ] )