目录
目录README.md

YandexMapsMobile

Latest release

contact: @lexkraev Telegram Group

Binary Framework as Swift Package with Yandex mobile maps (full version).

Yandex mobile maps lite version you can find here.

🎉 Works on Apple silicone without Rosetta mode (you can find manual here).

Requirements

  • iOS 12.0

Swift Package Manager

To integrate YandexMapsMobile into your project using SwiftPM do this 👇🏻

  • File > Swift Packages > Add Package Dependency
  • Add https://github.com/c-villain/YandexMapsMobile.git
  • Select “Up to Next Major” with “4.2.2”

or add the following code to your Package.swift:

dependencies: [
    .package(url: "https://github.com/c-villain/YandexMapsMobile", from: "4.2.2"),
],

or via XcodeGen insert into your project.yml:

name: YourProjectName
options:
  deploymentTarget:
    iOS: 12.0
packages:
  YandexMapsMobile:
    url: https://github.com/c-villain/YandexMapsMobile
    from: 4.2.2
targets:
  YourTarget:
    type: application
    ...
    dependencies:
       - package: YandexMapsMobile

Recommedations to use

Using on Apple silicon without Rosetta mode
  1. You should init YMKMapView with vulkanPreferred: true ```swift YMKMapView.init(frame: .zero, vulkanPreferred: isM1Simulator())

….

#if targetEnvironment(simulator)
public static func isM1Simulator() -> Bool {
    return TARGET_CPU_ARM64 != 0
}
#else
public static func isM1Simulator() -> Bool { false }
#endif

2. Call `YMKMapKit.sharedInstance()` in `AppDelegate` as in [example](https://github.com/yandex/mapkit-ios-demo/blob/master/MapKitDemo/AppDelegate.swift)

```swift
/**
If you create instance of YMKMapKit not in application:didFinishLaunchingWithOptions: 
you should also explicitly call YMKMapKit.sharedInstance().onStart()
*/
YMKMapKit.sharedInstance()
YandexMapsMobile as subpackage

If you use YandexMapsMobile as subdependency in your own package you should probably add linkerSettings to the target for successful building:

targets: [
    .target(
        name: "Your target",
        dependencies: [
            .product(name: "YandexMapsMobile", package: "YandexMapsMobile")
        ],
        linkerSettings: [ // <===== ‼️LOOK HERE‼️
            .linkedFramework("CoreLocation"),
            .linkedFramework("CoreTelephony"),
            .linkedFramework("SystemConfiguration"),
            .linkedLibrary("c++"),
            .unsafeFlags(["-ObjC"]),
        ]),
]

Special thanks

to Igor Makarov for his contributing in the release v.4.0.1

Communication

👨🏻‍💻 Feel free to subscribe to channel SwiftUI dev in telegram.

If you like this repository, please do to make this useful for others.

关于
62.0 KB
邀请码