├── .swift-version
├── .swiftformat
├── .spi.yml
├── Samples
├── SampleApp
│ ├── Assets.xcassets
│ │ ├── Contents.json
│ │ └── AppIcon.appiconset
│ │ │ ├── Icon020.png
│ │ │ ├── Icon029.png
│ │ │ ├── Icon040.png
│ │ │ ├── Icon076.png
│ │ │ ├── Icon020@2x.png
│ │ │ ├── Icon020@3x.png
│ │ │ ├── Icon029@2x.png
│ │ │ ├── Icon029@3x.png
│ │ │ ├── Icon040@2x.png
│ │ │ ├── Icon040@3x.png
│ │ │ ├── Icon060@2x.png
│ │ │ ├── Icon060@3x.png
│ │ │ ├── Icon076@2x.png
│ │ │ ├── Icon083@2x.png
│ │ │ ├── Icon512@2x.png
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── InfoPlist.strings
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── de.lproj
│ │ └── InfoPlist.strings
│ ├── es.lproj
│ │ └── InfoPlist.strings
│ ├── fr.lproj
│ │ └── InfoPlist.strings
│ ├── it.lproj
│ │ └── InfoPlist.strings
│ ├── pt.lproj
│ │ └── InfoPlist.strings
│ ├── ru.lproj
│ │ └── InfoPlist.strings
│ ├── zh-Hans.lproj
│ │ └── InfoPlist.strings
│ ├── AppDelegate.swift
│ ├── ViewController.swift
│ └── Info.plist
├── SampleWatchApp WatchKit App
│ ├── Assets.xcassets
│ │ ├── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ ├── Icon024@2x.png
│ │ │ ├── Icon029@2x.png
│ │ │ ├── Icon029@3x.png
│ │ │ ├── Icon040@2x.png
│ │ │ ├── Icon044@2x.png
│ │ │ ├── Icon050@2x.png
│ │ │ ├── Icon086@2x.png
│ │ │ ├── Icon098@2x.png
│ │ │ ├── Icon108@2x.png
│ │ │ ├── Icon512@2x.png
│ │ │ ├── Icon027.5@2x.png
│ │ │ └── Contents.json
│ │ └── AccentColor.colorset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ └── Interface.storyboard
│ └── Info.plist
├── SampleWatchApp WatchKit Extension
│ ├── Assets.xcassets
│ │ └── Contents.json
│ ├── Preview Content
│ │ └── Preview Assets.xcassets
│ │ │ └── Contents.json
│ ├── HostingController.swift
│ ├── ContentView.swift
│ ├── Info.plist
│ └── ExtensionDelegate.swift
└── SampleApp.xcodeproj
│ ├── project.xcworkspace
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
│ ├── xcshareddata
│ └── xcschemes
│ │ ├── SampleApp.xcscheme
│ │ └── SampleWatchApp WatchKit App.xcscheme
│ └── project.pbxproj
├── .gitignore
├── Sources
└── LocalizedDeviceModel
│ ├── Documentation.docc
│ ├── LocalizedDeviceModel.md
│ └── Extensions.md
│ ├── Extensions
│ ├── UIDevice+LocalizedModel.swift
│ └── WKInterfaceDevice+LocalizedModel.swift
│ ├── LocalizedModel.swift
│ └── Resources
│ ├── zh-Hans.lproj
│ └── DeviceModel.strings
│ ├── de.lproj
│ └── DeviceModel.strings
│ ├── en.lproj
│ └── DeviceModel.strings
│ ├── fr.lproj
│ └── DeviceModel.strings
│ ├── pt.lproj
│ └── DeviceModel.strings
│ ├── ru.lproj
│ └── DeviceModel.strings
│ ├── es.lproj
│ └── DeviceModel.strings
│ └── it.lproj
│ └── DeviceModel.strings
├── .github
└── workflows
│ └── swift.yml
├── README.md
├── LICENSE
├── Package.swift
├── BundleFinder.swift
└── CHANGELOG.md
/.swift-version:
--------------------------------------------------------------------------------
1 | 5.3
2 |
--------------------------------------------------------------------------------
/.swiftformat:
--------------------------------------------------------------------------------
1 | --disable wrapMultilineStatementBraces,trailingCommas
2 | --ifdef no-indent
3 |
--------------------------------------------------------------------------------
/.spi.yml:
--------------------------------------------------------------------------------
1 | version: 1
2 | builder:
3 | configs:
4 | - documentation_targets: [LocalizedDeviceModel]
5 | platform: ios
6 |
--------------------------------------------------------------------------------
/Samples/SampleApp/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit App/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit Extension/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit Extension/Preview Content/Preview Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon020.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon020.png
--------------------------------------------------------------------------------
/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon029.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon029.png
--------------------------------------------------------------------------------
/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon040.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon040.png
--------------------------------------------------------------------------------
/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon076.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon076.png
--------------------------------------------------------------------------------
/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon020@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon020@2x.png
--------------------------------------------------------------------------------
/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon020@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon020@3x.png
--------------------------------------------------------------------------------
/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon029@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon029@2x.png
--------------------------------------------------------------------------------
/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon029@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon029@3x.png
--------------------------------------------------------------------------------
/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon040@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon040@2x.png
--------------------------------------------------------------------------------
/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon040@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon040@3x.png
--------------------------------------------------------------------------------
/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon060@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon060@2x.png
--------------------------------------------------------------------------------
/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon060@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon060@3x.png
--------------------------------------------------------------------------------
/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon076@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon076@2x.png
--------------------------------------------------------------------------------
/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon083@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon083@2x.png
--------------------------------------------------------------------------------
/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon512@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Icon512@2x.png
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 |
3 | ## Various settings
4 | *.pbxuser
5 | !default.pbxuser
6 | xcuserdata/
7 | *.xcuserdatad/
8 | .swiftpm
9 |
10 | ## Other
11 | *.xcuserstate
12 |
13 | .DS_Store
14 | build
15 | .build
16 |
--------------------------------------------------------------------------------
/Samples/SampleApp/Base.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | BDLocalizedDevicesModels
4 |
5 | Created by Benoit Deldicque on 29/09/2020.
6 | Copyright © 2020 Benoit Deldicque. All rights reserved.
7 | */
8 |
--------------------------------------------------------------------------------
/Samples/SampleApp/de.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | BDLocalizedDevicesModels
4 |
5 | Created by Benoit Deldicque on 29/09/2020.
6 | Copyright © 2020 Benoit Deldicque. All rights reserved.
7 | */
8 |
--------------------------------------------------------------------------------
/Samples/SampleApp/es.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | BDLocalizedDevicesModels
4 |
5 | Created by Benoit Deldicque on 29/09/2020.
6 | Copyright © 2020 Benoit Deldicque. All rights reserved.
7 | */
8 |
--------------------------------------------------------------------------------
/Samples/SampleApp/fr.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | BDLocalizedDevicesModels
4 |
5 | Created by Benoit Deldicque on 29/09/2020.
6 | Copyright © 2020 Benoit Deldicque. All rights reserved.
7 | */
8 |
--------------------------------------------------------------------------------
/Samples/SampleApp/it.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | BDLocalizedDevicesModels
4 |
5 | Created by Benoit Deldicque on 29/09/2020.
6 | Copyright © 2020 Benoit Deldicque. All rights reserved.
7 | */
8 |
--------------------------------------------------------------------------------
/Samples/SampleApp/pt.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | BDLocalizedDevicesModels
4 |
5 | Created by Benoit Deldicque on 29/09/2020.
6 | Copyright © 2020 Benoit Deldicque. All rights reserved.
7 | */
8 |
--------------------------------------------------------------------------------
/Samples/SampleApp/ru.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | BDLocalizedDevicesModels
4 |
5 | Created by Benoit Deldicque on 29/09/2020.
6 | Copyright © 2020 Benoit Deldicque. All rights reserved.
7 | */
8 |
--------------------------------------------------------------------------------
/Samples/SampleApp/zh-Hans.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | BDLocalizedDevicesModels
4 |
5 | Created by Benoit Deldicque on 29/09/2020.
6 | Copyright © 2020 Benoit Deldicque. All rights reserved.
7 | */
8 |
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon024@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon024@2x.png
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon029@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon029@2x.png
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon029@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon029@3x.png
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon040@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon040@2x.png
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon044@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon044@2x.png
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon050@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon050@2x.png
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon086@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon086@2x.png
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon098@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon098@2x.png
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon108@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon108@2x.png
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon512@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon512@2x.png
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon027.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bixcorp/BDLocalizedDevicesModels/HEAD/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Icon027.5@2x.png
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Sources/LocalizedDeviceModel/Documentation.docc/LocalizedDeviceModel.md:
--------------------------------------------------------------------------------
1 | # ``LocalizedDeviceModel``
2 |
3 | Apple product names localized.
4 |
5 | ## Usage
6 | > Important: To use a localization included in the package, the app using the package must support this localization.
7 |
--------------------------------------------------------------------------------
/.github/workflows/swift.yml:
--------------------------------------------------------------------------------
1 | name: Swift
2 |
3 | on:
4 | push:
5 | branches: [ master ]
6 | pull_request:
7 | branches: [ master ]
8 |
9 | jobs:
10 | build:
11 |
12 | runs-on: macos-latest
13 |
14 | steps:
15 | - uses: actions/checkout@v4
16 | - name: Build
17 | run: swift build -v
18 |
--------------------------------------------------------------------------------
/Samples/SampleApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit Extension/HostingController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // HostingController.swift
3 | // SampleWatchApp WatchKit Extension
4 | //
5 | // Created by Benoit Deldicque on 30/05/2021.
6 | //
7 |
8 | import Foundation
9 | import SwiftUI
10 | import WatchKit
11 |
12 | class HostingController: WKHostingController {
13 | override var body: ContentView {
14 | ContentView()
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Sources/LocalizedDeviceModel/Documentation.docc/Extensions.md:
--------------------------------------------------------------------------------
1 | # App Framework extensions
2 |
3 | Use with native app frameworks such as UIKit.
4 |
5 | ## UIKit extension
6 | Localized product name
7 | ```swift
8 | UIDevice.current.localizedProductName
9 | ```
10 |
11 | English product name
12 | ```swift
13 | UIDevice.current.productName
14 | ```
15 |
16 | ## WatchKit extension
17 | Localized product name
18 | ```swift
19 | WKInterfaceDevice.current().localizedProductName
20 | ```
21 |
22 | English product name
23 | ```swift
24 | WKInterfaceDevice.current().productName
25 | ```
26 |
--------------------------------------------------------------------------------
/Samples/SampleApp/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // SampleApp
4 | //
5 | // Created by Benoit Deldicque on 03/09/2018.
6 | // Copyright © 2018 Benoit Deldicque. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 | var window: UIWindow?
14 |
15 | func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
16 | // Override point for customization after application launch.
17 | true
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Sources/LocalizedDeviceModel/Extensions/UIDevice+LocalizedModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIDevice+LocalizedModel.swift
3 | // BDLocalizedDevicesModels
4 | //
5 | // Created by Benoit Deldicque on 06/05/2022.
6 | // Copyright © 2022 Benoit Deldicque. All rights reserved.
7 | //
8 |
9 | #if os(tvOS) || os(iOS)
10 | import UIKit
11 |
12 | public extension UIDevice {
13 | /// The product name of the device.
14 | @objc var productName: String {
15 | LocalizedDeviceModel.productName
16 | }
17 |
18 | /// The product name of the device as a localized string.
19 | @objc var localizedProductName: String {
20 | LocalizedDeviceModel.localizedProductName
21 | }
22 | }
23 |
24 | #endif
25 |
--------------------------------------------------------------------------------
/Sources/LocalizedDeviceModel/Extensions/WKInterfaceDevice+LocalizedModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // WKInterfaceDevice+LocalizedModel.swift
3 | // BDLocalizedDevicesModels
4 | //
5 | // Created by Benoit Deldicque on 06/05/2022.
6 | // Copyright © 2022 Benoit Deldicque. All rights reserved.
7 | //
8 |
9 | #if os(watchOS)
10 | import WatchKit
11 |
12 | public extension WKInterfaceDevice {
13 | /// The product name of the device.
14 | @objc var productName: String {
15 | LocalizedDeviceModel.productName
16 | }
17 |
18 | /// The product name of the device as a localized string.
19 | @objc var localizedProductName: String {
20 | LocalizedDeviceModel.localizedProductName
21 | }
22 | }
23 | #endif
24 |
--------------------------------------------------------------------------------
/Samples/SampleApp/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // SampleApp
4 | //
5 | // Created by Benoit Deldicque on 03/09/2018.
6 | // Copyright © 2018 Benoit Deldicque. All rights reserved.
7 | //
8 |
9 | import LocalizedDeviceModel
10 | import UIKit
11 |
12 | class ViewController: UIViewController {
13 | @IBOutlet var label: UILabel!
14 | @IBOutlet var label2: UILabel!
15 |
16 | override func viewDidLoad() {
17 | super.viewDidLoad()
18 | // Do any additional setup after loading the view, typically from a nib.
19 | label.text = UIDevice.current.localizedProductName
20 | label2.text = UIDevice.current.productName
21 | }
22 |
23 | override func didReceiveMemoryWarning() {
24 | super.didReceiveMemoryWarning()
25 | // Dispose of any resources that can be recreated.
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit Extension/ContentView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ContentView.swift
3 | // SampleWatchApp WatchKit Extension
4 | //
5 | // Created by Benoit Deldicque on 30/05/2021.
6 | //
7 |
8 | import LocalizedDeviceModel
9 | import SwiftUI
10 |
11 | struct ContentView: View {
12 | var body: some View {
13 | Text(WKInterfaceDevice.current().localizedProductName)
14 | .font(.body)
15 | .multilineTextAlignment(.center)
16 | .lineLimit(2)
17 | .padding()
18 | Text(WKInterfaceDevice.current().productName)
19 | .font(.footnote)
20 | .foregroundColor(Color.gray)
21 | .multilineTextAlignment(.center)
22 | .lineLimit(2)
23 | .padding()
24 | }
25 | }
26 |
27 | struct ContentView_Previews: PreviewProvider {
28 | static var previews: some View {
29 | ContentView()
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit App/Base.lproj/Interface.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # LocalizedDeviceModel
2 | Apple product names localized.
3 |
4 | [](https://swiftpackageindex.com/bixcorp/BDLocalizedDevicesModels) [](https://swiftpackageindex.com/bixcorp/BDLocalizedDevicesModels)
5 |
6 |
7 | ## Usage
8 | Note: To use a localization included in the package, the app using the package must support this localization.
9 | ### Localized product name
10 | Swift
11 | ```swift
12 | UIDevice.current.localizedProductName
13 | ```
14 |
15 | Objective-C
16 | ```objc
17 | [UIDevice currentDevice].localizedProductName;
18 | ```
19 |
20 | ### English product name
21 | Swift
22 | ```swift
23 | UIDevice.current.productName
24 | ```
25 |
26 | Objective-C
27 | ```objc
28 | [UIDevice currentDevice].productName;
29 | ```
30 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 Benoit Deldicque
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Package.swift:
--------------------------------------------------------------------------------
1 | // swift-tools-version:5.5
2 | // The swift-tools-version declares the minimum version of Swift required to build this package.
3 |
4 | import PackageDescription
5 |
6 | let package = Package(
7 | name: "LocalizedDeviceModel",
8 | defaultLocalization: "en",
9 | platforms: [.iOS(.v9), .watchOS(.v5), .tvOS(.v9)],
10 | products: [
11 | // Products define the executables and libraries a package produces, and make them visible to other packages.
12 | .library(
13 | name: "LocalizedDeviceModel",
14 | targets: ["LocalizedDeviceModel"]
15 | ),
16 | ],
17 | dependencies: [],
18 | targets: [
19 | // Targets are the basic building blocks of a package. A target can define a module or a test suite.
20 | // Targets can depend on other targets in this package, and on products in packages this package depends on.
21 | .target(
22 | name: "LocalizedDeviceModel",
23 | dependencies: [],
24 | path: "Sources",
25 | exclude: ["../Samples",
26 | "../BundleFinder.swift"]
27 | )
28 | ]
29 | )
30 |
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit App/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleDisplayName
8 | SampleWatchApp WatchKit App
9 | CFBundleExecutable
10 | $(EXECUTABLE_NAME)
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | $(PRODUCT_NAME)
17 | CFBundlePackageType
18 | $(PRODUCT_BUNDLE_PACKAGE_TYPE)
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleVersion
22 | 1
23 | UISupportedInterfaceOrientations
24 |
25 | UIInterfaceOrientationPortrait
26 | UIInterfaceOrientationPortraitUpsideDown
27 |
28 | WKWatchKitApp
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/BundleFinder.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BundleFinder.swift
3 | // LocalizedDeviceModel
4 | //
5 | // Created by Benoit Deldicque on 30/05/2021.
6 | //
7 |
8 | import Foundation
9 | import class Foundation.Bundle
10 |
11 | // This file will help building package using a scheme for Swift Package Index.
12 |
13 | private class BundleFinder {}
14 |
15 | extension Foundation.Bundle {
16 | /// Returns the resource bundle associated with the current Swift module.
17 | static var module: Bundle = {
18 | let bundleName = "LocalizedDeviceModel_LocalizedDeviceModel"
19 |
20 | let candidates = [
21 | // Bundle should be present here when the package is linked into an App.
22 | Bundle.main.resourceURL,
23 |
24 | // Bundle should be present here when the package is linked into a framework.
25 | Bundle(for: BundleFinder.self).resourceURL,
26 |
27 | // For command-line tools.
28 | Bundle.main.bundleURL,
29 | ]
30 |
31 | for candidate in candidates {
32 | let bundlePath = candidate?.appendingPathComponent(bundleName + ".bundle")
33 | if let bundle = bundlePath.flatMap(Bundle.init(url:)) {
34 | return bundle
35 | }
36 | }
37 | fatalError("Unable to find bundle named LocalizedDeviceModel_LocalizedDeviceModel")
38 | }()
39 | }
40 |
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit Extension/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleDisplayName
8 | SampleWatchApp WatchKit Extension
9 | CFBundleExecutable
10 | $(EXECUTABLE_NAME)
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | $(PRODUCT_NAME)
17 | CFBundlePackageType
18 | $(PRODUCT_BUNDLE_PACKAGE_TYPE)
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleVersion
22 | 1
23 | NSExtension
24 |
25 | NSExtensionAttributes
26 |
27 | WKAppBundleIdentifier
28 | com.bddq.SampleWatchApp.watchkitapp
29 |
30 | NSExtensionPointIdentifier
31 | com.apple.watchkit
32 |
33 | WKExtensionDelegateClassName
34 | $(PRODUCT_MODULE_NAME).ExtensionDelegate
35 | WKWatchOnly
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Samples/SampleApp/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleDisplayName
8 | My Device
9 | CFBundleExecutable
10 | $(EXECUTABLE_NAME)
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | $(PRODUCT_NAME)
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/Samples/SampleApp/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/Sources/LocalizedDeviceModel/LocalizedModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LocalizedModel.swift
3 | // BDLocalizedDevicesModels
4 | //
5 | // Created by Benoit Deldicque on 26/06/2018.
6 | // Copyright © 2018 Benoit Deldicque. All rights reserved.
7 | //
8 |
9 | #if !os(macOS)
10 | import Foundation
11 |
12 | var deviceTypeIdentifier: String {
13 | // Check if device is a simulator to get the right machine identifier.
14 | if let machine = ProcessInfo().environment["SIMULATOR_MODEL_IDENTIFIER"] {
15 | return machine
16 | } else {
17 | var size = 0
18 | sysctlbyname("hw.machine", nil, &size, nil, 0)
19 | var machine = [CChar](repeating: 0, count: size)
20 | sysctlbyname("hw.machine", &machine, &size, nil, 0)
21 |
22 | return String(cString: machine)
23 | }
24 | }
25 |
26 | // MARK: -
27 |
28 | /// The product name of the device.
29 | ///
30 | /// If no English localization is found, the product identifier will be returned.
31 | public var productName: String {
32 | // Retrieve english bundle.
33 | guard let englishPath = Bundle.module.path(forResource: "en", ofType: "lproj") else {
34 | return deviceTypeIdentifier // Fallback on device identifier.
35 | }
36 |
37 | guard let englishBundle = Bundle(path: englishPath) else {
38 | return deviceTypeIdentifier // Fallback on device identifier.
39 | }
40 |
41 | return NSLocalizedString(deviceTypeIdentifier, tableName: "DeviceModel",
42 | bundle: englishBundle, value: deviceTypeIdentifier, comment: "")
43 | }
44 |
45 | /// The product name of the device as a localized string.
46 | ///
47 | /// If no localization is found, the product identifier will be returned.
48 | public var localizedProductName: String {
49 | NSLocalizedString(deviceTypeIdentifier, tableName: "DeviceModel",
50 | bundle: Bundle.module, value: deviceTypeIdentifier, comment: "")
51 | }
52 | #endif
53 |
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit App/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "Icon024@2x.png",
5 | "idiom" : "watch",
6 | "role" : "notificationCenter",
7 | "scale" : "2x",
8 | "size" : "24x24",
9 | "subtype" : "38mm"
10 | },
11 | {
12 | "filename" : "Icon027.5@2x.png",
13 | "idiom" : "watch",
14 | "role" : "notificationCenter",
15 | "scale" : "2x",
16 | "size" : "27.5x27.5",
17 | "subtype" : "42mm"
18 | },
19 | {
20 | "filename" : "Icon029@2x.png",
21 | "idiom" : "watch",
22 | "role" : "companionSettings",
23 | "scale" : "2x",
24 | "size" : "29x29"
25 | },
26 | {
27 | "filename" : "Icon029@3x.png",
28 | "idiom" : "watch",
29 | "role" : "companionSettings",
30 | "scale" : "3x",
31 | "size" : "29x29"
32 | },
33 | {
34 | "filename" : "Icon040@2x.png",
35 | "idiom" : "watch",
36 | "role" : "appLauncher",
37 | "scale" : "2x",
38 | "size" : "40x40",
39 | "subtype" : "38mm"
40 | },
41 | {
42 | "filename" : "Icon044@2x.png",
43 | "idiom" : "watch",
44 | "role" : "appLauncher",
45 | "scale" : "2x",
46 | "size" : "44x44",
47 | "subtype" : "40mm"
48 | },
49 | {
50 | "filename" : "Icon050@2x.png",
51 | "idiom" : "watch",
52 | "role" : "appLauncher",
53 | "scale" : "2x",
54 | "size" : "50x50",
55 | "subtype" : "44mm"
56 | },
57 | {
58 | "filename" : "Icon086@2x.png",
59 | "idiom" : "watch",
60 | "role" : "quickLook",
61 | "scale" : "2x",
62 | "size" : "86x86",
63 | "subtype" : "38mm"
64 | },
65 | {
66 | "filename" : "Icon098@2x.png",
67 | "idiom" : "watch",
68 | "role" : "quickLook",
69 | "scale" : "2x",
70 | "size" : "98x98",
71 | "subtype" : "42mm"
72 | },
73 | {
74 | "filename" : "Icon108@2x.png",
75 | "idiom" : "watch",
76 | "role" : "quickLook",
77 | "scale" : "2x",
78 | "size" : "108x108",
79 | "subtype" : "44mm"
80 | },
81 | {
82 | "filename" : "Icon512@2x.png",
83 | "idiom" : "watch-marketing",
84 | "scale" : "1x",
85 | "size" : "1024x1024"
86 | }
87 | ],
88 | "info" : {
89 | "author" : "xcode",
90 | "version" : 1
91 | }
92 | }
93 |
--------------------------------------------------------------------------------
/Samples/SampleApp/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "20x20",
5 | "idiom" : "iphone",
6 | "filename" : "Icon020@2x.png",
7 | "scale" : "2x"
8 | },
9 | {
10 | "size" : "20x20",
11 | "idiom" : "iphone",
12 | "filename" : "Icon020@3x.png",
13 | "scale" : "3x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "Icon029@2x.png",
19 | "scale" : "2x"
20 | },
21 | {
22 | "size" : "29x29",
23 | "idiom" : "iphone",
24 | "filename" : "Icon029@3x.png",
25 | "scale" : "3x"
26 | },
27 | {
28 | "size" : "40x40",
29 | "idiom" : "iphone",
30 | "filename" : "Icon040@2x.png",
31 | "scale" : "2x"
32 | },
33 | {
34 | "size" : "40x40",
35 | "idiom" : "iphone",
36 | "filename" : "Icon040@3x.png",
37 | "scale" : "3x"
38 | },
39 | {
40 | "size" : "60x60",
41 | "idiom" : "iphone",
42 | "filename" : "Icon060@2x.png",
43 | "scale" : "2x"
44 | },
45 | {
46 | "size" : "60x60",
47 | "idiom" : "iphone",
48 | "filename" : "Icon060@3x.png",
49 | "scale" : "3x"
50 | },
51 | {
52 | "size" : "20x20",
53 | "idiom" : "ipad",
54 | "filename" : "Icon020.png",
55 | "scale" : "1x"
56 | },
57 | {
58 | "size" : "20x20",
59 | "idiom" : "ipad",
60 | "filename" : "Icon020@2x.png",
61 | "scale" : "2x"
62 | },
63 | {
64 | "size" : "29x29",
65 | "idiom" : "ipad",
66 | "filename" : "Icon029.png",
67 | "scale" : "1x"
68 | },
69 | {
70 | "size" : "29x29",
71 | "idiom" : "ipad",
72 | "filename" : "Icon029@2x.png",
73 | "scale" : "2x"
74 | },
75 | {
76 | "size" : "40x40",
77 | "idiom" : "ipad",
78 | "filename" : "Icon040.png",
79 | "scale" : "1x"
80 | },
81 | {
82 | "size" : "40x40",
83 | "idiom" : "ipad",
84 | "filename" : "Icon040@2x.png",
85 | "scale" : "2x"
86 | },
87 | {
88 | "size" : "76x76",
89 | "idiom" : "ipad",
90 | "filename" : "Icon076.png",
91 | "scale" : "1x"
92 | },
93 | {
94 | "size" : "76x76",
95 | "idiom" : "ipad",
96 | "filename" : "Icon076@2x.png",
97 | "scale" : "2x"
98 | },
99 | {
100 | "size" : "83.5x83.5",
101 | "idiom" : "ipad",
102 | "filename" : "Icon083@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "1024x1024",
107 | "idiom" : "ios-marketing",
108 | "filename" : "Icon512@2x.png",
109 | "scale" : "1x"
110 | }
111 | ],
112 | "info" : {
113 | "version" : 1,
114 | "author" : "xcode"
115 | },
116 | "properties" : {
117 | "pre-rendered" : true
118 | }
119 | }
120 |
--------------------------------------------------------------------------------
/Samples/SampleWatchApp WatchKit Extension/ExtensionDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ExtensionDelegate.swift
3 | // SampleWatchApp WatchKit Extension
4 | //
5 | // Created by Benoit Deldicque on 30/05/2021.
6 | //
7 |
8 | import WatchKit
9 |
10 | class ExtensionDelegate: NSObject, WKExtensionDelegate {
11 | func applicationDidFinishLaunching() {
12 | // Perform any final initialization of your application.
13 | }
14 |
15 | func applicationDidBecomeActive() {
16 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
17 | }
18 |
19 | func applicationWillResignActive() {
20 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
21 | // Use this method to pause ongoing tasks, disable timers, etc.
22 | }
23 |
24 | func handle(_ backgroundTasks: Set) {
25 | // Sent when the system needs to launch the application in the background to process tasks. Tasks arrive in a set, so loop through and process each one.
26 | for task in backgroundTasks {
27 | // Use a switch statement to check the task type
28 | switch task {
29 | case let backgroundTask as WKApplicationRefreshBackgroundTask:
30 | // Be sure to complete the background task once you’re done.
31 | backgroundTask.setTaskCompletedWithSnapshot(false)
32 | case let snapshotTask as WKSnapshotRefreshBackgroundTask:
33 | // Snapshot tasks have a unique completion call, make sure to set your expiration date
34 | snapshotTask.setTaskCompleted(restoredDefaultState: true, estimatedSnapshotExpiration: Date.distantFuture, userInfo: nil)
35 | case let connectivityTask as WKWatchConnectivityRefreshBackgroundTask:
36 | // Be sure to complete the connectivity task once you’re done.
37 | connectivityTask.setTaskCompletedWithSnapshot(false)
38 | case let urlSessionTask as WKURLSessionRefreshBackgroundTask:
39 | // Be sure to complete the URL session task once you’re done.
40 | urlSessionTask.setTaskCompletedWithSnapshot(false)
41 | case let relevantShortcutTask as WKRelevantShortcutRefreshBackgroundTask:
42 | // Be sure to complete the relevant-shortcut task once you're done.
43 | relevantShortcutTask.setTaskCompletedWithSnapshot(false)
44 | case let intentDidRunTask as WKIntentDidRunRefreshBackgroundTask:
45 | // Be sure to complete the intent-did-run task once you're done.
46 | intentDidRunTask.setTaskCompletedWithSnapshot(false)
47 | default:
48 | // make sure to complete unhandled task types
49 | task.setTaskCompletedWithSnapshot(false)
50 | }
51 | }
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/Samples/SampleApp.xcodeproj/xcshareddata/xcschemes/SampleApp.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
44 |
46 |
52 |
53 |
54 |
55 |
61 |
63 |
69 |
70 |
71 |
72 |
74 |
75 |
78 |
79 |
80 |
--------------------------------------------------------------------------------
/Samples/SampleApp.xcodeproj/xcshareddata/xcschemes/SampleWatchApp WatchKit App.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
29 |
35 |
36 |
37 |
38 |
39 |
44 |
45 |
46 |
47 |
57 |
61 |
67 |
68 |
69 |
70 |
76 |
80 |
86 |
87 |
88 |
89 |
95 |
96 |
97 |
98 |
100 |
101 |
104 |
105 |
106 |
--------------------------------------------------------------------------------
/Samples/SampleApp/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
28 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## [3.9.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/3.5.0)
2 | Released on 2025-09-14.
3 |
4 | #### Added
5 | - New iPhone 17 models.
6 | - New Apple Watch models.
7 |
8 | ## [3.8.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/3.8.0)
9 | Released on 2025-03-06.
10 |
11 | #### Added
12 | - New iPad models.
13 |
14 | ## [3.7.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/3.7.0)
15 | Released on 2025-02-20.
16 |
17 | #### Added
18 | - New iPhone model.
19 |
20 | ## [3.6.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/3.6.0)
21 | Released on 2024-10-24.
22 |
23 | #### Added
24 | - New iPad models.
25 |
26 | ## [3.5.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/3.5.0)
27 | Released on 2024-09-14.
28 |
29 | #### Added
30 | - New iPhone 16 models.
31 | - New Apple Watch models.
32 |
33 | ## [3.4.1](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/3.4.1)
34 | Released on 2024-08-08.
35 |
36 | #### Fixed
37 | - Fix unexpected device type identifier.
38 |
39 | ## [3.4.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/3.4.0)
40 | Released on 2024-05-11.
41 |
42 | #### Added
43 | - New iPad models.
44 |
45 | #### Fixed
46 | - Fix typo errors.
47 |
48 | ## [3.3.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/3.3.0)
49 | Released on 2023-09-13.
50 |
51 | #### Added
52 | - New iPhone 15 models.
53 | - New Apple Watch models.
54 |
55 | ## [3.2.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/3.2.0)
56 | Released on 2022-10-20.
57 |
58 | #### Added
59 | - New Apple TV.
60 | - New iPad models.
61 |
62 | #### Fixed
63 | - Fix iPhone 14 Pro Max device identifier.
64 |
65 | ## [3.1.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/3.1.0)
66 | Released on 2022-09-10.
67 |
68 | #### Added
69 | - New iPhone 14 models.
70 | - New Apple Watch models.
71 |
72 | ## [3.0.1](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/3.0.1)
73 | Released on 2022-05-09.
74 |
75 | #### Added
76 | - Make UIDevice extension public.
77 |
78 | ## [3.0.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/3.0.0)
79 | Released on 2022-05-07.
80 |
81 | #### Added
82 | - Add Swift package documentation.
83 |
84 | ## [2.3.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/2.3.0)
85 | Released on 2022-03-09.
86 |
87 | #### Added
88 | - New iPad Air models.
89 | - New iPhone SE model.
90 |
91 | ## [2.2.1](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/2.2.1)
92 | Released on 2021-09-21.
93 |
94 | #### Fixed
95 | - Fixed exclude path warnings.
96 |
97 | ## [2.2.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/2.2.0)
98 | Released on 2021-09-15.
99 |
100 | #### Added
101 | - New iPad models.
102 | - New iPhone 13 models.
103 | - New Apple Watch models.
104 |
105 | ## [2.1.2](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/2.1.2)
106 | Released on 2021-05-30.
107 |
108 | #### Improvements
109 | - Project structure is now ready for Swift Package Index builds.
110 |
111 | ## [2.1.1](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/2.1.1)
112 | Released on 2021-05-30.
113 |
114 | #### Added
115 | - watchOS WKInterfaceDevice extension.
116 |
117 | #### Improvements
118 | - Sample project can run standalone watchOS app.
119 |
120 | ## [2.1.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/2.1.0)
121 | Released on 2021-04-20.
122 |
123 | #### Added
124 | - New iPad Pro models.
125 | - New Apple TV 4K model.
126 |
127 | #### Fixed
128 | - Some typo errors on zh-Hans localization.
129 |
130 | ## [2.0.1](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/2.0.1)
131 | Released on 2021-03-05.
132 |
133 | #### Improvements
134 | - Cleaned code.
135 |
136 | ## [2.0.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/2.0.0)
137 | Released on 2020-10-15.
138 |
139 | #### Added
140 | - New iPhone 12 models.
141 | - Swift Package Manager support.
142 |
143 | Note: Carthage is not supported anymore.
144 |
145 | ## [1.10.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/1.10.0)
146 | Released on 2020-09-16.
147 |
148 | #### Added
149 | - New iPad models.
150 | - New Apple Watch models.
151 |
152 | ## [1.9.1](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/1.9.1)
153 | Released on 2020-04-17.
154 |
155 | #### Added
156 | - New iPhone SE model.
157 |
158 | ## [1.9.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/1.9.0)
159 | Released on 2020-03-24.
160 |
161 | #### Added
162 | - New iPad Pro models.
163 |
164 | ## [1.8.1](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/1.8.1)
165 | Released on 2019-10-07.
166 |
167 | #### Added
168 | - New iPad (7th generation) models.
169 |
170 | ## [1.8.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/1.8.0)
171 | Released on 2019-09-11.
172 |
173 | #### Added
174 | - New iPhone 11 models.
175 | - New Apple Watch Series 5 models.
176 |
177 | ## [1.7.1](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/1.7.1)
178 | Released on 2019-06-26.
179 |
180 | #### Added
181 | - New iPod device.
182 |
183 | ## [1.7.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/1.7.0)
184 | Released on 2019-03-26.
185 |
186 | #### Added
187 | - New iPad devices.
188 |
189 | #### Updated
190 | - Apple TV.
191 |
192 | ## [1.6.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/1.6.0)
193 | Released on 2019-02-12.
194 |
195 | #### Added
196 | - Support for tvOS
197 |
198 | #### Updated
199 | - BDLocalizedDevicesModels Swift version is Swift 4.0.
200 |
201 | ## [1.5.1](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/1.5.1)
202 | Released on 2018-11-19.
203 |
204 | #### Fixed
205 | - Unrecognised selector bug.
206 |
207 | ## [1.5.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/1.5.0)
208 | Released on 2018-10-30.
209 |
210 | #### Added
211 | - New iPad devices.
212 |
213 |
214 | ## [1.4.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/1.4.0)
215 | Released on 2018-09-13.
216 |
217 | #### Added
218 | - New iPhone and Apple Watch devices.
219 |
220 | ## [1.3.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/1.3.0)
221 | Released on 2018-09-03.
222 |
223 | #### Added
224 | - Sample code app is now available.
225 |
226 | - Simulator displays its real device name.
227 |
228 | #### Updated
229 | - BDLocalizedDevicesModels deployment target is iOS 9.0.
230 |
231 | ## [1.2.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/1.2.0)
232 | Released on 2018-08-01.
233 |
234 | #### Added
235 | - New Russian and Chinese (Simplified) languages.
236 |
237 | ## [1.1.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/1.1.0)
238 | Released on 2018-06-29.
239 |
240 | #### Added
241 | - New Portuguese language.
242 |
243 | ## [1.0.0](https://github.com/bixcorp/BDLocalizedDevicesModels/releases/tag/1.0.0)
244 | Released on 2018-06-28.
245 |
246 | #### Added
247 | - Initial release of BDLocalizedDevicesModels as a framework.
248 |
--------------------------------------------------------------------------------
/Sources/LocalizedDeviceModel/Resources/zh-Hans.lproj/DeviceModel.strings:
--------------------------------------------------------------------------------
1 | /*
2 | DeviceModel.strings
3 | BDLocalizedDevicesModels
4 |
5 | Created by Benoit Deldicque on 01/08/2018.
6 | Copyright © 2018 Benoit Deldicque. All rights reserved.
7 | */
8 |
9 | // MARK: iPhone models
10 | "iPhone1,1" = "iPhone 2G";
11 | "iPhone1,2" = "iPhone 3G";
12 | "iPhone2,1" = "iPhone 3GS";
13 | "iPhone3,1" = "iPhone 4";
14 | "iPhone3,2" = "iPhone 4";
15 | "iPhone3,3" = "iPhone 4";
16 | "iPhone4,1" = "iPhone 4S";
17 | "iPhone5,1" = "iPhone 5";
18 | "iPhone5,2" = "iPhone 5";
19 | "iPhone5,3" = "iPhone 5c";
20 | "iPhone5,4" = "iPhone 5c";
21 | "iPhone6,1" = "iPhone 5s";
22 | "iPhone6,2" = "iPhone 5s";
23 | "iPhone7,1" = "iPhone 6 Plus";
24 | "iPhone7,2" = "iPhone 6";
25 | "iPhone8,2" = "iPhone 6s Plus";
26 | "iPhone8,1" = "iPhone 6s";
27 | "iPhone8,4" = "iPhone SE";
28 | "iPhone9,1" = "iPhone 7";
29 | "iPhone9,2" = "iPhone 7 Plus";
30 | "iPhone9,3" = "iPhone 7";
31 | "iPhone9,4" = "iPhone 7 Plus";
32 | "iPhone10,1" = "iPhone 8";
33 | "iPhone10,2" = "iPhone 8 Plus";
34 | "iPhone10,3" = "iPhone X";
35 | "iPhone10,4" = "iPhone 8";
36 | "iPhone10,5" = "iPhone 8 Plus";
37 | "iPhone10,6" = "iPhone X";
38 | "iPhone11,2" = "iPhone XS";
39 | "iPhone11,4" = "iPhone XS Max";
40 | "iPhone11,6" = "iPhone XS Max";
41 | "iPhone11,8" = "iPhone XR";
42 | "iPhone12,1" = "iPhone 11";
43 | "iPhone12,3" = "iPhone 11 Pro";
44 | "iPhone12,5" = "iPhone 11 Pro Max";
45 | "iPhone12,8" = "iPhone SE(第 2 代)";
46 | "iPhone13,1" = "iPhone 12 mini";
47 | "iPhone13,2" = "iPhone 12";
48 | "iPhone13,3" = "iPhone 12 Pro";
49 | "iPhone13,4" = "iPhone 12 Pro Max";
50 | "iPhone14,2" = "iPhone 13 Pro";
51 | "iPhone14,3" = "iPhone 13 Pro Max";
52 | "iPhone14,4" = "iPhone 13 mini";
53 | "iPhone14,5" = "iPhone 13";
54 | "iPhone14,6" = "iPhone SE(第 3 代)";
55 | "iPhone14,7" = "iPhone 14";
56 | "iPhone14,8" = "iPhone 14 Plus";
57 | "iPhone15,2" = "iPhone 14 Pro";
58 | "iPhone15,3" = "iPhone 14 Pro Max";
59 | "iPhone15,4" = "iPhone 15";
60 | "iPhone15,5" = "iPhone 15 Plus";
61 | "iPhone16,1" = "iPhone 15 Pro";
62 | "iPhone16,2" = "iPhone 15 Pro Max";
63 | "iPhone17,1" = "iPhone 16 Pro";
64 | "iPhone17,2" = "iPhone 16 Pro Max";
65 | "iPhone17,3" = "iPhone 16";
66 | "iPhone17,4" = "iPhone 16 Plus";
67 | "iPhone17,5" = "iPhone 16e";
68 | "iPhone18,1" = "iPhone 17 Pro";
69 | "iPhone18,2" = "iPhone 17 Pro Max";
70 | "iPhone18,3" = "iPhone 17";
71 | "iPhone18,4" = "iPhone 17 Air";
72 |
73 |
74 | // MARK: iPod touch models
75 | "iPod1,1" = "iPod touch";
76 | "iPod2,1" = "iPod touch(第 2 代)";
77 | "iPod3,1" = "iPod touch(第 3 代)";
78 | "iPod4,1" = "iPod touch(第 4 代)";
79 | "iPod5,1" = "iPod touch(第 5 代)";
80 | "iPod7,1" = "iPod touch(第 6 代)";
81 | "iPod9,1" = "iPod touch(第 7 代)";
82 |
83 |
84 | // MARK: iPad models
85 | "iPad1,1" = "iPad";
86 | "iPad1,2" = "iPad";
87 | "iPad2,1" = "iPad 2";
88 | "iPad2,2" = "iPad 2";
89 | "iPad2,3" = "iPad 2";
90 | "iPad2,4" = "iPad 2";
91 | "iPad2,5" = "iPad mini";
92 | "iPad2,6" = "iPad mini";
93 | "iPad2,7" = "iPad mini";
94 | "iPad3,1" = "iPad(第 3 代)";
95 | "iPad3,2" = "iPad(第 3 代)";
96 | "iPad3,3" = "iPad(第 3 代)";
97 | "iPad3,4" = "iPad(第 4 代)";
98 | "iPad3,5" = "iPad(第 4 代)";
99 | "iPad3,6" = "iPad(第 4 代)";
100 | "iPad4,1" = "iPad Air";
101 | "iPad4,2" = "iPad Air";
102 | "iPad4,3" = "iPad Air";
103 | "iPad4,4" = "iPad mini 2";
104 | "iPad4,5" = "iPad mini 2";
105 | "iPad4,6" = "iPad mini 2";
106 | "iPad4,7" = "iPad mini 3";
107 | "iPad4,8" = "iPad mini 3";
108 | "iPad4,9" = "iPad mini 3";
109 | "iPad5,1" = "iPad mini 4";
110 | "iPad5,2" = "iPad mini 4";
111 | "iPad5,3" = "iPad Air 2";
112 | "iPad5,4" = "iPad Air 2";
113 | "iPad6,3" = "iPad Pro(9.7 英寸)";
114 | "iPad6,4" = "iPad Pro(9.7 英寸)";
115 | "iPad6,7" = "iPad Pro(12.9 英寸)";
116 | "iPad6,8" = "iPad Pro(12.9 英寸)";
117 | "iPad6,11" = "iPad(第 5 代)";
118 | "iPad6,12" = "iPad(第 5 代)";
119 | "iPad7,1" = "iPad Pro(12.9 英寸,第 2 代)";
120 | "iPad7,2" = "iPad Pro(12.9 英寸,第 2 代)";
121 | "iPad7,3" = "iPad Pro(10.5 英寸)";
122 | "iPad7,4" = "iPad Pro(10.5 英寸)";
123 | "iPad7,5" = "iPad(第 6 代)";
124 | "iPad7,6" = "iPad(第 6 代)";
125 | "iPad7,11" = "iPad (第 7 代)";
126 | "iPad7,12" = "iPad (第 7 代)";
127 | "iPad8,1" = "iPad Pro (11 英寸)";
128 | "iPad8,2" = "iPad Pro (11 英寸)";
129 | "iPad8,3" = "iPad Pro (11 英寸)";
130 | "iPad8,4" = "iPad Pro (11 英寸)";
131 | "iPad8,5" = "iPad Pro (12.9 英寸,第 3 代)";
132 | "iPad8,6" = "iPad Pro (12.9 英寸,第 3 代)";
133 | "iPad8,7" = "iPad Pro (12.9 英寸,第 3 代)";
134 | "iPad8,8" = "iPad Pro (12.9 英寸,第 3 代)";
135 | "iPad8,9" = "iPad Pro (11 英寸,第 2 代)";
136 | "iPad8,10" = "iPad Pro (11 英寸,第 2 代)";
137 | "iPad8,11" = "iPad Pro (12.9 英寸,第 4 代)";
138 | "iPad8,12" = "iPad Pro (12.9 英寸,第 4 代)";
139 | "iPad11,1" = "iPad mini(第 5 代)";
140 | "iPad11,2" = "iPad mini(第 5 代)";
141 | "iPad11,3" = "iPad Air(第 3 代)";
142 | "iPad11,4" = "iPad Air(第 3 代)";
143 | "iPad11,6" = "iPad (第 8 代)";
144 | "iPad11,7" = "iPad (第 8 代)";
145 | "iPad12,1" = "iPad (第 9 代)";
146 | "iPad12,2" = "iPad (第 9 代)";
147 | "iPad13,1" = "iPad Air(第 4 代)";
148 | "iPad13,2" = "iPad Air(第 4 代)";
149 | "iPad13,4" = "iPad Pro (11 英寸, 第 3 代)";
150 | "iPad13,5" = "iPad Pro (11 英寸, 第 3 代)";
151 | "iPad13,6" = "iPad Pro (11 英寸, 第 3 代)";
152 | "iPad13,7" = "iPad Pro (11 英寸, 第 3 代)";
153 | "iPad13,8" = "iPad Pro (12.9 英寸,第 5 代)";
154 | "iPad13,9" = "iPad Pro (12.9 英寸,第 5 代)";
155 | "iPad13,10" = "iPad Pro (12.9 英寸,第 5 代)";
156 | "iPad13,11" = "iPad Pro (12.9 英寸,第 5 代)";
157 | "iPad13,16" = "iPad Air (第 5 代)";
158 | "iPad13,17" = "iPad Air (第 5 代)";
159 | "iPad13,18" = "iPad (第 10 代)";
160 | "iPad13,19" = "iPad (第 10 代)";
161 | "iPad14,1" = "iPad mini(第 6 代)";
162 | "iPad14,2" = "iPad mini(第 6 代)";
163 | "iPad14,3" = "iPad Pro 11 英寸 (第 4 代)";
164 | "iPad14,4" = "iPad Pro 11 英寸 (第 4 代)";
165 | "iPad14,5" = "iPad Pro 12.9 英寸 (第 6 代)";
166 | "iPad14,6" = "iPad Pro 12.9 英寸 (第 6 代)";
167 | "iPad14,8" = "iPad Air 11 英寸 (M2)";
168 | "iPad14,9" = "iPad Air 11 英寸 (M2)";
169 | "iPad14,10" = "iPad Air 13 英寸 (M2)";
170 | "iPad14,11" = "iPad Air 13 英寸 (M2)";
171 | "iPad15,3" = "iPad Air 11 英寸 (M3)";
172 | "iPad15,4" = "iPad Air 11 英寸 (M3)";
173 | "iPad15,5" = "iPad Air 13 英寸 (M3)";
174 | "iPad15,6" = "iPad Air 13 英寸 (M3)";
175 | "iPad15,7" = "iPad (A16)";
176 | "iPad15,8" = "iPad (A16)";
177 | "iPad16,1" = "iPad mini (A17 Pro)";
178 | "iPad16,2" = "iPad mini (A17 Pro)";
179 | "iPad16,3" = "iPad Pro 11 英寸 (M4)";
180 | "iPad16,4" = "iPad Pro 11 英寸 (M4)";
181 | "iPad16,5" = "iPad Pro 13 英寸 (M4)";
182 | "iPad16,6" = "iPad Pro 13 英寸 (M4)";
183 |
184 |
185 | // MARK: Apple TV models
186 | "AppleTV1,1" = "Apple TV(第 1 代)";
187 | "AppleTV2,1" = "Apple TV(第 2 代)";
188 | "AppleTV3,1" = "Apple TV(第 3 代)";
189 | "AppleTV3,2" = "Apple TV(第 3 代)";
190 | "AppleTV5,3" = "Apple TV HD";
191 | "AppleTV6,2" = "Apple TV 4K";
192 | "AppleTV11,1" = "Apple TV 4K(第 2 代)";
193 | "AppleTV14,1" = "Apple TV 4K(第 3 代)";
194 |
195 |
196 | // MARK: Apple Watch models
197 | "Watch1,1" = "Apple Watch(第 1 代)";
198 | "Watch1,2" = "Apple Watch(第 2 代)";
199 | "Watch2,3" = "Apple Watch Series 2";
200 | "Watch2,4" = "Apple Watch Series 2";
201 | "Watch2,6" = "Apple Watch Series 1";
202 | "Watch2,7" = "Apple Watch Series 1";
203 | "Watch3,1" = "Apple Watch Series 3";
204 | "Watch3,2" = "Apple Watch Series 3";
205 | "Watch3,3" = "Apple Watch Series 3";
206 | "Watch3,4" = "Apple Watch Series 3";
207 | "Watch4,1" = "Apple Watch Series 4";
208 | "Watch4,2" = "Apple Watch Series 4";
209 | "Watch4,3" = "Apple Watch Series 4";
210 | "Watch4,4" = "Apple Watch Series 4";
211 | "Watch5,1" = "Apple Watch Series 5";
212 | "Watch5,2" = "Apple Watch Series 5";
213 | "Watch5,3" = "Apple Watch Series 5";
214 | "Watch5,4" = "Apple Watch Series 5";
215 | "Watch5,9" = "Apple Watch SE(第 1 代)";
216 | "Watch5,10" = "Apple Watch SE(第 1 代)";
217 | "Watch5,11" = "Apple Watch SE(第 1 代)";
218 | "Watch5,12" = "Apple Watch SE(第 1 代)";
219 | "Watch6,1" = "Apple Watch Series 6";
220 | "Watch6,2" = "Apple Watch Series 6";
221 | "Watch6,3" = "Apple Watch Series 6";
222 | "Watch6,4" = "Apple Watch Series 6";
223 | "Watch6,6" = "Apple Watch Series 7";
224 | "Watch6,7" = "Apple Watch Series 7";
225 | "Watch6,8" = "Apple Watch Series 7";
226 | "Watch6,9" = "Apple Watch Series 7";
227 | "Watch6,10" = "Apple Watch SE(第 2 代)";
228 | "Watch6,11" = "Apple Watch SE(第 2 代)";
229 | "Watch6,12" = "Apple Watch SE(第 2 代)";
230 | "Watch6,13" = "Apple Watch SE(第 2 代)";
231 | "Watch6,14" = "Apple Watch Series 8";
232 | "Watch6,15" = "Apple Watch Series 8";
233 | "Watch6,16" = "Apple Watch Series 8";
234 | "Watch6,17" = "Apple Watch Series 8";
235 | "Watch6,18" = "Apple Watch Ultra";
236 | "Watch7,1" = "Apple Watch Series 9";
237 | "Watch7,2" = "Apple Watch Series 9";
238 | "Watch7,3" = "Apple Watch Series 9";
239 | "Watch7,4" = "Apple Watch Series 9";
240 | "Watch7,5" = "Apple Watch Ultra 2";
241 | "Watch7,8" = "Apple Watch Series 10";
242 | "Watch7,9" = "Apple Watch Series 10";
243 | "Watch7,10" = "Apple Watch Series 10";
244 | "Watch7,11" = "Apple Watch Series 10";
245 | "Watch7,12" = "Apple Watch Ultra 3";
246 | "Watch7,13" = "Apple Watch SE 3";
247 | "Watch7,14" = "Apple Watch SE 3";
248 | "Watch7,15" = "Apple Watch SE 3";
249 | "Watch7,16" = "Apple Watch SE 3";
250 | "Watch7,17" = "Apple Watch Series 11";
251 | "Watch7,18" = "Apple Watch Series 11";
252 | "Watch7,19" = "Apple Watch Series 11";
253 | "Watch7,20" = "Apple Watch Series 11";
254 |
255 |
256 | // MARK: Developer models
257 | "i386" = "模拟器";
258 | "x86_64" = "模拟器";
259 |
--------------------------------------------------------------------------------
/Sources/LocalizedDeviceModel/Resources/de.lproj/DeviceModel.strings:
--------------------------------------------------------------------------------
1 | /*
2 | DeviceModel.strings
3 | BDLocalizedDevicesModels
4 |
5 | Created by Benoit Deldicque on 06/10/2017.
6 | Copyright © 2017 Benoit Deldicque. All rights reserved.
7 | */
8 |
9 | // MARK: iPhone models
10 | "iPhone1,1" = "iPhone 2G";
11 | "iPhone1,2" = "iPhone 3G";
12 | "iPhone2,1" = "iPhone 3GS";
13 | "iPhone3,1" = "iPhone 4";
14 | "iPhone3,2" = "iPhone 4";
15 | "iPhone3,3" = "iPhone 4";
16 | "iPhone4,1" = "iPhone 4S";
17 | "iPhone5,1" = "iPhone 5";
18 | "iPhone5,2" = "iPhone 5";
19 | "iPhone5,3" = "iPhone 5c";
20 | "iPhone5,4" = "iPhone 5c";
21 | "iPhone6,1" = "iPhone 5s";
22 | "iPhone6,2" = "iPhone 5s";
23 | "iPhone7,1" = "iPhone 6 Plus";
24 | "iPhone7,2" = "iPhone 6";
25 | "iPhone8,2" = "iPhone 6s Plus";
26 | "iPhone8,1" = "iPhone 6s";
27 | "iPhone8,4" = "iPhone SE";
28 | "iPhone9,1" = "iPhone 7";
29 | "iPhone9,2" = "iPhone 7 Plus";
30 | "iPhone9,3" = "iPhone 7";
31 | "iPhone9,4" = "iPhone 7 Plus";
32 | "iPhone10,1" = "iPhone 8";
33 | "iPhone10,2" = "iPhone 8 Plus";
34 | "iPhone10,3" = "iPhone X";
35 | "iPhone10,4" = "iPhone 8";
36 | "iPhone10,5" = "iPhone 8 Plus";
37 | "iPhone10,6" = "iPhone X";
38 | "iPhone11,2" = "iPhone XS";
39 | "iPhone11,4" = "iPhone XS Max";
40 | "iPhone11,6" = "iPhone XS Max";
41 | "iPhone11,8" = "iPhone XR";
42 | "iPhone12,1" = "iPhone 11";
43 | "iPhone12,3" = "iPhone 11 Pro";
44 | "iPhone12,5" = "iPhone 11 Pro Max";
45 | "iPhone12,8" = "iPhone SE (2. Generation)";
46 | "iPhone13,1" = "iPhone 12 mini";
47 | "iPhone13,2" = "iPhone 12";
48 | "iPhone13,3" = "iPhone 12 Pro";
49 | "iPhone13,4" = "iPhone 12 Pro Max";
50 | "iPhone14,2" = "iPhone 13 Pro";
51 | "iPhone14,3" = "iPhone 13 Pro Max";
52 | "iPhone14,4" = "iPhone 13 mini";
53 | "iPhone14,5" = "iPhone 13";
54 | "iPhone14,6" = "iPhone SE (3. Generation)";
55 | "iPhone14,7" = "iPhone 14";
56 | "iPhone14,8" = "iPhone 14 Plus";
57 | "iPhone15,2" = "iPhone 14 Pro";
58 | "iPhone15,3" = "iPhone 14 Pro Max";
59 | "iPhone15,4" = "iPhone 15";
60 | "iPhone15,5" = "iPhone 15 Plus";
61 | "iPhone16,1" = "iPhone 15 Pro";
62 | "iPhone16,2" = "iPhone 15 Pro Max";
63 | "iPhone17,1" = "iPhone 16 Pro";
64 | "iPhone17,2" = "iPhone 16 Pro Max";
65 | "iPhone17,3" = "iPhone 16";
66 | "iPhone17,4" = "iPhone 16 Plus";
67 | "iPhone17,5" = "iPhone 16e";
68 | "iPhone18,1" = "iPhone 17 Pro";
69 | "iPhone18,2" = "iPhone 17 Pro Max";
70 | "iPhone18,3" = "iPhone 17";
71 | "iPhone18,4" = "iPhone 17 Air";
72 |
73 |
74 | // MARK: iPod touch models
75 | "iPod1,1" = "iPod touch";
76 | "iPod2,1" = "iPod touch (2. Generation)";
77 | "iPod3,1" = "iPod touch (3. Generation)";
78 | "iPod4,1" = "iPod touch (4. Generation)";
79 | "iPod5,1" = "iPod touch (5. Generation)";
80 | "iPod7,1" = "iPod touch (6. Generation)";
81 | "iPod9,1" = "iPod touch (7. Generation)";
82 |
83 |
84 | // MARK: iPad models
85 | "iPad1,1" = "iPad";
86 | "iPad1,2" = "iPad";
87 | "iPad2,1" = "iPad 2";
88 | "iPad2,2" = "iPad 2";
89 | "iPad2,3" = "iPad 2";
90 | "iPad2,4" = "iPad 2";
91 | "iPad2,5" = "iPad mini";
92 | "iPad2,6" = "iPad mini";
93 | "iPad2,7" = "iPad mini";
94 | "iPad3,1" = "iPad (3. Generation)";
95 | "iPad3,2" = "iPad (3. Generation)";
96 | "iPad3,3" = "iPad (3. Generation)";
97 | "iPad3,4" = "iPad (4. Generation)";
98 | "iPad3,5" = "iPad (4. Generation)";
99 | "iPad3,6" = "iPad (4. Generation)";
100 | "iPad4,1" = "iPad Air";
101 | "iPad4,2" = "iPad Air";
102 | "iPad4,3" = "iPad Air";
103 | "iPad4,4" = "iPad mini 2";
104 | "iPad4,5" = "iPad mini 2";
105 | "iPad4,6" = "iPad mini 2";
106 | "iPad4,7" = "iPad mini 3";
107 | "iPad4,8" = "iPad mini 3";
108 | "iPad4,9" = "iPad mini 3";
109 | "iPad5,1" = "iPad mini 4";
110 | "iPad5,2" = "iPad mini 4";
111 | "iPad5,3" = "iPad Air 2";
112 | "iPad5,4" = "iPad Air 2";
113 | "iPad6,3" = "iPad Pro (9,7\")";
114 | "iPad6,4" = "iPad Pro (9,7\")";
115 | "iPad6,7" = "iPad Pro (12,9\")";
116 | "iPad6,8" = "iPad Pro (12,9\")";
117 | "iPad6,11" = "iPad (5. Generation)";
118 | "iPad6,12" = "iPad (5. Generation)";
119 | "iPad7,1" = "iPad Pro (12,9\", 2. Generation)";
120 | "iPad7,2" = "iPad Pro (12,9\", 2. Generation)";
121 | "iPad7,3" = "iPad Pro (10,5\")";
122 | "iPad7,4" = "iPad Pro (10,5\")";
123 | "iPad7,5" = "iPad (6. Generation)";
124 | "iPad7,6" = "iPad (6. Generation)";
125 | "iPad7,11" = "iPad (7. Generation)";
126 | "iPad7,12" = "iPad (7. Generation)";
127 | "iPad8,1" = "iPad Pro (11\")";
128 | "iPad8,2" = "iPad Pro (11\")";
129 | "iPad8,3" = "iPad Pro (11\")";
130 | "iPad8,4" = "iPad Pro (11\")";
131 | "iPad8,5" = "iPad Pro (12,9\", 3. Generation)";
132 | "iPad8,6" = "iPad Pro (12,9\", 3. Generation)";
133 | "iPad8,7" = "iPad Pro (12,9\", 3. Generation)";
134 | "iPad8,8" = "iPad Pro (12,9\", 3. Generation)";
135 | "iPad8,9" = "iPad Pro (11\", 2. Generation)";
136 | "iPad8,10" = "iPad Pro (11\", 2. Generation)";
137 | "iPad8,11" = "iPad Pro (12,9\", 4. Generation)";
138 | "iPad8,12" = "iPad Pro (12,9\", 4. Generation)";
139 | "iPad11,1" = "iPad mini (5. Generation)";
140 | "iPad11,2" = "iPad mini (5. Generation)";
141 | "iPad11,3" = "iPad Air (3. Generation)";
142 | "iPad11,4" = "iPad Air (3. Generation)";
143 | "iPad11,6" = "iPad (8. Generation)";
144 | "iPad11,7" = "iPad (8. Generation)";
145 | "iPad12,1" = "iPad (9. Generation)";
146 | "iPad12,2" = "iPad (9. Generation)";
147 | "iPad13,1" = "iPad Air (4. Generation)";
148 | "iPad13,2" = "iPad Air (4. Generation)";
149 | "iPad13,4" = "iPad Pro (11\", 3. Generation)";
150 | "iPad13,5" = "iPad Pro (11\", 3. Generation)";
151 | "iPad13,6" = "iPad Pro (11\", 3. Generation)";
152 | "iPad13,7" = "iPad Pro (11\", 3. Generation)";
153 | "iPad13,8" = "iPad Pro (12,9\", 5. Generation)";
154 | "iPad13,9" = "iPad Pro (12,9\", 5. Generation)";
155 | "iPad13,10" = "iPad Pro (12,9\", 5. Generation)";
156 | "iPad13,11" = "iPad Pro (12,9\", 5. Generation)";
157 | "iPad13,16" = "iPad Air (5. Generation)";
158 | "iPad13,17" = "iPad Air (5. Generation)";
159 | "iPad13,18" = "iPad (10. Generation)";
160 | "iPad13,19" = "iPad (10. Generation)";
161 | "iPad14,1" = "iPad mini (6. Generation)";
162 | "iPad14,2" = "iPad mini (6. Generation)";
163 | "iPad14,3" = "iPad Pro 11\" (4. Generation)";
164 | "iPad14,4" = "iPad Pro 11\" (4. Generation)";
165 | "iPad14,5" = "iPad Pro 12,9\" (6. Generation)";
166 | "iPad14,6" = "iPad Pro 12,9\" (6. Generation)";
167 | "iPad14,8" = "iPad Air 11\" (M2)";
168 | "iPad14,9" = "iPad Air 11\" (M2)";
169 | "iPad14,10" = "iPad Air 13\" (M2)";
170 | "iPad14,11" = "iPad Air 13\" (M2)";
171 | "iPad15,3" = "iPad Air 11\" (M3)";
172 | "iPad15,4" = "iPad Air 11\" (M3)";
173 | "iPad15,5" = "iPad Air 13\" (M3)";
174 | "iPad15,6" = "iPad Air 13\" (M3)";
175 | "iPad15,7" = "iPad (A16)";
176 | "iPad15,8" = "iPad (A16)";
177 | "iPad16,1" = "iPad mini (A17 Pro)";
178 | "iPad16,2" = "iPad mini (A17 Pro)";
179 | "iPad16,3" = "iPad Pro 11\" (M4)";
180 | "iPad16,4" = "iPad Pro 11\" (M4)";
181 | "iPad16,5" = "iPad Pro 13\" (M4)";
182 | "iPad16,6" = "iPad Pro 13\" (M4)";
183 |
184 |
185 | // MARK: Apple TV models
186 | "AppleTV1,1" = "Apple TV (1. Generation)";
187 | "AppleTV2,1" = "Apple TV (2. Generation)";
188 | "AppleTV3,1" = "Apple TV (3. Generation)";
189 | "AppleTV3,2" = "Apple TV (3. Generation)";
190 | "AppleTV5,3" = "Apple TV HD";
191 | "AppleTV6,2" = "Apple TV 4K";
192 | "AppleTV11,1" = "Apple TV 4K (2. Generation)";
193 | "AppleTV14,1" = "Apple TV 4K (3. Generation)";
194 |
195 |
196 | // MARK: Apple Watch models
197 | "Watch1,1" = "Apple Watch (1. Generation)";
198 | "Watch1,2" = "Apple Watch (2. Generation)";
199 | "Watch2,3" = "Apple Watch Series 2";
200 | "Watch2,4" = "Apple Watch Series 2";
201 | "Watch2,6" = "Apple Watch Series 1";
202 | "Watch2,7" = "Apple Watch Series 1";
203 | "Watch3,1" = "Apple Watch Series 3";
204 | "Watch3,2" = "Apple Watch Series 3";
205 | "Watch3,3" = "Apple Watch Series 3";
206 | "Watch3,4" = "Apple Watch Series 3";
207 | "Watch4,1" = "Apple Watch Series 4";
208 | "Watch4,2" = "Apple Watch Series 4";
209 | "Watch4,3" = "Apple Watch Series 4";
210 | "Watch4,4" = "Apple Watch Series 4";
211 | "Watch5,1" = "Apple Watch Series 5";
212 | "Watch5,2" = "Apple Watch Series 5";
213 | "Watch5,3" = "Apple Watch Series 5";
214 | "Watch5,4" = "Apple Watch Series 5";
215 | "Watch5,9" = "Apple Watch SE (1. Generation)";
216 | "Watch5,10" = "Apple Watch SE (1. Generation)";
217 | "Watch5,11" = "Apple Watch SE (1. Generation)";
218 | "Watch5,12" = "Apple Watch SE (1. Generation)";
219 | "Watch6,1" = "Apple Watch Series 6";
220 | "Watch6,2" = "Apple Watch Series 6";
221 | "Watch6,3" = "Apple Watch Series 6";
222 | "Watch6,4" = "Apple Watch Series 6";
223 | "Watch6,6" = "Apple Watch Series 7";
224 | "Watch6,7" = "Apple Watch Series 7";
225 | "Watch6,8" = "Apple Watch Series 7";
226 | "Watch6,9" = "Apple Watch Series 7";
227 | "Watch6,10" = "Apple Watch SE (2. Generation)";
228 | "Watch6,11" = "Apple Watch SE (2. Generation)";
229 | "Watch6,12" = "Apple Watch SE (2. Generation)";
230 | "Watch6,13" = "Apple Watch SE (2. Generation)";
231 | "Watch6,14" = "Apple Watch Series 8";
232 | "Watch6,15" = "Apple Watch Series 8";
233 | "Watch6,16" = "Apple Watch Series 8";
234 | "Watch6,17" = "Apple Watch Series 8";
235 | "Watch6,18" = "Apple Watch Ultra";
236 | "Watch7,1" = "Apple Watch Series 9";
237 | "Watch7,2" = "Apple Watch Series 9";
238 | "Watch7,3" = "Apple Watch Series 9";
239 | "Watch7,4" = "Apple Watch Series 9";
240 | "Watch7,5" = "Apple Watch Ultra 2";
241 | "Watch7,8" = "Apple Watch Series 10";
242 | "Watch7,9" = "Apple Watch Series 10";
243 | "Watch7,10" = "Apple Watch Series 10";
244 | "Watch7,11" = "Apple Watch Series 10";
245 | "Watch7,12" = "Apple Watch Ultra 3";
246 | "Watch7,13" = "Apple Watch SE 3";
247 | "Watch7,14" = "Apple Watch SE 3";
248 | "Watch7,15" = "Apple Watch SE 3";
249 | "Watch7,16" = "Apple Watch SE 3";
250 | "Watch7,17" = "Apple Watch Series 11";
251 | "Watch7,18" = "Apple Watch Series 11";
252 | "Watch7,19" = "Apple Watch Series 11";
253 | "Watch7,20" = "Apple Watch Series 11";
254 |
255 |
256 | // MARK: Developer models
257 | "i386" = "Simulatore";
258 | "x86_64" = "Simulatore";
259 |
--------------------------------------------------------------------------------
/Sources/LocalizedDeviceModel/Resources/en.lproj/DeviceModel.strings:
--------------------------------------------------------------------------------
1 | /*
2 | DeviceModel.strings
3 | BDLocalizedDevicesModels
4 |
5 | Created by Benoit Deldicque on 02/10/2017.
6 | Copyright © 2017 Benoit Deldicque. All rights reserved.
7 | */
8 |
9 | // MARK: iPhone models
10 | "iPhone1,1" = "iPhone 2G";
11 | "iPhone1,2" = "iPhone 3G";
12 | "iPhone2,1" = "iPhone 3GS";
13 | "iPhone3,1" = "iPhone 4";
14 | "iPhone3,2" = "iPhone 4";
15 | "iPhone3,3" = "iPhone 4";
16 | "iPhone4,1" = "iPhone 4S";
17 | "iPhone5,1" = "iPhone 5";
18 | "iPhone5,2" = "iPhone 5";
19 | "iPhone5,3" = "iPhone 5c";
20 | "iPhone5,4" = "iPhone 5c";
21 | "iPhone6,1" = "iPhone 5s";
22 | "iPhone6,2" = "iPhone 5s";
23 | "iPhone7,1" = "iPhone 6 Plus";
24 | "iPhone7,2" = "iPhone 6";
25 | "iPhone8,2" = "iPhone 6s Plus";
26 | "iPhone8,1" = "iPhone 6s";
27 | "iPhone8,4" = "iPhone SE";
28 | "iPhone9,1" = "iPhone 7";
29 | "iPhone9,2" = "iPhone 7 Plus";
30 | "iPhone9,3" = "iPhone 7";
31 | "iPhone9,4" = "iPhone 7 Plus";
32 | "iPhone10,1" = "iPhone 8";
33 | "iPhone10,2" = "iPhone 8 Plus";
34 | "iPhone10,3" = "iPhone X";
35 | "iPhone10,4" = "iPhone 8";
36 | "iPhone10,5" = "iPhone 8 Plus";
37 | "iPhone10,6" = "iPhone X";
38 | "iPhone11,2" = "iPhone XS";
39 | "iPhone11,4" = "iPhone XS Max";
40 | "iPhone11,6" = "iPhone XS Max";
41 | "iPhone11,8" = "iPhone XR";
42 | "iPhone12,1" = "iPhone 11";
43 | "iPhone12,3" = "iPhone 11 Pro";
44 | "iPhone12,5" = "iPhone 11 Pro Max";
45 | "iPhone12,8" = "iPhone SE (2nd generation)";
46 | "iPhone13,1" = "iPhone 12 mini";
47 | "iPhone13,2" = "iPhone 12";
48 | "iPhone13,3" = "iPhone 12 Pro";
49 | "iPhone13,4" = "iPhone 12 Pro Max";
50 | "iPhone14,2" = "iPhone 13 Pro";
51 | "iPhone14,3" = "iPhone 13 Pro Max";
52 | "iPhone14,4" = "iPhone 13 mini";
53 | "iPhone14,5" = "iPhone 13";
54 | "iPhone14,6" = "iPhone SE (3rd generation)";
55 | "iPhone14,7" = "iPhone 14";
56 | "iPhone14,8" = "iPhone 14 Plus";
57 | "iPhone15,2" = "iPhone 14 Pro";
58 | "iPhone15,3" = "iPhone 14 Pro Max";
59 | "iPhone15,4" = "iPhone 15";
60 | "iPhone15,5" = "iPhone 15 Plus";
61 | "iPhone16,1" = "iPhone 15 Pro";
62 | "iPhone16,2" = "iPhone 15 Pro Max";
63 | "iPhone17,1" = "iPhone 16 Pro";
64 | "iPhone17,2" = "iPhone 16 Pro Max";
65 | "iPhone17,3" = "iPhone 16";
66 | "iPhone17,4" = "iPhone 16 Plus";
67 | "iPhone17,5" = "iPhone 16e";
68 | "iPhone18,1" = "iPhone 17 Pro";
69 | "iPhone18,2" = "iPhone 17 Pro Max";
70 | "iPhone18,3" = "iPhone 17";
71 | "iPhone18,4" = "iPhone 17 Air";
72 |
73 |
74 | // MARK: iPod touch models
75 | "iPod1,1" = "iPod touch";
76 | "iPod2,1" = "iPod touch (2nd generation)";
77 | "iPod3,1" = "iPod touch (3rd generation)";
78 | "iPod4,1" = "iPod touch (4th generation)";
79 | "iPod5,1" = "iPod touch (5th generation)";
80 | "iPod7,1" = "iPod touch (6th generation)";
81 | "iPod9,1" = "iPod touch (7th generation)";
82 |
83 |
84 | // MARK: iPad models
85 | "iPad1,1" = "iPad";
86 | "iPad1,2" = "iPad";
87 | "iPad2,1" = "iPad 2";
88 | "iPad2,2" = "iPad 2";
89 | "iPad2,3" = "iPad 2";
90 | "iPad2,4" = "iPad 2";
91 | "iPad2,5" = "iPad mini";
92 | "iPad2,6" = "iPad mini";
93 | "iPad2,7" = "iPad mini";
94 | "iPad3,1" = "iPad (3rd generation)";
95 | "iPad3,2" = "iPad (3rd generation)";
96 | "iPad3,3" = "iPad (3rd generation)";
97 | "iPad3,4" = "iPad (4th generation)";
98 | "iPad3,5" = "iPad (4th generation)";
99 | "iPad3,6" = "iPad (4th generation)";
100 | "iPad4,1" = "iPad Air";
101 | "iPad4,2" = "iPad Air";
102 | "iPad4,3" = "iPad Air";
103 | "iPad4,4" = "iPad mini 2";
104 | "iPad4,5" = "iPad mini 2";
105 | "iPad4,6" = "iPad mini 2";
106 | "iPad4,7" = "iPad mini 3";
107 | "iPad4,8" = "iPad mini 3";
108 | "iPad4,9" = "iPad mini 3";
109 | "iPad5,1" = "iPad mini 4";
110 | "iPad5,2" = "iPad mini 4";
111 | "iPad5,3" = "iPad Air 2";
112 | "iPad5,4" = "iPad Air 2";
113 | "iPad6,3" = "iPad Pro (9.7-inch)";
114 | "iPad6,4" = "iPad Pro (9.7-inch)";
115 | "iPad6,7" = "iPad Pro (12.9-inch)";
116 | "iPad6,8" = "iPad Pro (12.9-inch)";
117 | "iPad6,11" = "iPad (5th generation)";
118 | "iPad6,12" = "iPad (5th generation)";
119 | "iPad7,1" = "iPad Pro 12.9-inch (2nd generation)";
120 | "iPad7,2" = "iPad Pro 12.9-inch (2nd generation)";
121 | "iPad7,3" = "iPad Pro (10.5-inch)";
122 | "iPad7,4" = "iPad Pro (10.5-inch)";
123 | "iPad7,5" = "iPad (6th generation)";
124 | "iPad7,6" = "iPad (6th generation)";
125 | "iPad7,11" = "iPad (7th generation)";
126 | "iPad7,12" = "iPad (7th generation)";
127 | "iPad8,1" = "iPad Pro (11-inch)";
128 | "iPad8,2" = "iPad Pro (11-inch)";
129 | "iPad8,3" = "iPad Pro (11-inch)";
130 | "iPad8,4" = "iPad Pro (11-inch)";
131 | "iPad8,5" = "iPad Pro 12.9-inch (3rd generation)";
132 | "iPad8,6" = "iPad Pro 12.9-inch (3rd generation)";
133 | "iPad8,7" = "iPad Pro 12.9-inch (3rd generation)";
134 | "iPad8,8" = "iPad Pro 12.9-inch (3rd generation)";
135 | "iPad8,9" = "iPad Pro 11-inch (2nd generation)";
136 | "iPad8,10" = "iPad Pro 11-inch (2nd generation)";
137 | "iPad8,11" = "iPad Pro 12.9-inch (4th generation)";
138 | "iPad8,12" = "iPad Pro 12.9-inch (4th generation)";
139 | "iPad11,1" = "iPad mini (5th generation)";
140 | "iPad11,2" = "iPad mini (5th generation)";
141 | "iPad11,3" = "iPad Air (3rd generation)";
142 | "iPad11,4" = "iPad Air (3rd generation)";
143 | "iPad11,6" = "iPad (8th generation)";
144 | "iPad11,7" = "iPad (8th generation)";
145 | "iPad12,1" = "iPad (9th generation)";
146 | "iPad12,2" = "iPad (9th generation)";
147 | "iPad13,1" = "iPad Air (4th generation)";
148 | "iPad13,2" = "iPad Air (4th generation)";
149 | "iPad13,4" = "iPad Pro 11-inch (3rd generation)";
150 | "iPad13,5" = "iPad Pro 11-inch (3rd generation)";
151 | "iPad13,6" = "iPad Pro 11-inch (3rd generation)";
152 | "iPad13,7" = "iPad Pro 11-inch (3rd generation)";
153 | "iPad13,8" = "iPad Pro 12.9-inch (5th generation)";
154 | "iPad13,9" = "iPad Pro 12.9-inch (5th generation)";
155 | "iPad13,10" = "iPad Pro 12.9-inch (5th generation)";
156 | "iPad13,11" = "iPad Pro 12.9-inch (5th generation)";
157 | "iPad13,16" = "iPad Air (5th generation)";
158 | "iPad13,17" = "iPad Air (5th generation)";
159 | "iPad13,18" = "iPad (10th generation)";
160 | "iPad13,19" = "iPad (10th generation)";
161 | "iPad14,1" = "iPad mini (6th generation)";
162 | "iPad14,2" = "iPad mini (6th generation)";
163 | "iPad14,3" = "iPad Pro 11-inch (4th generation)";
164 | "iPad14,4" = "iPad Pro 11-inch (4th generation)";
165 | "iPad14,5" = "iPad Pro 12.9-inch (6th generation)";
166 | "iPad14,6" = "iPad Pro 12.9-inch (6th generation)";
167 | "iPad14,8" = "iPad Air 11-inch (M2)";
168 | "iPad14,9" = "iPad Air 11-inch (M2)";
169 | "iPad14,10" = "iPad Air 13-inch (M2)";
170 | "iPad14,11" = "iPad Air 13-inch (M2)";
171 | "iPad15,3" = "iPad Air 11-inch (M3)";
172 | "iPad15,4" = "iPad Air 11-inch (M3)";
173 | "iPad15,5" = "iPad Air 13-inch (M3)";
174 | "iPad15,6" = "iPad Air 13-inch (M3)";
175 | "iPad15,7" = "iPad (A16)";
176 | "iPad15,8" = "iPad (A16)";
177 | "iPad16,1" = "iPad mini (A17 Pro)";
178 | "iPad16,2" = "iPad mini (A17 Pro)";
179 | "iPad16,3" = "iPad Pro 11-inch (M4)";
180 | "iPad16,4" = "iPad Pro 11-inch (M4)";
181 | "iPad16,5" = "iPad Pro 13-inch (M4)";
182 | "iPad16,6" = "iPad Pro 13-inch (M4)";
183 |
184 |
185 | // MARK: Apple TV models
186 | "AppleTV1,1" = "Apple TV (1st generation)";
187 | "AppleTV2,1" = "Apple TV (2nd generation)";
188 | "AppleTV3,1" = "Apple TV (3rd generation)";
189 | "AppleTV3,2" = "Apple TV (3rd generation)";
190 | "AppleTV5,3" = "Apple TV HD";
191 | "AppleTV6,2" = "Apple TV 4K";
192 | "AppleTV11,1" = "Apple TV 4K (2nd generation)";
193 | "AppleTV14,1" = "Apple TV 4K (3rd generation)";
194 |
195 |
196 | // MARK: Apple Watch models
197 | "Watch1,1" = "Apple Watch (1st generation)";
198 | "Watch1,2" = "Apple Watch (2nd generation)";
199 | "Watch2,3" = "Apple Watch Series 2";
200 | "Watch2,4" = "Apple Watch Series 2";
201 | "Watch2,6" = "Apple Watch Series 1";
202 | "Watch2,7" = "Apple Watch Series 1";
203 | "Watch3,1" = "Apple Watch Series 3";
204 | "Watch3,2" = "Apple Watch Series 3";
205 | "Watch3,3" = "Apple Watch Series 3";
206 | "Watch3,4" = "Apple Watch Series 3";
207 | "Watch4,1" = "Apple Watch Series 4";
208 | "Watch4,2" = "Apple Watch Series 4";
209 | "Watch4,3" = "Apple Watch Series 4";
210 | "Watch4,4" = "Apple Watch Series 4";
211 | "Watch5,1" = "Apple Watch Series 5";
212 | "Watch5,2" = "Apple Watch Series 5";
213 | "Watch5,3" = "Apple Watch Series 5";
214 | "Watch5,4" = "Apple Watch Series 5";
215 | "Watch5,9" = "Apple Watch SE (1st generation)";
216 | "Watch5,10" = "Apple Watch SE (1st generation)";
217 | "Watch5,11" = "Apple Watch SE (1st generation)";
218 | "Watch5,12" = "Apple Watch SE (1st generation)";
219 | "Watch6,1" = "Apple Watch Series 6";
220 | "Watch6,2" = "Apple Watch Series 6";
221 | "Watch6,3" = "Apple Watch Series 6";
222 | "Watch6,4" = "Apple Watch Series 6";
223 | "Watch6,6" = "Apple Watch Series 7";
224 | "Watch6,7" = "Apple Watch Series 7";
225 | "Watch6,8" = "Apple Watch Series 7";
226 | "Watch6,9" = "Apple Watch Series 7";
227 | "Watch6,10" = "Apple Watch SE (2nd generation)";
228 | "Watch6,11" = "Apple Watch SE (2nd generation)";
229 | "Watch6,12" = "Apple Watch SE (2nd generation)";
230 | "Watch6,13" = "Apple Watch SE (2nd generation)";
231 | "Watch6,14" = "Apple Watch Series 8";
232 | "Watch6,15" = "Apple Watch Series 8";
233 | "Watch6,16" = "Apple Watch Series 8";
234 | "Watch6,17" = "Apple Watch Series 8";
235 | "Watch6,18" = "Apple Watch Ultra";
236 | "Watch7,1" = "Apple Watch Series 9";
237 | "Watch7,2" = "Apple Watch Series 9";
238 | "Watch7,3" = "Apple Watch Series 9";
239 | "Watch7,4" = "Apple Watch Series 9";
240 | "Watch7,5" = "Apple Watch Ultra 2";
241 | "Watch7,8" = "Apple Watch Series 10";
242 | "Watch7,9" = "Apple Watch Series 10";
243 | "Watch7,10" = "Apple Watch Series 10";
244 | "Watch7,11" = "Apple Watch Series 10";
245 | "Watch7,12" = "Apple Watch Ultra 3";
246 | "Watch7,13" = "Apple Watch SE 3";
247 | "Watch7,14" = "Apple Watch SE 3";
248 | "Watch7,15" = "Apple Watch SE 3";
249 | "Watch7,16" = "Apple Watch SE 3";
250 | "Watch7,17" = "Apple Watch Series 11";
251 | "Watch7,18" = "Apple Watch Series 11";
252 | "Watch7,19" = "Apple Watch Series 11";
253 | "Watch7,20" = "Apple Watch Series 11";
254 |
255 |
256 | // MARK: Developer models
257 | "i386" = "Simulator";
258 | "x86_64" = "Simulator";
259 |
--------------------------------------------------------------------------------
/Sources/LocalizedDeviceModel/Resources/fr.lproj/DeviceModel.strings:
--------------------------------------------------------------------------------
1 | /*
2 | DeviceModel.strings
3 | BDLocalizedDevicesModels
4 |
5 | Created by Benoit Deldicque on 02/10/2017.
6 | Copyright © 2017 Benoit Deldicque. All rights reserved.
7 | */
8 |
9 | // MARK: iPhone models
10 | "iPhone1,1" = "iPhone 2G";
11 | "iPhone1,2" = "iPhone 3G";
12 | "iPhone2,1" = "iPhone 3GS";
13 | "iPhone3,1" = "iPhone 4";
14 | "iPhone3,2" = "iPhone 4";
15 | "iPhone3,3" = "iPhone 4";
16 | "iPhone4,1" = "iPhone 4S";
17 | "iPhone5,1" = "iPhone 5";
18 | "iPhone5,2" = "iPhone 5";
19 | "iPhone5,3" = "iPhone 5c";
20 | "iPhone5,4" = "iPhone 5c";
21 | "iPhone6,1" = "iPhone 5s";
22 | "iPhone6,2" = "iPhone 5s";
23 | "iPhone7,1" = "iPhone 6 Plus";
24 | "iPhone7,2" = "iPhone 6";
25 | "iPhone8,2" = "iPhone 6s Plus";
26 | "iPhone8,1" = "iPhone 6s";
27 | "iPhone8,4" = "iPhone SE";
28 | "iPhone9,1" = "iPhone 7";
29 | "iPhone9,2" = "iPhone 7 Plus";
30 | "iPhone9,3" = "iPhone 7";
31 | "iPhone9,4" = "iPhone 7 Plus";
32 | "iPhone10,1" = "iPhone 8";
33 | "iPhone10,2" = "iPhone 8 Plus";
34 | "iPhone10,3" = "iPhone X";
35 | "iPhone10,4" = "iPhone 8";
36 | "iPhone10,5" = "iPhone 8 Plus";
37 | "iPhone10,6" = "iPhone X";
38 | "iPhone11,2" = "iPhone XS";
39 | "iPhone11,4" = "iPhone XS Max";
40 | "iPhone11,6" = "iPhone XS Max";
41 | "iPhone11,8" = "iPhone XR";
42 | "iPhone12,1" = "iPhone 11";
43 | "iPhone12,3" = "iPhone 11 Pro";
44 | "iPhone12,5" = "iPhone 11 Pro Max";
45 | "iPhone12,8" = "iPhone SE (2e génération)";
46 | "iPhone13,1" = "iPhone 12 mini";
47 | "iPhone13,2" = "iPhone 12";
48 | "iPhone13,3" = "iPhone 12 Pro";
49 | "iPhone13,4" = "iPhone 12 Pro Max";
50 | "iPhone14,2" = "iPhone 13 Pro";
51 | "iPhone14,3" = "iPhone 13 Pro Max";
52 | "iPhone14,4" = "iPhone 13 mini";
53 | "iPhone14,5" = "iPhone 13";
54 | "iPhone14,6" = "iPhone SE (3e génération)";
55 | "iPhone14,7" = "iPhone 14";
56 | "iPhone14,8" = "iPhone 14 Plus";
57 | "iPhone15,2" = "iPhone 14 Pro";
58 | "iPhone15,3" = "iPhone 14 Pro Max";
59 | "iPhone15,4" = "iPhone 15";
60 | "iPhone15,5" = "iPhone 15 Plus";
61 | "iPhone16,1" = "iPhone 15 Pro";
62 | "iPhone16,2" = "iPhone 15 Pro Max";
63 | "iPhone17,1" = "iPhone 16 Pro";
64 | "iPhone17,2" = "iPhone 16 Pro Max";
65 | "iPhone17,3" = "iPhone 16";
66 | "iPhone17,4" = "iPhone 16 Plus";
67 | "iPhone17,5" = "iPhone 16e";
68 | "iPhone18,1" = "iPhone 17 Pro";
69 | "iPhone18,2" = "iPhone 17 Pro Max";
70 | "iPhone18,3" = "iPhone 17";
71 | "iPhone18,4" = "iPhone 17 Air";
72 |
73 |
74 | // MARK: iPod touch models
75 | "iPod1,1" = "iPod touch";
76 | "iPod2,1" = "iPod touch (2e génération)";
77 | "iPod3,1" = "iPod touch (3e génération)";
78 | "iPod4,1" = "iPod touch (4e génération)";
79 | "iPod5,1" = "iPod touch (5e génération)";
80 | "iPod7,1" = "iPod touch (6e génération)";
81 | "iPod9,1" = "iPod touch (7e génération)";
82 |
83 |
84 | // MARK: iPad models
85 | "iPad1,1" = "iPad";
86 | "iPad1,2" = "iPad";
87 | "iPad2,1" = "iPad 2";
88 | "iPad2,2" = "iPad 2";
89 | "iPad2,3" = "iPad 2";
90 | "iPad2,4" = "iPad 2";
91 | "iPad2,5" = "iPad mini";
92 | "iPad2,6" = "iPad mini";
93 | "iPad2,7" = "iPad mini";
94 | "iPad3,1" = "iPad (3e génération)";
95 | "iPad3,2" = "iPad (3e génération)";
96 | "iPad3,3" = "iPad (3e génération)";
97 | "iPad3,4" = "iPad (4e génération)";
98 | "iPad3,5" = "iPad (4e génération)";
99 | "iPad3,6" = "iPad (4e génération)";
100 | "iPad4,1" = "iPad Air";
101 | "iPad4,2" = "iPad Air";
102 | "iPad4,3" = "iPad Air";
103 | "iPad4,4" = "iPad mini 2";
104 | "iPad4,5" = "iPad mini 2";
105 | "iPad4,6" = "iPad mini 2";
106 | "iPad4,7" = "iPad mini 3";
107 | "iPad4,8" = "iPad mini 3";
108 | "iPad4,9" = "iPad mini 3";
109 | "iPad5,1" = "iPad mini 4";
110 | "iPad5,2" = "iPad mini 4";
111 | "iPad5,3" = "iPad Air 2";
112 | "iPad5,4" = "iPad Air 2";
113 | "iPad6,3" = "iPad Pro (9,7 pouces)";
114 | "iPad6,4" = "iPad Pro (9,7 pouces)";
115 | "iPad6,7" = "iPad Pro (12,9 pouces)";
116 | "iPad6,8" = "iPad Pro (12,9 pouces)";
117 | "iPad6,11" = "iPad (5e génération)";
118 | "iPad6,12" = "iPad (5e génération)";
119 | "iPad7,1" = "iPad Pro 12,9 pouces (2e génération)";
120 | "iPad7,2" = "iPad Pro 12,9 pouces (2e génération)";
121 | "iPad7,3" = "iPad Pro (10,5 pouces)";
122 | "iPad7,4" = "iPad Pro (10,5 pouces)";
123 | "iPad7,5" = "iPad (6e génération)";
124 | "iPad7,6" = "iPad (6e génération)";
125 | "iPad7,11" = "iPad (7e génération)";
126 | "iPad7,12" = "iPad (7e génération)";
127 | "iPad8,1" = "iPad Pro (11 pouces)";
128 | "iPad8,2" = "iPad Pro (11 pouces)";
129 | "iPad8,3" = "iPad Pro (11 pouces)";
130 | "iPad8,4" = "iPad Pro (11 pouces)";
131 | "iPad8,5" = "iPad Pro 12,9 pouces (3e génération)";
132 | "iPad8,6" = "iPad Pro 12,9 pouces (3e génération)";
133 | "iPad8,7" = "iPad Pro 12,9 pouces (3e génération)";
134 | "iPad8,8" = "iPad Pro 12,9 pouces (3e génération)";
135 | "iPad8,9" = "iPad Pro 11 pouces (2e génération)";
136 | "iPad8,10" = "iPad Pro 11 pouces (2e génération)";
137 | "iPad8,11" = "iPad Pro 12,9 pouces (4e génération)";
138 | "iPad8,12" = "iPad Pro 12,9 pouces (4e génération)";
139 | "iPad11,1" = "iPad mini (5e génération)";
140 | "iPad11,2" = "iPad mini (5e génération)";
141 | "iPad11,3" = "iPad Air (3e génération)";
142 | "iPad11,4" = "iPad Air (3e génération)";
143 | "iPad11,6" = "iPad (8e génération)";
144 | "iPad11,7" = "iPad (8e génération)";
145 | "iPad12,1" = "iPad (9e génération)";
146 | "iPad12,2" = "iPad (9e génération)";
147 | "iPad13,1" = "iPad Air (4e génération)";
148 | "iPad13,2" = "iPad Air (4e génération)";
149 | "iPad13,4" = "iPad Pro 11 pouces (3e génération)";
150 | "iPad13,5" = "iPad Pro 11 pouces (3e génération)";
151 | "iPad13,6" = "iPad Pro 11 pouces (3e génération)";
152 | "iPad13,7" = "iPad Pro 11 pouces (3e génération)";
153 | "iPad13,8" = "iPad Pro 12,9 pouces (5e génération)";
154 | "iPad13,9" = "iPad Pro 12,9 pouces (5e génération)";
155 | "iPad13,10" = "iPad Pro 12,9 pouces (5e génération)";
156 | "iPad13,11" = "iPad Pro 12,9 pouces (5e génération)";
157 | "iPad13,16" = "iPad Air (5e génération)";
158 | "iPad13,17" = "iPad Air (5e génération)";
159 | "iPad13,18" = "iPad (10e génération)";
160 | "iPad13,19" = "iPad (10e génération)";
161 | "iPad14,1" = "iPad mini (6e génération)";
162 | "iPad14,2" = "iPad mini (6e génération)";
163 | "iPad14,3" = "iPad Pro 11 pouces (4e génération)";
164 | "iPad14,4" = "iPad Pro 11 pouces (4e génération)";
165 | "iPad14,5" = "iPad Pro 12,9 pouces (6e génération)";
166 | "iPad14,6" = "iPad Pro 12,9 pouces (6e génération)";
167 | "iPad14,8" = "iPad Air 11 pouces (M2)";
168 | "iPad14,9" = "iPad Air 11 pouces (M2)";
169 | "iPad14,10" = "iPad Air 13 pouces (M2)";
170 | "iPad14,11" = "iPad Air 13 pouces (M2)";
171 | "iPad15,3" = "iPad Air 11 pouces (M3)";
172 | "iPad15,4" = "iPad Air 11 pouces (M3)";
173 | "iPad15,5" = "iPad Air 13 pouces (M3)";
174 | "iPad15,6" = "iPad Air 13 pouces (M3)";
175 | "iPad15,7" = "iPad (A16)";
176 | "iPad15,8" = "iPad (A16)";
177 | "iPad16,1" = "iPad mini (A17 Pro)";
178 | "iPad16,2" = "iPad mini (A17 Pro)";
179 | "iPad16,3" = "iPad Pro 11 pouces (M4)";
180 | "iPad16,4" = "iPad Pro 11 pouces (M4)";
181 | "iPad16,5" = "iPad Pro 13 pouces (M4)";
182 | "iPad16,6" = "iPad Pro 13 pouces (M4)";
183 |
184 | // MARK: Apple TV models
185 | "AppleTV1,1" = "Apple TV (1e génération)";
186 | "AppleTV2,1" = "Apple TV (2e génération)";
187 | "AppleTV3,1" = "Apple TV (3e génération)";
188 | "AppleTV3,2" = "Apple TV (3e génération)";
189 | "AppleTV5,3" = "Apple TV HD";
190 | "AppleTV6,2" = "Apple TV 4K";
191 | "AppleTV11,1" = "Apple TV 4K (2e génération)";
192 | "AppleTV14,1" = "Apple TV 4K (3e génération)";
193 |
194 |
195 | // MARK: Apple Watch models
196 | "Watch1,1" = "Apple Watch (1e génération)";
197 | "Watch1,2" = "Apple Watch (2e génération)";
198 | "Watch2,3" = "Apple Watch Series 2";
199 | "Watch2,4" = "Apple Watch Series 2";
200 | "Watch2,6" = "Apple Watch Series 1";
201 | "Watch2,7" = "Apple Watch Series 1";
202 | "Watch3,1" = "Apple Watch Series 3";
203 | "Watch3,2" = "Apple Watch Series 3";
204 | "Watch3,3" = "Apple Watch Series 3";
205 | "Watch3,4" = "Apple Watch Series 3";
206 | "Watch4,1" = "Apple Watch Series 4";
207 | "Watch4,2" = "Apple Watch Series 4";
208 | "Watch4,3" = "Apple Watch Series 4";
209 | "Watch4,4" = "Apple Watch Series 4";
210 | "Watch5,1" = "Apple Watch Series 5";
211 | "Watch5,2" = "Apple Watch Series 5";
212 | "Watch5,3" = "Apple Watch Series 5";
213 | "Watch5,4" = "Apple Watch Series 5";
214 | "Watch5,9" = "Apple Watch SE (1e génération)";
215 | "Watch5,10" = "Apple Watch SE (1e génération)";
216 | "Watch5,11" = "Apple Watch SE (1e génération)";
217 | "Watch5,12" = "Apple Watch SE (1e génération)";
218 | "Watch6,1" = "Apple Watch Series 6";
219 | "Watch6,2" = "Apple Watch Series 6";
220 | "Watch6,3" = "Apple Watch Series 6";
221 | "Watch6,4" = "Apple Watch Series 6";
222 | "Watch6,6" = "Apple Watch Series 7";
223 | "Watch6,7" = "Apple Watch Series 7";
224 | "Watch6,8" = "Apple Watch Series 7";
225 | "Watch6,9" = "Apple Watch Series 7";
226 | "Watch6,10" = "Apple Watch SE (2e génération)";
227 | "Watch6,11" = "Apple Watch SE (2e génération)";
228 | "Watch6,12" = "Apple Watch SE (2e génération)";
229 | "Watch6,13" = "Apple Watch SE (2e génération)";
230 | "Watch6,14" = "Apple Watch Series 8";
231 | "Watch6,15" = "Apple Watch Series 8";
232 | "Watch6,16" = "Apple Watch Series 8";
233 | "Watch6,17" = "Apple Watch Series 8";
234 | "Watch6,18" = "Apple Watch Ultra";
235 | "Watch7,1" = "Apple Watch Series 9";
236 | "Watch7,2" = "Apple Watch Series 9";
237 | "Watch7,3" = "Apple Watch Series 9";
238 | "Watch7,4" = "Apple Watch Series 9";
239 | "Watch7,5" = "Apple Watch Ultra 2";
240 | "Watch7,8" = "Apple Watch Series 10";
241 | "Watch7,9" = "Apple Watch Series 10";
242 | "Watch7,10" = "Apple Watch Series 10";
243 | "Watch7,11" = "Apple Watch Series 10";
244 | "Watch7,12" = "Apple Watch Ultra 3";
245 | "Watch7,13" = "Apple Watch SE 3";
246 | "Watch7,14" = "Apple Watch SE 3";
247 | "Watch7,15" = "Apple Watch SE 3";
248 | "Watch7,16" = "Apple Watch SE 3";
249 | "Watch7,17" = "Apple Watch Series 11";
250 | "Watch7,18" = "Apple Watch Series 11";
251 | "Watch7,19" = "Apple Watch Series 11";
252 | "Watch7,20" = "Apple Watch Series 11";
253 |
254 |
255 | // MARK: Developer models
256 | "i386" = "Simulateur";
257 | "x86_64" = "Simulateur";
258 |
--------------------------------------------------------------------------------
/Sources/LocalizedDeviceModel/Resources/pt.lproj/DeviceModel.strings:
--------------------------------------------------------------------------------
1 | /*
2 | DeviceModel.strings
3 | BDLocalizedDevicesModels
4 |
5 | Created by Benoit Deldicque on 29/06/2018.
6 | Copyright © 2017 Benoit Deldicque. All rights reserved.
7 | */
8 |
9 | // MARK: iPhone models
10 | "iPhone1,1" = "iPhone 2G";
11 | "iPhone1,2" = "iPhone 3G";
12 | "iPhone2,1" = "iPhone 3GS";
13 | "iPhone3,1" = "iPhone 4";
14 | "iPhone3,2" = "iPhone 4";
15 | "iPhone3,3" = "iPhone 4";
16 | "iPhone4,1" = "iPhone 4S";
17 | "iPhone5,1" = "iPhone 5";
18 | "iPhone5,2" = "iPhone 5";
19 | "iPhone5,3" = "iPhone 5c";
20 | "iPhone5,4" = "iPhone 5c";
21 | "iPhone6,1" = "iPhone 5s";
22 | "iPhone6,2" = "iPhone 5s";
23 | "iPhone7,1" = "iPhone 6 Plus";
24 | "iPhone7,2" = "iPhone 6";
25 | "iPhone8,2" = "iPhone 6s Plus";
26 | "iPhone8,1" = "iPhone 6s";
27 | "iPhone8,4" = "iPhone SE";
28 | "iPhone9,1" = "iPhone 7";
29 | "iPhone9,2" = "iPhone 7 Plus";
30 | "iPhone9,3" = "iPhone 7";
31 | "iPhone9,4" = "iPhone 7 Plus";
32 | "iPhone10,1" = "iPhone 8";
33 | "iPhone10,2" = "iPhone 8 Plus";
34 | "iPhone10,3" = "iPhone X";
35 | "iPhone10,4" = "iPhone 8";
36 | "iPhone10,5" = "iPhone 8 Plus";
37 | "iPhone10,6" = "iPhone X";
38 | "iPhone11,2" = "iPhone XS";
39 | "iPhone11,4" = "iPhone XS Max";
40 | "iPhone11,6" = "iPhone XS Max";
41 | "iPhone11,8" = "iPhone XR";
42 | "iPhone12,1" = "iPhone 11";
43 | "iPhone12,3" = "iPhone 11 Pro";
44 | "iPhone12,5" = "iPhone 11 Pro Max";
45 | "iPhone12,8" = "iPhone SE (2.ª geração)";
46 | "iPhone13,1" = "iPhone 12 mini";
47 | "iPhone13,2" = "iPhone 12";
48 | "iPhone13,3" = "iPhone 12 Pro";
49 | "iPhone13,4" = "iPhone 12 Pro Max";
50 | "iPhone14,2" = "iPhone 13 Pro";
51 | "iPhone14,3" = "iPhone 13 Pro Max";
52 | "iPhone14,4" = "iPhone 13 mini";
53 | "iPhone14,5" = "iPhone 13";
54 | "iPhone14,6" = "iPhone SE (3.ª geração)";
55 | "iPhone14,7" = "iPhone 14";
56 | "iPhone14,8" = "iPhone 14 Plus";
57 | "iPhone15,2" = "iPhone 14 Pro";
58 | "iPhone15,3" = "iPhone 14 Pro Max";
59 | "iPhone15,4" = "iPhone 15";
60 | "iPhone15,5" = "iPhone 15 Plus";
61 | "iPhone16,1" = "iPhone 15 Pro";
62 | "iPhone16,2" = "iPhone 15 Pro Max";
63 | "iPhone17,1" = "iPhone 16 Pro";
64 | "iPhone17,2" = "iPhone 16 Pro Max";
65 | "iPhone17,3" = "iPhone 16";
66 | "iPhone17,4" = "iPhone 16 Plus";
67 | "iPhone17,5" = "iPhone 16e";
68 | "iPhone18,1" = "iPhone 17 Pro";
69 | "iPhone18,2" = "iPhone 17 Pro Max";
70 | "iPhone18,3" = "iPhone 17";
71 | "iPhone18,4" = "iPhone 17 Air";
72 |
73 |
74 | // MARK: iPod touch models
75 | "iPod1,1" = "iPod touch";
76 | "iPod2,1" = "iPod touch (2.ª geração)";
77 | "iPod3,1" = "iPod touch (3.ª geração)";
78 | "iPod4,1" = "iPod touch (4.ª geração)";
79 | "iPod5,1" = "iPod touch (5.ª geração)";
80 | "iPod7,1" = "iPod touch (6.ª geração)";
81 | "iPod9,1" = "iPod touch (7.ª geração)";
82 |
83 |
84 | // MARK: iPad models
85 | "iPad1,1" = "iPad";
86 | "iPad1,2" = "iPad";
87 | "iPad2,1" = "iPad 2";
88 | "iPad2,2" = "iPad 2";
89 | "iPad2,3" = "iPad 2";
90 | "iPad2,4" = "iPad 2";
91 | "iPad2,5" = "iPad mini";
92 | "iPad2,6" = "iPad mini";
93 | "iPad2,7" = "iPad mini";
94 | "iPad3,1" = "iPad (3.ª geração)";
95 | "iPad3,2" = "iPad (3.ª geração)";
96 | "iPad3,3" = "iPad (3.ª geração)";
97 | "iPad3,4" = "iPad (4.ª geração)";
98 | "iPad3,5" = "iPad (4.ª geração)";
99 | "iPad3,6" = "iPad (4.ª geração)";
100 | "iPad4,1" = "iPad Air";
101 | "iPad4,2" = "iPad Air";
102 | "iPad4,3" = "iPad Air";
103 | "iPad4,4" = "iPad mini 2";
104 | "iPad4,5" = "iPad mini 2";
105 | "iPad4,6" = "iPad mini 2";
106 | "iPad4,7" = "iPad mini 3";
107 | "iPad4,8" = "iPad mini 3";
108 | "iPad4,9" = "iPad mini 3";
109 | "iPad5,1" = "iPad mini 4";
110 | "iPad5,2" = "iPad mini 4";
111 | "iPad5,3" = "iPad Air 2";
112 | "iPad5,4" = "iPad Air 2";
113 | "iPad6,3" = "iPad Pro de 9,7 polegadas";
114 | "iPad6,4" = "iPad Pro de 9,7 polegadas";
115 | "iPad6,7" = "iPad Pro (12,9 polegadas)";
116 | "iPad6,8" = "iPad Pro (12,9 polegadas)";
117 | "iPad6,11" = "iPad (5.ª geração)";
118 | "iPad6,12" = "iPad (5.ª geração)";
119 | "iPad7,1" = "iPad Pro de 12,9 polegadas (2.ª geração)";
120 | "iPad7,2" = "iPad Pro de 12,9 polegadas (2.ª geração)";
121 | "iPad7,3" = "iPad Pro (10,5 polegadas)";
122 | "iPad7,4" = "iPad Pro (10,5 polegadas)";
123 | "iPad7,5" = "iPad (6.ª geração)";
124 | "iPad7,6" = "iPad (6.ª geração)";
125 | "iPad7,11" = "iPad (7.ª geração)";
126 | "iPad7,12" = "iPad (7.ª geração)";
127 | "iPad8,1" = "iPad Pro (11 polegadas)";
128 | "iPad8,2" = "iPad Pro (11 polegadas)";
129 | "iPad8,3" = "iPad Pro (11 polegadas)";
130 | "iPad8,4" = "iPad Pro (11 polegadas)";
131 | "iPad8,5" = "iPad Pro de 12,9 polegadas (3.ª geração)";
132 | "iPad8,6" = "iPad Pro de 12,9 polegadas (3.ª geração)";
133 | "iPad8,7" = "iPad Pro de 12,9 polegadas (3.ª geração)";
134 | "iPad8,8" = "iPad Pro de 12,9 polegadas (3.ª geração)";
135 | "iPad8,9" = "iPad Pro de 11 polegadas (2.ª geração)";
136 | "iPad8,10" = "iPad Pro de 11 polegadas (2.ª geração)";
137 | "iPad8,11" = "iPad Pro de 12,9 polegadas (4.ª geração)";
138 | "iPad8,12" = "iPad Pro de 12,9 polegadas (4.ª geração)";
139 | "iPad11,1" = "iPad mini (5.ª geração)";
140 | "iPad11,2" = "iPad mini (5.ª geração)";
141 | "iPad11,3" = "iPad Air (3.ª geração)";
142 | "iPad11,4" = "iPad Air (3.ª geração)";
143 | "iPad11,6" = "iPad (8.ª geração)";
144 | "iPad11,7" = "iPad (8.ª geração)";
145 | "iPad12,1" = "iPad (9.ª geração)";
146 | "iPad12,2" = "iPad (9.ª geração)";
147 | "iPad13,1" = "iPad Air (4.ª geração)";
148 | "iPad13,2" = "iPad Air (4.ª geração)";
149 | "iPad13,4" = "iPad Pro de 11 polegadas (3.ª geração)";
150 | "iPad13,5" = "iPad Pro de 11 polegadas (3.ª geração)";
151 | "iPad13,6" = "iPad Pro de 11 polegadas (3.ª geração)";
152 | "iPad13,7" = "iPad Pro de 11 polegadas (3.ª geração)";
153 | "iPad13,8" = "iPad Pro de 12,9 polegadas (5.ª geração)";
154 | "iPad13,9" = "iPad Pro de 12,9 polegadas (5.ª geração)";
155 | "iPad13,10" = "iPad Pro de 12,9 polegadas (5.ª geração)";
156 | "iPad13,11" = "iPad Pro de 12,9 polegadas (5.ª geração)";
157 | "iPad13,16" = "iPad Air (5.ª geração)";
158 | "iPad13,17" = "iPad Air (5.ª geração)";
159 | "iPad13,18" = "iPad (10.ª geração)";
160 | "iPad13,19" = "iPad (10.ª geração)";
161 | "iPad14,1" = "iPad mini (6.ª geração)";
162 | "iPad14,2" = "iPad mini (6.ª geração)";
163 | "iPad14,3" = "iPad Pro 11 polegadas (4.ª geração)";
164 | "iPad14,4" = "iPad Pro 11 polegadas (4.ª geração)";
165 | "iPad14,5" = "iPad Pro 12,9 polegadas (6.ª geração)";
166 | "iPad14,6" = "iPad Pro 12,9 polegadas (6.ª geração)";
167 | "iPad14,8" = "iPad Air 11 polegadas (M2)";
168 | "iPad14,9" = "iPad Air 11 polegadas (M2)";
169 | "iPad14,10" = "iPad Air 13 polegadas (M2)";
170 | "iPad14,11" = "iPad Air 13 polegadas (M2)";
171 | "iPad15,3" = "iPad Air 11 polegadas (M3)";
172 | "iPad15,4" = "iPad Air 11 polegadas (M3)";
173 | "iPad15,5" = "iPad Air 13 polegadas (M3)";
174 | "iPad15,6" = "iPad Air 13 polegadas (M3)";
175 | "iPad15,7" = "iPad (A16)";
176 | "iPad15,8" = "iPad (A16)";
177 | "iPad16,1" = "iPad mini (A17 Pro)";
178 | "iPad16,2" = "iPad mini (A17 Pro)";
179 | "iPad16,3" = "iPad Pro 11 polegadas (M4)";
180 | "iPad16,4" = "iPad Pro 11 polegadas (M4)";
181 | "iPad16,5" = "iPad Pro 13 polegadas (M4)";
182 | "iPad16,6" = "iPad Pro 13 polegadas (M4)";
183 |
184 |
185 | // MARK: Apple TV models
186 | "AppleTV1,1" = "Apple TV (1.ª geração)";
187 | "AppleTV2,1" = "Apple TV (2.ª geração)";
188 | "AppleTV3,1" = "Apple TV (3.ª geração)";
189 | "AppleTV3,2" = "Apple TV (3.ª geração)";
190 | "AppleTV5,3" = "Apple TV HD";
191 | "AppleTV6,2" = "Apple TV 4K";
192 | "AppleTV11,1" = "Apple TV 4K (2.ª geração)";
193 | "AppleTV14,1" = "Apple TV 4K (3.ª geração)";
194 |
195 |
196 | // MARK: Apple Watch models
197 | "Watch1,1" = "Apple Watch (1.ª geração)";
198 | "Watch1,2" = "Apple Watch (2.ª geração)";
199 | "Watch2,3" = "Apple Watch Series 2";
200 | "Watch2,4" = "Apple Watch Series 2";
201 | "Watch2,6" = "Apple Watch Series 1";
202 | "Watch2,7" = "Apple Watch Series 1";
203 | "Watch3,1" = "Apple Watch Series 3";
204 | "Watch3,2" = "Apple Watch Series 3";
205 | "Watch3,3" = "Apple Watch Series 3";
206 | "Watch3,4" = "Apple Watch Series 3";
207 | "Watch4,1" = "Apple Watch Series 4";
208 | "Watch4,2" = "Apple Watch Series 4";
209 | "Watch4,3" = "Apple Watch Series 4";
210 | "Watch4,4" = "Apple Watch Series 4";
211 | "Watch5,1" = "Apple Watch Series 5";
212 | "Watch5,2" = "Apple Watch Series 5";
213 | "Watch5,3" = "Apple Watch Series 5";
214 | "Watch5,4" = "Apple Watch Series 5";
215 | "Watch5,9" = "Apple Watch SE (1.ª geração)";
216 | "Watch5,10" = "Apple Watch SE (1.ª geração)";
217 | "Watch5,11" = "Apple Watch SE (1.ª geração)";
218 | "Watch5,12" = "Apple Watch SE (1.ª geração)";
219 | "Watch6,1" = "Apple Watch Series 6";
220 | "Watch6,2" = "Apple Watch Series 6";
221 | "Watch6,3" = "Apple Watch Series 6";
222 | "Watch6,4" = "Apple Watch Series 6";
223 | "Watch6,6" = "Apple Watch Series 7";
224 | "Watch6,7" = "Apple Watch Series 7";
225 | "Watch6,8" = "Apple Watch Series 7";
226 | "Watch6,9" = "Apple Watch Series 7";
227 | "Watch6,10" = "Apple Watch SE (2.ª geração)";
228 | "Watch6,11" = "Apple Watch SE (2.ª geração)";
229 | "Watch6,12" = "Apple Watch SE (2.ª geração)";
230 | "Watch6,13" = "Apple Watch SE (2.ª geração)";
231 | "Watch6,14" = "Apple Watch Series 8";
232 | "Watch6,15" = "Apple Watch Series 8";
233 | "Watch6,16" = "Apple Watch Series 8";
234 | "Watch6,17" = "Apple Watch Series 8";
235 | "Watch6,18" = "Apple Watch Ultra";
236 | "Watch7,1" = "Apple Watch Series 9";
237 | "Watch7,2" = "Apple Watch Series 9";
238 | "Watch7,3" = "Apple Watch Series 9";
239 | "Watch7,4" = "Apple Watch Series 9";
240 | "Watch7,5" = "Apple Watch Ultra 2";
241 | "Watch7,8" = "Apple Watch Series 10";
242 | "Watch7,9" = "Apple Watch Series 10";
243 | "Watch7,10" = "Apple Watch Series 10";
244 | "Watch7,11" = "Apple Watch Series 10";
245 | "Watch7,12" = "Apple Watch Ultra 3";
246 | "Watch7,13" = "Apple Watch SE 3";
247 | "Watch7,14" = "Apple Watch SE 3";
248 | "Watch7,15" = "Apple Watch SE 3";
249 | "Watch7,16" = "Apple Watch SE 3";
250 | "Watch7,17" = "Apple Watch Series 11";
251 | "Watch7,18" = "Apple Watch Series 11";
252 | "Watch7,19" = "Apple Watch Series 11";
253 | "Watch7,20" = "Apple Watch Series 11";
254 |
255 |
256 | // MARK: Developer models
257 | "i386" = "Simulador";
258 | "x86_64" = "Simulador";
259 |
--------------------------------------------------------------------------------
/Sources/LocalizedDeviceModel/Resources/ru.lproj/DeviceModel.strings:
--------------------------------------------------------------------------------
1 | /*
2 | DeviceModel.strings
3 | BDLocalizedDevicesModels
4 |
5 | Created by Benoit Deldicque on 01/08/2018.
6 | Copyright © 2018 Benoit Deldicque. All rights reserved.
7 | */
8 |
9 | // MARK: iPhone models
10 | "iPhone1,1" = "iPhone 2G";
11 | "iPhone1,2" = "iPhone 3G";
12 | "iPhone2,1" = "iPhone 3GS";
13 | "iPhone3,1" = "iPhone 4";
14 | "iPhone3,2" = "iPhone 4";
15 | "iPhone3,3" = "iPhone 4";
16 | "iPhone4,1" = "iPhone 4S";
17 | "iPhone5,1" = "iPhone 5";
18 | "iPhone5,2" = "iPhone 5";
19 | "iPhone5,3" = "iPhone 5c";
20 | "iPhone5,4" = "iPhone 5c";
21 | "iPhone6,1" = "iPhone 5s";
22 | "iPhone6,2" = "iPhone 5s";
23 | "iPhone7,1" = "iPhone 6 Plus";
24 | "iPhone7,2" = "iPhone 6";
25 | "iPhone8,2" = "iPhone 6s Plus";
26 | "iPhone8,1" = "iPhone 6s";
27 | "iPhone8,4" = "iPhone SE";
28 | "iPhone9,1" = "iPhone 7";
29 | "iPhone9,2" = "iPhone 7 Plus";
30 | "iPhone9,3" = "iPhone 7";
31 | "iPhone9,4" = "iPhone 7 Plus";
32 | "iPhone10,1" = "iPhone 8";
33 | "iPhone10,2" = "iPhone 8 Plus";
34 | "iPhone10,3" = "iPhone X";
35 | "iPhone10,4" = "iPhone 8";
36 | "iPhone10,5" = "iPhone 8 Plus";
37 | "iPhone10,6" = "iPhone X";
38 | "iPhone11,2" = "iPhone XS";
39 | "iPhone11,4" = "iPhone XS Max";
40 | "iPhone11,6" = "iPhone XS Max";
41 | "iPhone11,8" = "iPhone XR";
42 | "iPhone12,1" = "iPhone 11";
43 | "iPhone12,3" = "iPhone 11 Pro";
44 | "iPhone12,5" = "iPhone 11 Pro Max";
45 | "iPhone12,8" = "iPhone SE (2-го поколения)";
46 | "iPhone13,1" = "iPhone 12 mini";
47 | "iPhone13,2" = "iPhone 12";
48 | "iPhone13,3" = "iPhone 12 Pro";
49 | "iPhone13,4" = "iPhone 12 Pro Max";
50 | "iPhone14,2" = "iPhone 13 Pro";
51 | "iPhone14,3" = "iPhone 13 Pro Max";
52 | "iPhone14,4" = "iPhone 13 mini";
53 | "iPhone14,5" = "iPhone 13";
54 | "iPhone14,6" = "iPhone SE (3-го поколения)";
55 | "iPhone14,7" = "iPhone 14";
56 | "iPhone14,8" = "iPhone 14 Plus";
57 | "iPhone15,2" = "iPhone 14 Pro";
58 | "iPhone15,3" = "iPhone 14 Pro Max";
59 | "iPhone15,4" = "iPhone 15";
60 | "iPhone15,5" = "iPhone 15 Plus";
61 | "iPhone16,1" = "iPhone 15 Pro";
62 | "iPhone16,2" = "iPhone 15 Pro Max";
63 | "iPhone17,1" = "iPhone 16 Pro";
64 | "iPhone17,2" = "iPhone 16 Pro Max";
65 | "iPhone17,3" = "iPhone 16";
66 | "iPhone17,4" = "iPhone 16 Plus";
67 | "iPhone17,5" = "iPhone 16e";
68 | "iPhone18,1" = "iPhone 17 Pro";
69 | "iPhone18,2" = "iPhone 17 Pro Max";
70 | "iPhone18,3" = "iPhone 17";
71 | "iPhone18,4" = "iPhone 17 Air";
72 |
73 |
74 | // MARK: iPod touch models
75 | "iPod1,1" = "iPod touch";
76 | "iPod2,1" = "iPod touch (2-го поколения)";
77 | "iPod3,1" = "iPod touch (3-го поколения)";
78 | "iPod4,1" = "iPod touch (4-го поколения)";
79 | "iPod5,1" = "iPod touch (5-го поколения)";
80 | "iPod7,1" = "iPod touch (6-го поколения)";
81 | "iPod9,1" = "iPod touch (7-го поколения)";
82 |
83 |
84 | // MARK: iPad models
85 | "iPad1,1" = "iPad";
86 | "iPad1,2" = "iPad";
87 | "iPad2,1" = "iPad 2";
88 | "iPad2,2" = "iPad 2";
89 | "iPad2,3" = "iPad 2";
90 | "iPad2,4" = "iPad 2";
91 | "iPad2,5" = "iPad mini";
92 | "iPad2,6" = "iPad mini";
93 | "iPad2,7" = "iPad mini";
94 | "iPad3,1" = "iPad (3-го поколения)";
95 | "iPad3,2" = "iPad (3-го поколения)";
96 | "iPad3,3" = "iPad (3-го поколения)";
97 | "iPad3,4" = "iPad (4-го поколения)";
98 | "iPad3,5" = "iPad (4-го поколения)";
99 | "iPad3,6" = "iPad (4-го поколения)";
100 | "iPad4,1" = "iPad Air";
101 | "iPad4,2" = "iPad Air";
102 | "iPad4,3" = "iPad Air";
103 | "iPad4,4" = "iPad mini 2";
104 | "iPad4,5" = "iPad mini 2";
105 | "iPad4,6" = "iPad mini 2";
106 | "iPad4,7" = "iPad mini 3";
107 | "iPad4,8" = "iPad mini 3";
108 | "iPad4,9" = "iPad mini 3";
109 | "iPad5,1" = "iPad mini 4";
110 | "iPad5,2" = "iPad mini 4";
111 | "iPad5,3" = "iPad Air 2";
112 | "iPad5,4" = "iPad Air 2";
113 | "iPad6,3" = "iPad Pro (9,7 дюйма)";
114 | "iPad6,4" = "iPad Pro (9,7 дюйма)";
115 | "iPad6,7" = "iPad Pro (12,9 дюйма)";
116 | "iPad6,8" = "iPad Pro (12,9 дюйма)";
117 | "iPad6,11" = "iPad (5-го поколения)";
118 | "iPad6,12" = "iPad (5-го поколения)";
119 | "iPad7,1" = "iPad Pro (12,9 дюйма, 2-го поколения)";
120 | "iPad7,2" = "iPad Pro (12,9 дюйма, 2-го поколения)";
121 | "iPad7,3" = "iPad Pro (10,5 дюйма)";
122 | "iPad7,4" = "iPad Pro (10,5 дюйма)";
123 | "iPad7,5" = "iPad (6-го поколения)";
124 | "iPad7,6" = "iPad (6-го поколения)";
125 | "iPad7,11" = "iPad (7-го поколения)";
126 | "iPad7,12" = "iPad (7-го поколения)";
127 | "iPad8,1" = "iPad Pro (11 дюйма)";
128 | "iPad8,2" = "iPad Pro (11 дюйма)";
129 | "iPad8,3" = "iPad Pro (11 дюйма)";
130 | "iPad8,4" = "iPad Pro (11 дюйма)";
131 | "iPad8,5" = "iPad Pro (12,9 дюйма, 3-го поколения)";
132 | "iPad8,6" = "iPad Pro (12,9 дюйма, 3-го поколения)";
133 | "iPad8,7" = "iPad Pro (12,9 дюйма, 3-го поколения)";
134 | "iPad8,8" = "iPad Pro (12,9 дюйма, 3-го поколения)";
135 | "iPad8,9" = "iPad Pro (11 дюйма, 2-го поколения)";
136 | "iPad8,10" = "iPad Pro (11 дюйма, 2-го поколения)";
137 | "iPad8,11" = "iPad Pro (12,9 дюйма, 4-го поколения)";
138 | "iPad8,12" = "iPad Pro (12,9 дюйма, 4-го поколения)";
139 | "iPad11,1" = "iPad mini (5-го поколения)";
140 | "iPad11,2" = "iPad mini (5-го поколения)";
141 | "iPad11,3" = "iPad Air (3-го поколения)";
142 | "iPad11,4" = "iPad Air (3-го поколения)";
143 | "iPad11,6" = "iPad (8-го поколения)";
144 | "iPad11,7" = "iPad (8-го поколения)";
145 | "iPad12,1" = "iPad (9-го поколения)";
146 | "iPad12,2" = "iPad (9-го поколения)";
147 | "iPad13,1" = "iPad Air (4-го поколения)";
148 | "iPad13,2" = "iPad Air (4-го поколения)";
149 | "iPad13,4" = "iPad Pro (11 дюйма, 3-го поколения)";
150 | "iPad13,5" = "iPad Pro (11 дюйма, 3-го поколения)";
151 | "iPad13,6" = "iPad Pro (11 дюйма, 3-го поколения)";
152 | "iPad13,7" = "iPad Pro (11 дюйма, 3-го поколения)";
153 | "iPad13,8" = "iPad Pro (12,9 дюйма, 5-го поколения)";
154 | "iPad13,9" = "iPad Pro (12,9 дюйма, 5-го поколения)";
155 | "iPad13,10" = "iPad Pro (12,9 дюйма, 5-го поколения)";
156 | "iPad13,11" = "iPad Pro (12,9 дюйма, 5-го поколения)";
157 | "iPad13,16" = "iPad Air (5-го поколения)";
158 | "iPad13,17" = "iPad Air (5-го поколения)";
159 | "iPad13,18" = "iPad (10-го поколения)";
160 | "iPad13,19" = "iPad (10-го поколения)";
161 | "iPad14,1" = "iPad mini (6-го поколения)";
162 | "iPad14,2" = "iPad mini (6-го поколения)";
163 | "iPad14,3" = "iPad Pro 11 дюйма (4-го поколения)";
164 | "iPad14,4" = "iPad Pro 11 дюйма (4-го поколения)";
165 | "iPad14,5" = "iPad Pro 12,9 дюйма (6-го поколения)";
166 | "iPad14,6" = "iPad Pro 12,9 дюйма (6-го поколения)";
167 | "iPad14,8" = "iPad Air 11 дюйма (M2)";
168 | "iPad14,9" = "iPad Air 11 дюйма (M2)";
169 | "iPad14,10" = "iPad Air 13 дюйма (M2)";
170 | "iPad14,11" = "iPad Air 13 дюйма (M2)";
171 | "iPad15,3" = "iPad Air 11 дюйма (M3)";
172 | "iPad15,4" = "iPad Air 11 дюйма (M3)";
173 | "iPad15,5" = "iPad Air 13 дюйма (M3)";
174 | "iPad15,6" = "iPad Air 13 дюйма (M3)";
175 | "iPad15,7" = "iPad (A16)";
176 | "iPad15,8" = "iPad (A16)";
177 | "iPad16,1" = "iPad mini (A17 Pro)";
178 | "iPad16,2" = "iPad mini (A17 Pro)";
179 | "iPad16,3" = "iPad Pro 11 дюйма (M4)";
180 | "iPad16,4" = "iPad Pro 11 дюйма (M4)";
181 | "iPad16,5" = "iPad Pro 13 дюйма (M4)";
182 | "iPad16,6" = "iPad Pro 13 дюйма (M4)";
183 |
184 |
185 | // MARK: Apple TV models
186 | "AppleTV1,1" = "Apple TV (1‑го поколения)";
187 | "AppleTV2,1" = "Apple TV (2‑го поколения)";
188 | "AppleTV3,1" = "Apple TV (3‑го поколения)";
189 | "AppleTV3,2" = "Apple TV (3‑го поколения)";
190 | "AppleTV5,3" = "Apple TV HD";
191 | "AppleTV6,2" = "Apple TV 4K";
192 | "AppleTV11,1" = "Apple TV 4K (2‑го поколения)";
193 | "AppleTV14,1" = "Apple TV 4K (3‑го поколения)";
194 |
195 |
196 | // MARK: Apple Watch models
197 | "Watch1,1" = "Apple Watch (1-го поколения)";
198 | "Watch1,2" = "Apple Watch (2-го поколения)";
199 | "Watch2,3" = "Apple Watch Series 2";
200 | "Watch2,4" = "Apple Watch Series 2";
201 | "Watch2,6" = "Apple Watch Series 1";
202 | "Watch2,7" = "Apple Watch Series 1";
203 | "Watch3,1" = "Apple Watch Series 3";
204 | "Watch3,2" = "Apple Watch Series 3";
205 | "Watch3,3" = "Apple Watch Series 3";
206 | "Watch3,4" = "Apple Watch Series 3";
207 | "Watch4,1" = "Apple Watch Series 4";
208 | "Watch4,2" = "Apple Watch Series 4";
209 | "Watch4,3" = "Apple Watch Series 4";
210 | "Watch4,4" = "Apple Watch Series 4";
211 | "Watch5,1" = "Apple Watch Series 5";
212 | "Watch5,2" = "Apple Watch Series 5";
213 | "Watch5,3" = "Apple Watch Series 5";
214 | "Watch5,4" = "Apple Watch Series 5";
215 | "Watch5,9" = "Apple Watch SE (1-го поколения)";
216 | "Watch5,10" = "Apple Watch SE (1-го поколения)";
217 | "Watch5,11" = "Apple Watch SE (1-го поколения)";
218 | "Watch5,12" = "Apple Watch SE (1-го поколения)";
219 | "Watch6,1" = "Apple Watch Series 6";
220 | "Watch6,2" = "Apple Watch Series 6";
221 | "Watch6,3" = "Apple Watch Series 6";
222 | "Watch6,4" = "Apple Watch Series 6";
223 | "Watch6,6" = "Apple Watch Series 7";
224 | "Watch6,7" = "Apple Watch Series 7";
225 | "Watch6,8" = "Apple Watch Series 7";
226 | "Watch6,9" = "Apple Watch Series 7";
227 | "Watch6,10" = "Apple Watch SE (2‑го поколения)";
228 | "Watch6,11" = "Apple Watch SE (2‑го поколения)";
229 | "Watch6,12" = "Apple Watch SE (2‑го поколения)";
230 | "Watch6,13" = "Apple Watch SE (2‑го поколения)";
231 | "Watch6,14" = "Apple Watch Series 8";
232 | "Watch6,15" = "Apple Watch Series 8";
233 | "Watch6,16" = "Apple Watch Series 8";
234 | "Watch6,17" = "Apple Watch Series 8";
235 | "Watch6,18" = "Apple Watch Ultra";
236 | "Watch7,1" = "Apple Watch Series 9";
237 | "Watch7,2" = "Apple Watch Series 9";
238 | "Watch7,3" = "Apple Watch Series 9";
239 | "Watch7,4" = "Apple Watch Series 9";
240 | "Watch7,5" = "Apple Watch Ultra 2";
241 | "Watch7,8" = "Apple Watch Series 10";
242 | "Watch7,9" = "Apple Watch Series 10";
243 | "Watch7,10" = "Apple Watch Series 10";
244 | "Watch7,11" = "Apple Watch Series 10";
245 | "Watch7,12" = "Apple Watch Ultra 3";
246 | "Watch7,13" = "Apple Watch SE 3";
247 | "Watch7,14" = "Apple Watch SE 3";
248 | "Watch7,15" = "Apple Watch SE 3";
249 | "Watch7,16" = "Apple Watch SE 3";
250 | "Watch7,17" = "Apple Watch Series 11";
251 | "Watch7,18" = "Apple Watch Series 11";
252 | "Watch7,19" = "Apple Watch Series 11";
253 | "Watch7,20" = "Apple Watch Series 11";
254 |
255 |
256 | // MARK: Developer models
257 | "i386" = "симулятор";
258 | "x86_64" = "симулятор";
259 |
--------------------------------------------------------------------------------
/Sources/LocalizedDeviceModel/Resources/es.lproj/DeviceModel.strings:
--------------------------------------------------------------------------------
1 | /*
2 | DeviceModel.strings
3 | BDLocalizedDevicesModels
4 |
5 | Created by Benoit Deldicque on 02/10/2017.
6 | Copyright © 2017 Benoit Deldicque. All rights reserved.
7 | */
8 |
9 | // MARK: iPhone models
10 | "iPhone1,1" = "iPhone 2G";
11 | "iPhone1,2" = "iPhone 3G";
12 | "iPhone2,1" = "iPhone 3GS";
13 | "iPhone3,1" = "iPhone 4";
14 | "iPhone3,2" = "iPhone 4";
15 | "iPhone3,3" = "iPhone 4";
16 | "iPhone4,1" = "iPhone 4S";
17 | "iPhone5,1" = "iPhone 5";
18 | "iPhone5,2" = "iPhone 5";
19 | "iPhone5,3" = "iPhone 5c";
20 | "iPhone5,4" = "iPhone 5c";
21 | "iPhone6,1" = "iPhone 5s";
22 | "iPhone6,2" = "iPhone 5s";
23 | "iPhone7,1" = "iPhone 6 Plus";
24 | "iPhone7,2" = "iPhone 6";
25 | "iPhone8,2" = "iPhone 6s Plus";
26 | "iPhone8,1" = "iPhone 6s";
27 | "iPhone8,4" = "iPhone SE";
28 | "iPhone9,1" = "iPhone 7";
29 | "iPhone9,2" = "iPhone 7 Plus";
30 | "iPhone9,3" = "iPhone 7";
31 | "iPhone9,4" = "iPhone 7 Plus";
32 | "iPhone10,1" = "iPhone 8";
33 | "iPhone10,2" = "iPhone 8 Plus";
34 | "iPhone10,3" = "iPhone X";
35 | "iPhone10,4" = "iPhone 8";
36 | "iPhone10,5" = "iPhone 8 Plus";
37 | "iPhone10,6" = "iPhone X";
38 | "iPhone11,2" = "iPhone XS";
39 | "iPhone11,4" = "iPhone XS Max";
40 | "iPhone11,6" = "iPhone XS Max";
41 | "iPhone11,8" = "iPhone XR";
42 | "iPhone12,1" = "iPhone 11";
43 | "iPhone12,3" = "iPhone 11 Pro";
44 | "iPhone12,5" = "iPhone 11 Pro Max";
45 | "iPhone12,8" = "iPhone SE (2ª generación)";
46 | "iPhone13,1" = "iPhone 12 mini";
47 | "iPhone13,2" = "iPhone 12";
48 | "iPhone13,3" = "iPhone 12 Pro";
49 | "iPhone13,4" = "iPhone 12 Pro Max";
50 | "iPhone14,2" = "iPhone 13 Pro";
51 | "iPhone14,3" = "iPhone 13 Pro Max";
52 | "iPhone14,4" = "iPhone 13 mini";
53 | "iPhone14,5" = "iPhone 13";
54 | "iPhone14,6" = "iPhone SE (3ª generación)";
55 | "iPhone14,7" = "iPhone 14";
56 | "iPhone14,8" = "iPhone 14 Plus";
57 | "iPhone15,2" = "iPhone 14 Pro";
58 | "iPhone15,3" = "iPhone 14 Pro Max";
59 | "iPhone15,4" = "iPhone 15";
60 | "iPhone15,5" = "iPhone 15 Plus";
61 | "iPhone16,1" = "iPhone 15 Pro";
62 | "iPhone16,2" = "iPhone 15 Pro Max";
63 | "iPhone17,1" = "iPhone 16 Pro";
64 | "iPhone17,2" = "iPhone 16 Pro Max";
65 | "iPhone17,3" = "iPhone 16";
66 | "iPhone17,4" = "iPhone 16 Plus";
67 | "iPhone17,5" = "iPhone 16e";
68 | "iPhone18,1" = "iPhone 17 Pro";
69 | "iPhone18,2" = "iPhone 17 Pro Max";
70 | "iPhone18,3" = "iPhone 17";
71 | "iPhone18,4" = "iPhone 17 Air";
72 |
73 |
74 | // MARK: iPod touch models
75 | "iPod1,1" = "iPod touch";
76 | "iPod2,1" = "iPod touch (2ª generación)";
77 | "iPod3,1" = "iPod touch (3ª generación)";
78 | "iPod4,1" = "iPod touch (4ª generación)";
79 | "iPod5,1" = "iPod touch (5ª generación)";
80 | "iPod7,1" = "iPod touch (6ª generación)";
81 | "iPod9,1" = "iPod touch (7ª generación)";
82 |
83 |
84 | // MARK: iPad models
85 | "iPad1,1" = "iPad";
86 | "iPad1,2" = "iPad";
87 | "iPad2,1" = "iPad 2";
88 | "iPad2,2" = "iPad 2";
89 | "iPad2,3" = "iPad 2";
90 | "iPad2,4" = "iPad 2";
91 | "iPad2,5" = "iPad mini";
92 | "iPad2,6" = "iPad mini";
93 | "iPad2,7" = "iPad mini";
94 | "iPad3,1" = "iPad (3ª generación)";
95 | "iPad3,2" = "iPad (3ª generación)";
96 | "iPad3,3" = "iPad (3ª generación)";
97 | "iPad3,4" = "iPad (4ª generación)";
98 | "iPad3,5" = "iPad (4ª generación)";
99 | "iPad3,6" = "iPad (4ª generación)";
100 | "iPad4,1" = "iPad Air";
101 | "iPad4,2" = "iPad Air";
102 | "iPad4,3" = "iPad Air";
103 | "iPad4,4" = "iPad mini 2";
104 | "iPad4,5" = "iPad mini 2";
105 | "iPad4,6" = "iPad mini 2";
106 | "iPad4,7" = "iPad mini 3";
107 | "iPad4,8" = "iPad mini 3";
108 | "iPad4,9" = "iPad mini 3";
109 | "iPad5,1" = "iPad mini 4";
110 | "iPad5,2" = "iPad mini 4";
111 | "iPad5,3" = "iPad Air 2";
112 | "iPad5,4" = "iPad Air 2";
113 | "iPad6,3" = "iPad Pro (9,7 pulgadas)";
114 | "iPad6,4" = "iPad Pro (9,7 pulgadas)";
115 | "iPad6,7" = "iPad Pro (12,9 pulgadas)";
116 | "iPad6,8" = "iPad Pro (12,9 pulgadas)";
117 | "iPad6,11" = "iPad (5ª generación)";
118 | "iPad6,12" = "iPad (5ª generación)";
119 | "iPad7,1" = "iPad Pro 12,9 pulgadas (2ª generación)";
120 | "iPad7,2" = "iPad Pro 12,9 pulgadas (2ª generación)";
121 | "iPad7,3" = "iPad Pro (10,5 pulgadas)";
122 | "iPad7,4" = "iPad Pro (10,5 pulgadas)";
123 | "iPad7,5" = "iPad (6ª generación)";
124 | "iPad7,6" = "iPad (6ª generación)";
125 | "iPad7,11" = "iPad (7ª generación)";
126 | "iPad7,12" = "iPad (7ª generación)";
127 | "iPad8,1" = "iPad Pro (11 pulgadas)";
128 | "iPad8,2" = "iPad Pro (11 pulgadas)";
129 | "iPad8,3" = "iPad Pro (11 pulgadas)";
130 | "iPad8,4" = "iPad Pro (11 pulgadas)";
131 | "iPad8,5" = "iPad Pro 12,9 pulgadas (3ª generación)";
132 | "iPad8,6" = "iPad Pro 12,9 pulgadas (3ª generación)";
133 | "iPad8,7" = "iPad Pro 12,9 pulgadas (3ª generación)";
134 | "iPad8,8" = "iPad Pro 12,9 pulgadas (3ª generación)";
135 | "iPad8,9" = "iPad Pro 11 pulgadas (2ª generación)";
136 | "iPad8,10" = "iPad Pro 11 pulgadas (2ª generación)";
137 | "iPad8,11" = "iPad Pro 12,9 pulgadas (4ª generación)";
138 | "iPad8,12" = "iPad Pro 12,9 pulgadas (4ª generación)";
139 | "iPad11,1" = "iPad mini (5ª generación)";
140 | "iPad11,2" = "iPad mini (5ª generación)";
141 | "iPad11,3" = "iPad Air (3ª generación)";
142 | "iPad11,4" = "iPad Air (3ª generación)";
143 | "iPad11,6" = "iPad (8ª generación)";
144 | "iPad11,7" = "iPad (8ª generación)";
145 | "iPad12,1" = "iPad (9ª generación)";
146 | "iPad12,2" = "iPad (9ª generación)";
147 | "iPad13,1" = "iPad Air (4ª generación)";
148 | "iPad13,2" = "iPad Air (4ª generación)";
149 | "iPad13,4" = "iPad Pro 11 pulgadas (3ª generación)";
150 | "iPad13,5" = "iPad Pro 11 pulgadas (3ª generación)";
151 | "iPad13,6" = "iPad Pro 11 pulgadas (3ª generación)";
152 | "iPad13,7" = "iPad Pro 11 pulgadas (3ª generación)";
153 | "iPad13,8" = "iPad Pro 12,9 pulgadas (5ª generación)";
154 | "iPad13,9" = "iPad Pro 12,9 pulgadas (5ª generación)";
155 | "iPad13,10" = "iPad Pro 12,9 pulgadas (5ª generación)";
156 | "iPad13,11" = "iPad Pro 12,9 pulgadas (5ª generación)";
157 | "iPad13,16" = "iPad Air (5ª generación)";
158 | "iPad13,17" = "iPad Air (5ª generación)";
159 | "iPad13,18" = "iPad (10ª generación)";
160 | "iPad13,19" = "iPad (10ª generación)";
161 | "iPad14,1" = "iPad mini (6ª generación)";
162 | "iPad14,2" = "iPad mini (6ª generación)";
163 | "iPad14,3" = "iPad Pro 11 pulgadas (4ª generación)";
164 | "iPad14,4" = "iPad Pro 11 pulgadas (4ª generación)";
165 | "iPad14,5" = "iPad Pro 12,9 pulgadas (6ª generación)";
166 | "iPad14,6" = "iPad Pro 12,9 pulgadas (6ª generación)";
167 | "iPad14,8" = "iPad Air 11 pulgadas (M2)";
168 | "iPad14,9" = "iPad Air 11 pulgadas (M2)";
169 | "iPad14,10" = "iPad Air 13 pulgadas (M2)";
170 | "iPad14,11" = "iPad Air 13 pulgadas (M2)";
171 | "iPad15,3" = "iPad Air 11 pulgadas (M3)";
172 | "iPad15,4" = "iPad Air 11 pulgadas (M3)";
173 | "iPad15,5" = "iPad Air 13 pulgadas (M3)";
174 | "iPad15,6" = "iPad Air 13 pulgadas (M3)";
175 | "iPad15,7" = "iPad (A16)";
176 | "iPad15,8" = "iPad (A16)";
177 | "iPad16,1" = "iPad mini (A17 Pro)";
178 | "iPad16,2" = "iPad mini (A17 Pro)";
179 | "iPad16,3" = "iPad Pro 11 pulgadas (M4)";
180 | "iPad16,4" = "iPad Pro 11 pulgadas (M4)";
181 | "iPad16,5" = "iPad Pro 13 pulgadas (M4)";
182 | "iPad16,6" = "iPad Pro 13 pulgadas (M4)";
183 |
184 |
185 | // MARK: Apple TV models
186 | "AppleTV1,1" = "Apple TV (1ª generación)";
187 | "AppleTV2,1" = "Apple TV (2ª generación)";
188 | "AppleTV3,1" = "Apple TV (3ª generación)";
189 | "AppleTV3,2" = "Apple TV (3ª generación)";
190 | "AppleTV5,3" = "Apple TV HD";
191 | "AppleTV6,2" = "Apple TV 4K";
192 | "AppleTV11,1" = "Apple TV 4K (2ª generación)";
193 | "AppleTV14,1" = "Apple TV 4K (3ª generación)";
194 |
195 |
196 | // MARK: Apple Watch models
197 | "Watch1,1" = "Apple Watch (1ª generación)";
198 | "Watch1,2" = "Apple Watch (2ª generación)";
199 | "Watch2,3" = "Apple Watch Series 2";
200 | "Watch2,4" = "Apple Watch Series 2";
201 | "Watch2,6" = "Apple Watch Series 1";
202 | "Watch2,7" = "Apple Watch Series 1";
203 | "Watch3,1" = "Apple Watch Series 3";
204 | "Watch3,2" = "Apple Watch Series 3";
205 | "Watch3,3" = "Apple Watch Series 3";
206 | "Watch3,4" = "Apple Watch Series 3";
207 | "Watch4,1" = "Apple Watch Series 4";
208 | "Watch4,2" = "Apple Watch Series 4";
209 | "Watch4,3" = "Apple Watch Series 4";
210 | "Watch4,4" = "Apple Watch Series 4";
211 | "Watch5,1" = "Apple Watch Series 5";
212 | "Watch5,2" = "Apple Watch Series 5";
213 | "Watch5,3" = "Apple Watch Series 5";
214 | "Watch5,4" = "Apple Watch Series 5";
215 | "Watch5,9" = "Apple Watch SE (1ª generación)";
216 | "Watch5,10" = "Apple Watch SE (1ª generación)";
217 | "Watch5,11" = "Apple Watch SE (1ª generación)";
218 | "Watch5,12" = "Apple Watch SE (1ª generación)";
219 | "Watch6,1" = "Apple Watch Series 6";
220 | "Watch6,2" = "Apple Watch Series 6";
221 | "Watch6,3" = "Apple Watch Series 6";
222 | "Watch6,4" = "Apple Watch Series 6";
223 | "Watch6,6" = "Apple Watch Series 7";
224 | "Watch6,7" = "Apple Watch Series 7";
225 | "Watch6,8" = "Apple Watch Series 7";
226 | "Watch6,9" = "Apple Watch Series 7";
227 | "Watch6,10" = "Apple Watch SE (2ª generación)";
228 | "Watch6,11" = "Apple Watch SE (2ª generación)";
229 | "Watch6,12" = "Apple Watch SE (2ª generación)";
230 | "Watch6,13" = "Apple Watch SE (2ª generación)";
231 | "Watch6,14" = "Apple Watch Series 8";
232 | "Watch6,15" = "Apple Watch Series 8";
233 | "Watch6,16" = "Apple Watch Series 8";
234 | "Watch6,17" = "Apple Watch Series 8";
235 | "Watch6,18" = "Apple Watch Ultra";
236 | "Watch7,1" = "Apple Watch Series 9";
237 | "Watch7,2" = "Apple Watch Series 9";
238 | "Watch7,3" = "Apple Watch Series 9";
239 | "Watch7,4" = "Apple Watch Series 9";
240 | "Watch7,5" = "Apple Watch Ultra 2";
241 | "Watch7,8" = "Apple Watch Series 10";
242 | "Watch7,9" = "Apple Watch Series 10";
243 | "Watch7,10" = "Apple Watch Series 10";
244 | "Watch7,11" = "Apple Watch Series 10";
245 | "Watch7,12" = "Apple Watch Ultra 3";
246 | "Watch7,13" = "Apple Watch SE 3";
247 | "Watch7,14" = "Apple Watch SE 3";
248 | "Watch7,15" = "Apple Watch SE 3";
249 | "Watch7,16" = "Apple Watch SE 3";
250 | "Watch7,17" = "Apple Watch Series 11";
251 | "Watch7,18" = "Apple Watch Series 11";
252 | "Watch7,19" = "Apple Watch Series 11";
253 | "Watch7,20" = "Apple Watch Series 11";
254 |
255 |
256 | // MARK: Developer models
257 | "i386" = "Simulador";
258 | "x86_64" = "Simulador";
259 |
--------------------------------------------------------------------------------
/Sources/LocalizedDeviceModel/Resources/it.lproj/DeviceModel.strings:
--------------------------------------------------------------------------------
1 | /*
2 | DeviceModel.strings
3 | BDLocalizedDevicesModels
4 |
5 | Created by Benoit Deldicque on 06/10/2017.
6 | Copyright © 2017 Benoit Deldicque. All rights reserved.
7 | */
8 |
9 | // MARK: iPhone models
10 | "iPhone1,1" = "iPhone 2G";
11 | "iPhone1,2" = "iPhone 3G";
12 | "iPhone2,1" = "iPhone 3GS";
13 | "iPhone3,1" = "iPhone 4";
14 | "iPhone3,2" = "iPhone 4";
15 | "iPhone3,3" = "iPhone 4";
16 | "iPhone4,1" = "iPhone 4S";
17 | "iPhone5,1" = "iPhone 5";
18 | "iPhone5,2" = "iPhone 5";
19 | "iPhone5,3" = "iPhone 5c";
20 | "iPhone5,4" = "iPhone 5c";
21 | "iPhone6,1" = "iPhone 5s";
22 | "iPhone6,2" = "iPhone 5s";
23 | "iPhone7,1" = "iPhone 6 Plus";
24 | "iPhone7,2" = "iPhone 6";
25 | "iPhone8,2" = "iPhone 6s Plus";
26 | "iPhone8,1" = "iPhone 6s";
27 | "iPhone8,4" = "iPhone SE";
28 | "iPhone9,1" = "iPhone 7";
29 | "iPhone9,2" = "iPhone 7 Plus";
30 | "iPhone9,3" = "iPhone 7";
31 | "iPhone9,4" = "iPhone 7 Plus";
32 | "iPhone10,1" = "iPhone 8";
33 | "iPhone10,2" = "iPhone 8 Plus";
34 | "iPhone10,3" = "iPhone X";
35 | "iPhone10,4" = "iPhone 8";
36 | "iPhone10,5" = "iPhone 8 Plus";
37 | "iPhone10,6" = "iPhone X";
38 | "iPhone11,2" = "iPhone XS";
39 | "iPhone11,4" = "iPhone XS Max";
40 | "iPhone11,6" = "iPhone XS Max";
41 | "iPhone11,8" = "iPhone XR";
42 | "iPhone12,1" = "iPhone 11";
43 | "iPhone12,3" = "iPhone 11 Pro";
44 | "iPhone12,5" = "iPhone 11 Pro Max";
45 | "iPhone12,8" = "iPhone SE (2a generazione)";
46 | "iPhone13,1" = "iPhone 12 mini";
47 | "iPhone13,2" = "iPhone 12";
48 | "iPhone13,3" = "iPhone 12 Pro";
49 | "iPhone13,4" = "iPhone 12 Pro Max";
50 | "iPhone14,2" = "iPhone 13 Pro";
51 | "iPhone14,3" = "iPhone 13 Pro Max";
52 | "iPhone14,4" = "iPhone 13 mini";
53 | "iPhone14,5" = "iPhone 13";
54 | "iPhone14,6" = "iPhone SE (3a generazione)";
55 | "iPhone14,7" = "iPhone 14";
56 | "iPhone14,8" = "iPhone 14 Plus";
57 | "iPhone15,2" = "iPhone 14 Pro";
58 | "iPhone15,3" = "iPhone 14 Pro Max";
59 | "iPhone15,4" = "iPhone 15";
60 | "iPhone15,5" = "iPhone 15 Plus";
61 | "iPhone16,1" = "iPhone 15 Pro";
62 | "iPhone16,2" = "iPhone 15 Pro Max";
63 | "iPhone17,1" = "iPhone 16 Pro";
64 | "iPhone17,2" = "iPhone 16 Pro Max";
65 | "iPhone17,3" = "iPhone 16";
66 | "iPhone17,4" = "iPhone 16 Plus";
67 | "iPhone17,5" = "iPhone 16e";
68 | "iPhone18,1" = "iPhone 17 Pro";
69 | "iPhone18,2" = "iPhone 17 Pro Max";
70 | "iPhone18,3" = "iPhone 17";
71 | "iPhone18,4" = "iPhone 17 Air";
72 |
73 |
74 | // MARK: iPod touch models
75 | "iPod1,1" = "iPod touch";
76 | "iPod2,1" = "iPod touch (2a generazione)";
77 | "iPod3,1" = "iPod touch (3a generazione)";
78 | "iPod4,1" = "iPod touch (4a generazione)";
79 | "iPod5,1" = "iPod touch (5a generazione)";
80 | "iPod7,1" = "iPod touch (6a generazione)";
81 | "iPod9,1" = "iPod touch (7a generazione)";
82 |
83 |
84 | // MARK: iPad models
85 | "iPad1,1" = "iPad";
86 | "iPad1,2" = "iPad";
87 | "iPad2,1" = "iPad 2";
88 | "iPad2,2" = "iPad 2";
89 | "iPad2,3" = "iPad 2";
90 | "iPad2,4" = "iPad 2";
91 | "iPad2,5" = "iPad mini";
92 | "iPad2,6" = "iPad mini";
93 | "iPad2,7" = "iPad mini";
94 | "iPad3,1" = "iPad (3a generazione)";
95 | "iPad3,2" = "iPad (3a generazione)";
96 | "iPad3,3" = "iPad (3a generazione)";
97 | "iPad3,4" = "iPad (4a generazione)";
98 | "iPad3,5" = "iPad (4a generazione)";
99 | "iPad3,6" = "iPad (4a generazione)";
100 | "iPad4,1" = "iPad Air";
101 | "iPad4,2" = "iPad Air";
102 | "iPad4,3" = "iPad Air";
103 | "iPad4,4" = "iPad mini 2";
104 | "iPad4,5" = "iPad mini 2";
105 | "iPad4,6" = "iPad mini 2";
106 | "iPad4,7" = "iPad mini 3";
107 | "iPad4,8" = "iPad mini 3";
108 | "iPad4,9" = "iPad mini 3";
109 | "iPad5,1" = "iPad mini 4";
110 | "iPad5,2" = "iPad mini 4";
111 | "iPad5,3" = "iPad Air 2";
112 | "iPad5,4" = "iPad Air 2";
113 | "iPad6,3" = "iPad Pro (9,7 pollici)";
114 | "iPad6,4" = "iPad Pro (9,7 pollici)";
115 | "iPad6,7" = "iPad Pro (12,9 pollici)";
116 | "iPad6,8" = "iPad Pro (12,9 pollici)";
117 | "iPad6,11" = "iPad (5a generazione)";
118 | "iPad6,12" = "iPad (5a generazione)";
119 | "iPad7,1" = "iPad Pro da 12,9 pollici (2a generazione)";
120 | "iPad7,2" = "iPad Pro da 12,9 pollici (2a generazione)";
121 | "iPad7,3" = "iPad Pro (10,5 pollici)";
122 | "iPad7,4" = "iPad Pro (10,5 pollici)";
123 | "iPad7,5" = "iPad (6a generazione)";
124 | "iPad7,6" = "iPad (6a generazione)";
125 | "iPad7,11" = "iPad (7a generazione)";
126 | "iPad7,12" = "iPad (7a generazione)";
127 | "iPad8,1" = "iPad Pro (11 pollici)";
128 | "iPad8,2" = "iPad Pro (11 pollici)";
129 | "iPad8,3" = "iPad Pro (11 pollici)";
130 | "iPad8,4" = "iPad Pro (11 pollici)";
131 | "iPad8,5" = "iPad Pro da 12,9 pollici (3a generazione)";
132 | "iPad8,6" = "iPad Pro da 12,9 pollici (3a generazione)";
133 | "iPad8,7" = "iPad Pro da 12,9 pollici (3a generazione)";
134 | "iPad8,8" = "iPad Pro da 12,9 pollici (3a generazione)";
135 | "iPad8,9" = "iPad Pro da 11 pollici (2a generazione)";
136 | "iPad8,10" = "iPad Pro da 11 pollici (2a generazione)";
137 | "iPad8,11" = "iPad Pro da 12,9 pollici (4a generazione)";
138 | "iPad8,12" = "iPad Pro da 12,9 pollici (4a generazione)";
139 | "iPad11,1" = "iPad mini (5a generazione)";
140 | "iPad11,2" = "iPad mini (5a generazione)";
141 | "iPad11,3" = "iPad Air (3a generazione)";
142 | "iPad11,4" = "iPad Air (3a generazione)";
143 | "iPad11,6" = "iPad (8a generazione)";
144 | "iPad11,7" = "iPad (8a generazione)";
145 | "iPad12,1" = "iPad (9a generazione)";
146 | "iPad12,2" = "iPad (9a generazione)";
147 | "iPad13,1" = "iPad Air (4a generazione)";
148 | "iPad13,2" = "iPad Air (4a generazione)";
149 | "iPad13,4" = "iPad Pro da 11 pollici (3a generazione)";
150 | "iPad13,5" = "iPad Pro da 11 pollici (3a generazione)";
151 | "iPad13,6" = "iPad Pro da 11 pollici (3a generazione)";
152 | "iPad13,7" = "iPad Pro da 11 pollici (3a generazione)";
153 | "iPad13,8" = "iPad Pro da 12,9 pollici (5a generazione)";
154 | "iPad13,9" = "iPad Pro da 12,9 pollici (5a generazione)";
155 | "iPad13,10" = "iPad Pro da 12,9 pollici (5a generazione)";
156 | "iPad13,11" = "iPad Pro da 12,9 pollici (5a generazione)";
157 | "iPad13,16" = "iPad Air (5a generazione)";
158 | "iPad13,17" = "iPad Air (5a generazione)";
159 | "iPad13,18" = "iPad (10a generazione)";
160 | "iPad13,19" = "iPad (10a generazione)";
161 | "iPad14,1" = "iPad mini (6a generazione)";
162 | "iPad14,2" = "iPad mini (6a generazione)";
163 | "iPad14,3" = "iPad Pro 11 pollici (4a generazione)";
164 | "iPad14,4" = "iPad Pro 11 pollici (4a generazione)";
165 | "iPad14,5" = "iPad Pro 12,9 pollici (6a generazione)";
166 | "iPad14,6" = "iPad Pro 12,9 pollici (6a generazione)";
167 | "iPad14,8" = "iPad Air 11 pollici (M2)";
168 | "iPad14,9" = "iPad Air 11 pollici (M2)";
169 | "iPad14,10" = "iPad Air 13 pollici (M2)";
170 | "iPad14,11" = "iPad Air 13 pollici (M2)";
171 | "iPad15,3" = "iPad Air 11 pollici (M3)";
172 | "iPad15,4" = "iPad Air 11 pollici (M3)";
173 | "iPad15,5" = "iPad Air 13 pollici (M3)";
174 | "iPad15,6" = "iPad Air 13 pollici (M3)";
175 | "iPad15,7" = "iPad (A16)";
176 | "iPad15,8" = "iPad (A16)";
177 | "iPad16,1" = "iPad mini (A17 Pro)";
178 | "iPad16,2" = "iPad mini (A17 Pro)";
179 | "iPad16,3" = "iPad Pro 11 pollici (M4)";
180 | "iPad16,4" = "iPad Pro 11 pollici (M4)";
181 | "iPad16,5" = "iPad Pro 13 pollici (M4)";
182 | "iPad16,6" = "iPad Pro 13 pollici (M4)";
183 |
184 |
185 | // MARK: Apple TV models
186 | "AppleTV1,1" = "Apple TV (1a generazione)";
187 | "AppleTV2,1" = "Apple TV (2a generazione)";
188 | "AppleTV3,1" = "Apple TV (3a generazione)";
189 | "AppleTV3,2" = "Apple TV (3a generazione)";
190 | "AppleTV5,3" = "Apple TV HD";
191 | "AppleTV6,2" = "Apple TV 4K";
192 | "AppleTV11,1" = "Apple TV 4K (2a generazione)";
193 | "AppleTV14,1" = "Apple TV 4K (3a generazione)";
194 |
195 |
196 | // MARK: Apple Watch models
197 | "Watch1,1" = "Apple Watch (1a generazione)";
198 | "Watch1,2" = "Apple Watch (2a generazione)";
199 | "Watch2,3" = "Apple Watch Series 2";
200 | "Watch2,4" = "Apple Watch Series 2";
201 | "Watch2,6" = "Apple Watch Series 1";
202 | "Watch2,7" = "Apple Watch Series 1";
203 | "Watch3,1" = "Apple Watch Series 3";
204 | "Watch3,2" = "Apple Watch Series 3";
205 | "Watch3,3" = "Apple Watch Series 3";
206 | "Watch3,4" = "Apple Watch Series 3";
207 | "Watch4,1" = "Apple Watch Series 4";
208 | "Watch4,2" = "Apple Watch Series 4";
209 | "Watch4,3" = "Apple Watch Series 4";
210 | "Watch4,4" = "Apple Watch Series 4";
211 | "Watch5,1" = "Apple Watch Series 5";
212 | "Watch5,2" = "Apple Watch Series 5";
213 | "Watch5,3" = "Apple Watch Series 5";
214 | "Watch5,4" = "Apple Watch Series 5";
215 | "Watch5,9" = "Apple Watch SE (1a generazione)";
216 | "Watch5,10" = "Apple Watch SE (1a generazione)";
217 | "Watch5,11" = "Apple Watch SE (1a generazione)";
218 | "Watch5,12" = "Apple Watch SE (1a generazione)";
219 | "Watch6,1" = "Apple Watch Series 6";
220 | "Watch6,2" = "Apple Watch Series 6";
221 | "Watch6,3" = "Apple Watch Series 6";
222 | "Watch6,4" = "Apple Watch Series 6";
223 | "Watch6,6" = "Apple Watch Series 7";
224 | "Watch6,7" = "Apple Watch Series 7";
225 | "Watch6,8" = "Apple Watch Series 7";
226 | "Watch6,9" = "Apple Watch Series 7";
227 | "Watch6,10" = "Apple Watch SE (2a generazione)";
228 | "Watch6,11" = "Apple Watch SE (2a generazione)";
229 | "Watch6,12" = "Apple Watch SE (2a generazione)";
230 | "Watch6,13" = "Apple Watch SE (2a generazione)";
231 | "Watch6,14" = "Apple Watch Series 8";
232 | "Watch6,15" = "Apple Watch Series 8";
233 | "Watch6,16" = "Apple Watch Series 8";
234 | "Watch6,17" = "Apple Watch Series 8";
235 | "Watch6,18" = "Apple Watch Ultra";
236 | "Watch7,1" = "Apple Watch Series 9";
237 | "Watch7,2" = "Apple Watch Series 9";
238 | "Watch7,3" = "Apple Watch Series 9";
239 | "Watch7,4" = "Apple Watch Series 9";
240 | "Watch7,5" = "Apple Watch Ultra 2";
241 | "Watch7,8" = "Apple Watch Series 10";
242 | "Watch7,9" = "Apple Watch Series 10";
243 | "Watch7,10" = "Apple Watch Series 10";
244 | "Watch7,11" = "Apple Watch Series 10";
245 | "Watch7,12" = "Apple Watch Ultra 3";
246 | "Watch7,13" = "Apple Watch SE 3";
247 | "Watch7,14" = "Apple Watch SE 3";
248 | "Watch7,15" = "Apple Watch SE 3";
249 | "Watch7,16" = "Apple Watch SE 3";
250 | "Watch7,17" = "Apple Watch Series 11";
251 | "Watch7,18" = "Apple Watch Series 11";
252 | "Watch7,19" = "Apple Watch Series 11";
253 | "Watch7,20" = "Apple Watch Series 11";
254 |
255 |
256 | // MARK: Developer models
257 | "i386" = "Simulatore";
258 | "x86_64" = "Simulatore";
259 |
--------------------------------------------------------------------------------
/Samples/SampleApp.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 52;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 14005CB425237503006A911E /* LocalizedDeviceModel in Frameworks */ = {isa = PBXBuildFile; productRef = 14005CB325237503006A911E /* LocalizedDeviceModel */; };
11 | 14005CB725237524006A911E /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14005CB625237524006A911E /* AppDelegate.swift */; };
12 | 1479F3A126636B29003EC36B /* SampleWatchApp WatchKit App.app in Embed Watch Content */ = {isa = PBXBuildFile; fileRef = 1479F3A026636B29003EC36B /* SampleWatchApp WatchKit App.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
13 | 1479F3A726636B29003EC36B /* Interface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1479F3A526636B29003EC36B /* Interface.storyboard */; };
14 | 1479F3A926636B2B003EC36B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1479F3A826636B2B003EC36B /* Assets.xcassets */; };
15 | 1479F3B026636B2B003EC36B /* SampleWatchApp WatchKit Extension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 1479F3AF26636B2B003EC36B /* SampleWatchApp WatchKit Extension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
16 | 1479F3B526636B2B003EC36B /* HostingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1479F3B426636B2B003EC36B /* HostingController.swift */; };
17 | 1479F3B726636B2B003EC36B /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1479F3B626636B2B003EC36B /* ContentView.swift */; };
18 | 1479F3B926636B2B003EC36B /* ExtensionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1479F3B826636B2B003EC36B /* ExtensionDelegate.swift */; };
19 | 1479F3BD26636B2D003EC36B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1479F3BC26636B2D003EC36B /* Assets.xcassets */; };
20 | 1479F3C026636B2D003EC36B /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1479F3BF26636B2D003EC36B /* Preview Assets.xcassets */; };
21 | 1479F3CE26636C60003EC36B /* LocalizedDeviceModel in Frameworks */ = {isa = PBXBuildFile; productRef = 1479F3CD26636C60003EC36B /* LocalizedDeviceModel */; };
22 | 14F7EE952523717A005D7C21 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 14F7EE942523717A005D7C21 /* Assets.xcassets */; };
23 | 14F7EE9825237194005D7C21 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14F7EE9725237194005D7C21 /* ViewController.swift */; };
24 | 14F7EECB252371DC005D7C21 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 14F7EEC5252371DC005D7C21 /* LaunchScreen.storyboard */; };
25 | 14F7EECC252371DC005D7C21 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 14F7EEC7252371DC005D7C21 /* Main.storyboard */; };
26 | 14F7EECD252371DC005D7C21 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 14F7EEC9252371DC005D7C21 /* InfoPlist.strings */; };
27 | /* End PBXBuildFile section */
28 |
29 | /* Begin PBXContainerItemProxy section */
30 | 1479F3A226636B29003EC36B /* PBXContainerItemProxy */ = {
31 | isa = PBXContainerItemProxy;
32 | containerPortal = 14F7EE722523712B005D7C21 /* Project object */;
33 | proxyType = 1;
34 | remoteGlobalIDString = 1479F39F26636B29003EC36B;
35 | remoteInfo = "SampleWatchApp WatchKit App";
36 | };
37 | 1479F3B126636B2B003EC36B /* PBXContainerItemProxy */ = {
38 | isa = PBXContainerItemProxy;
39 | containerPortal = 14F7EE722523712B005D7C21 /* Project object */;
40 | proxyType = 1;
41 | remoteGlobalIDString = 1479F3AE26636B2B003EC36B;
42 | remoteInfo = "SampleWatchApp WatchKit Extension";
43 | };
44 | /* End PBXContainerItemProxy section */
45 |
46 | /* Begin PBXCopyFilesBuildPhase section */
47 | 1479F3C526636B2D003EC36B /* Embed App Extensions */ = {
48 | isa = PBXCopyFilesBuildPhase;
49 | buildActionMask = 2147483647;
50 | dstPath = "";
51 | dstSubfolderSpec = 13;
52 | files = (
53 | 1479F3B026636B2B003EC36B /* SampleWatchApp WatchKit Extension.appex in Embed App Extensions */,
54 | );
55 | name = "Embed App Extensions";
56 | runOnlyForDeploymentPostprocessing = 0;
57 | };
58 | 1479F3C926636B2D003EC36B /* Embed Watch Content */ = {
59 | isa = PBXCopyFilesBuildPhase;
60 | buildActionMask = 2147483647;
61 | dstPath = "$(CONTENTS_FOLDER_PATH)/Watch";
62 | dstSubfolderSpec = 16;
63 | files = (
64 | 1479F3A126636B29003EC36B /* SampleWatchApp WatchKit App.app in Embed Watch Content */,
65 | );
66 | name = "Embed Watch Content";
67 | runOnlyForDeploymentPostprocessing = 0;
68 | };
69 | /* End PBXCopyFilesBuildPhase section */
70 |
71 | /* Begin PBXFileReference section */
72 | 14005CB625237524006A911E /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
73 | 140FC6542825B93800A5F06B /* BDLocalizedDevicesModels */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = BDLocalizedDevicesModels; path = ..; sourceTree = ""; };
74 | 1479F39D26636B29003EC36B /* SampleWatchApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SampleWatchApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
75 | 1479F3A026636B29003EC36B /* SampleWatchApp WatchKit App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "SampleWatchApp WatchKit App.app"; sourceTree = BUILT_PRODUCTS_DIR; };
76 | 1479F3A626636B29003EC36B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Interface.storyboard; sourceTree = ""; };
77 | 1479F3A826636B2B003EC36B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
78 | 1479F3AA26636B2B003EC36B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
79 | 1479F3AF26636B2B003EC36B /* SampleWatchApp WatchKit Extension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "SampleWatchApp WatchKit Extension.appex"; sourceTree = BUILT_PRODUCTS_DIR; };
80 | 1479F3B426636B2B003EC36B /* HostingController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HostingController.swift; sourceTree = ""; };
81 | 1479F3B626636B2B003EC36B /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; };
82 | 1479F3B826636B2B003EC36B /* ExtensionDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionDelegate.swift; sourceTree = ""; };
83 | 1479F3BC26636B2D003EC36B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
84 | 1479F3BF26636B2D003EC36B /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; };
85 | 1479F3C126636B2D003EC36B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
86 | 14F7EE7A2523712B005D7C21 /* SampleApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SampleApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
87 | 14F7EE942523717A005D7C21 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
88 | 14F7EE9725237194005D7C21 /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
89 | 14F7EE9A2523719F005D7C21 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
90 | 14F7EEC6252371DC005D7C21 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
91 | 14F7EEC8252371DC005D7C21 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
92 | 14F7EECA252371DC005D7C21 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = ""; };
93 | 14F7EECF252371F0005D7C21 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; };
94 | 14F7EED0252371F0005D7C21 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; };
95 | 14F7EED1252371F0005D7C21 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; };
96 | 14F7EED2252371F0005D7C21 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = ""; };
97 | 14F7EED3252371F0005D7C21 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; };
98 | 14F7EED4252371F0005D7C21 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; };
99 | 14F7EED5252371F0005D7C21 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = ""; };
100 | /* End PBXFileReference section */
101 |
102 | /* Begin PBXFrameworksBuildPhase section */
103 | 1479F3AC26636B2B003EC36B /* Frameworks */ = {
104 | isa = PBXFrameworksBuildPhase;
105 | buildActionMask = 2147483647;
106 | files = (
107 | 1479F3CE26636C60003EC36B /* LocalizedDeviceModel in Frameworks */,
108 | );
109 | runOnlyForDeploymentPostprocessing = 0;
110 | };
111 | 14F7EE772523712B005D7C21 /* Frameworks */ = {
112 | isa = PBXFrameworksBuildPhase;
113 | buildActionMask = 2147483647;
114 | files = (
115 | 14005CB425237503006A911E /* LocalizedDeviceModel in Frameworks */,
116 | );
117 | runOnlyForDeploymentPostprocessing = 0;
118 | };
119 | /* End PBXFrameworksBuildPhase section */
120 |
121 | /* Begin PBXGroup section */
122 | 140FC6532825B93800A5F06B /* Packages */ = {
123 | isa = PBXGroup;
124 | children = (
125 | 140FC6542825B93800A5F06B /* BDLocalizedDevicesModels */,
126 | );
127 | name = Packages;
128 | sourceTree = "";
129 | };
130 | 1479F3A426636B29003EC36B /* SampleWatchApp WatchKit App */ = {
131 | isa = PBXGroup;
132 | children = (
133 | 1479F3A526636B29003EC36B /* Interface.storyboard */,
134 | 1479F3A826636B2B003EC36B /* Assets.xcassets */,
135 | 1479F3AA26636B2B003EC36B /* Info.plist */,
136 | );
137 | path = "SampleWatchApp WatchKit App";
138 | sourceTree = "";
139 | };
140 | 1479F3B326636B2B003EC36B /* SampleWatchApp WatchKit Extension */ = {
141 | isa = PBXGroup;
142 | children = (
143 | 1479F3B426636B2B003EC36B /* HostingController.swift */,
144 | 1479F3B626636B2B003EC36B /* ContentView.swift */,
145 | 1479F3B826636B2B003EC36B /* ExtensionDelegate.swift */,
146 | 1479F3BC26636B2D003EC36B /* Assets.xcassets */,
147 | 1479F3C126636B2D003EC36B /* Info.plist */,
148 | 1479F3BE26636B2D003EC36B /* Preview Content */,
149 | );
150 | path = "SampleWatchApp WatchKit Extension";
151 | sourceTree = "";
152 | };
153 | 1479F3BE26636B2D003EC36B /* Preview Content */ = {
154 | isa = PBXGroup;
155 | children = (
156 | 1479F3BF26636B2D003EC36B /* Preview Assets.xcassets */,
157 | );
158 | path = "Preview Content";
159 | sourceTree = "";
160 | };
161 | 14F7EE712523712B005D7C21 = {
162 | isa = PBXGroup;
163 | children = (
164 | 14F7EE7C2523712B005D7C21 /* SampleApp */,
165 | 1479F3A426636B29003EC36B /* SampleWatchApp WatchKit App */,
166 | 1479F3B326636B2B003EC36B /* SampleWatchApp WatchKit Extension */,
167 | 140FC6532825B93800A5F06B /* Packages */,
168 | 14F7EE7B2523712B005D7C21 /* Products */,
169 | 14F7EEDA25237432005D7C21 /* Frameworks */,
170 | );
171 | sourceTree = "";
172 | };
173 | 14F7EE7B2523712B005D7C21 /* Products */ = {
174 | isa = PBXGroup;
175 | children = (
176 | 14F7EE7A2523712B005D7C21 /* SampleApp.app */,
177 | 1479F39D26636B29003EC36B /* SampleWatchApp.app */,
178 | 1479F3A026636B29003EC36B /* SampleWatchApp WatchKit App.app */,
179 | 1479F3AF26636B2B003EC36B /* SampleWatchApp WatchKit Extension.appex */,
180 | );
181 | name = Products;
182 | sourceTree = "";
183 | };
184 | 14F7EE7C2523712B005D7C21 /* SampleApp */ = {
185 | isa = PBXGroup;
186 | children = (
187 | 14005CB625237524006A911E /* AppDelegate.swift */,
188 | 14F7EEC9252371DC005D7C21 /* InfoPlist.strings */,
189 | 14F7EEC5252371DC005D7C21 /* LaunchScreen.storyboard */,
190 | 14F7EEC7252371DC005D7C21 /* Main.storyboard */,
191 | 14F7EE9A2523719F005D7C21 /* Info.plist */,
192 | 14F7EE9725237194005D7C21 /* ViewController.swift */,
193 | 14F7EE942523717A005D7C21 /* Assets.xcassets */,
194 | );
195 | path = SampleApp;
196 | sourceTree = "";
197 | };
198 | 14F7EEDA25237432005D7C21 /* Frameworks */ = {
199 | isa = PBXGroup;
200 | children = (
201 | );
202 | name = Frameworks;
203 | sourceTree = "";
204 | };
205 | /* End PBXGroup section */
206 |
207 | /* Begin PBXNativeTarget section */
208 | 1479F39C26636B29003EC36B /* SampleWatchApp */ = {
209 | isa = PBXNativeTarget;
210 | buildConfigurationList = 1479F3CA26636B2D003EC36B /* Build configuration list for PBXNativeTarget "SampleWatchApp" */;
211 | buildPhases = (
212 | 1479F39B26636B29003EC36B /* Resources */,
213 | 1479F3C926636B2D003EC36B /* Embed Watch Content */,
214 | );
215 | buildRules = (
216 | );
217 | dependencies = (
218 | 1479F3A326636B29003EC36B /* PBXTargetDependency */,
219 | );
220 | name = SampleWatchApp;
221 | productName = SampleWatchApp;
222 | productReference = 1479F39D26636B29003EC36B /* SampleWatchApp.app */;
223 | productType = "com.apple.product-type.application.watchapp2-container";
224 | };
225 | 1479F39F26636B29003EC36B /* SampleWatchApp WatchKit App */ = {
226 | isa = PBXNativeTarget;
227 | buildConfigurationList = 1479F3C626636B2D003EC36B /* Build configuration list for PBXNativeTarget "SampleWatchApp WatchKit App" */;
228 | buildPhases = (
229 | 1479F39E26636B29003EC36B /* Resources */,
230 | 1479F3C526636B2D003EC36B /* Embed App Extensions */,
231 | );
232 | buildRules = (
233 | );
234 | dependencies = (
235 | 1479F3B226636B2B003EC36B /* PBXTargetDependency */,
236 | );
237 | name = "SampleWatchApp WatchKit App";
238 | productName = "SampleWatchApp WatchKit App";
239 | productReference = 1479F3A026636B29003EC36B /* SampleWatchApp WatchKit App.app */;
240 | productType = "com.apple.product-type.application.watchapp2";
241 | };
242 | 1479F3AE26636B2B003EC36B /* SampleWatchApp WatchKit Extension */ = {
243 | isa = PBXNativeTarget;
244 | buildConfigurationList = 1479F3C226636B2D003EC36B /* Build configuration list for PBXNativeTarget "SampleWatchApp WatchKit Extension" */;
245 | buildPhases = (
246 | 1479F3AB26636B2B003EC36B /* Sources */,
247 | 1479F3AC26636B2B003EC36B /* Frameworks */,
248 | 1479F3AD26636B2B003EC36B /* Resources */,
249 | );
250 | buildRules = (
251 | );
252 | dependencies = (
253 | );
254 | name = "SampleWatchApp WatchKit Extension";
255 | packageProductDependencies = (
256 | 1479F3CD26636C60003EC36B /* LocalizedDeviceModel */,
257 | );
258 | productName = "SampleWatchApp WatchKit Extension";
259 | productReference = 1479F3AF26636B2B003EC36B /* SampleWatchApp WatchKit Extension.appex */;
260 | productType = "com.apple.product-type.watchkit2-extension";
261 | };
262 | 14F7EE792523712B005D7C21 /* SampleApp */ = {
263 | isa = PBXNativeTarget;
264 | buildConfigurationList = 14F7EE8E2523712B005D7C21 /* Build configuration list for PBXNativeTarget "SampleApp" */;
265 | buildPhases = (
266 | 14F7EE762523712B005D7C21 /* Sources */,
267 | 14F7EE772523712B005D7C21 /* Frameworks */,
268 | 14F7EE782523712B005D7C21 /* Resources */,
269 | );
270 | buildRules = (
271 | );
272 | dependencies = (
273 | );
274 | name = SampleApp;
275 | packageProductDependencies = (
276 | 14005CB325237503006A911E /* LocalizedDeviceModel */,
277 | );
278 | productName = SampleApp;
279 | productReference = 14F7EE7A2523712B005D7C21 /* SampleApp.app */;
280 | productType = "com.apple.product-type.application";
281 | };
282 | /* End PBXNativeTarget section */
283 |
284 | /* Begin PBXProject section */
285 | 14F7EE722523712B005D7C21 /* Project object */ = {
286 | isa = PBXProject;
287 | attributes = {
288 | LastSwiftUpdateCheck = 1250;
289 | LastUpgradeCheck = 1330;
290 | TargetAttributes = {
291 | 1479F39C26636B29003EC36B = {
292 | CreatedOnToolsVersion = 12.5;
293 | };
294 | 1479F39F26636B29003EC36B = {
295 | CreatedOnToolsVersion = 12.5;
296 | };
297 | 1479F3AE26636B2B003EC36B = {
298 | CreatedOnToolsVersion = 12.5;
299 | };
300 | 14F7EE792523712B005D7C21 = {
301 | CreatedOnToolsVersion = 12.0;
302 | LastSwiftMigration = 1200;
303 | };
304 | };
305 | };
306 | buildConfigurationList = 14F7EE752523712B005D7C21 /* Build configuration list for PBXProject "SampleApp" */;
307 | compatibilityVersion = "Xcode 9.3";
308 | developmentRegion = en;
309 | hasScannedForEncodings = 0;
310 | knownRegions = (
311 | en,
312 | Base,
313 | fr,
314 | es,
315 | it,
316 | ru,
317 | "zh-Hans",
318 | de,
319 | pt,
320 | );
321 | mainGroup = 14F7EE712523712B005D7C21;
322 | productRefGroup = 14F7EE7B2523712B005D7C21 /* Products */;
323 | projectDirPath = "";
324 | projectRoot = "";
325 | targets = (
326 | 14F7EE792523712B005D7C21 /* SampleApp */,
327 | 1479F39C26636B29003EC36B /* SampleWatchApp */,
328 | 1479F39F26636B29003EC36B /* SampleWatchApp WatchKit App */,
329 | 1479F3AE26636B2B003EC36B /* SampleWatchApp WatchKit Extension */,
330 | );
331 | };
332 | /* End PBXProject section */
333 |
334 | /* Begin PBXResourcesBuildPhase section */
335 | 1479F39B26636B29003EC36B /* Resources */ = {
336 | isa = PBXResourcesBuildPhase;
337 | buildActionMask = 2147483647;
338 | files = (
339 | );
340 | runOnlyForDeploymentPostprocessing = 0;
341 | };
342 | 1479F39E26636B29003EC36B /* Resources */ = {
343 | isa = PBXResourcesBuildPhase;
344 | buildActionMask = 2147483647;
345 | files = (
346 | 1479F3A926636B2B003EC36B /* Assets.xcassets in Resources */,
347 | 1479F3A726636B29003EC36B /* Interface.storyboard in Resources */,
348 | );
349 | runOnlyForDeploymentPostprocessing = 0;
350 | };
351 | 1479F3AD26636B2B003EC36B /* Resources */ = {
352 | isa = PBXResourcesBuildPhase;
353 | buildActionMask = 2147483647;
354 | files = (
355 | 1479F3C026636B2D003EC36B /* Preview Assets.xcassets in Resources */,
356 | 1479F3BD26636B2D003EC36B /* Assets.xcassets in Resources */,
357 | );
358 | runOnlyForDeploymentPostprocessing = 0;
359 | };
360 | 14F7EE782523712B005D7C21 /* Resources */ = {
361 | isa = PBXResourcesBuildPhase;
362 | buildActionMask = 2147483647;
363 | files = (
364 | 14F7EECB252371DC005D7C21 /* LaunchScreen.storyboard in Resources */,
365 | 14F7EE952523717A005D7C21 /* Assets.xcassets in Resources */,
366 | 14F7EECC252371DC005D7C21 /* Main.storyboard in Resources */,
367 | 14F7EECD252371DC005D7C21 /* InfoPlist.strings in Resources */,
368 | );
369 | runOnlyForDeploymentPostprocessing = 0;
370 | };
371 | /* End PBXResourcesBuildPhase section */
372 |
373 | /* Begin PBXSourcesBuildPhase section */
374 | 1479F3AB26636B2B003EC36B /* Sources */ = {
375 | isa = PBXSourcesBuildPhase;
376 | buildActionMask = 2147483647;
377 | files = (
378 | 1479F3B726636B2B003EC36B /* ContentView.swift in Sources */,
379 | 1479F3B526636B2B003EC36B /* HostingController.swift in Sources */,
380 | 1479F3B926636B2B003EC36B /* ExtensionDelegate.swift in Sources */,
381 | );
382 | runOnlyForDeploymentPostprocessing = 0;
383 | };
384 | 14F7EE762523712B005D7C21 /* Sources */ = {
385 | isa = PBXSourcesBuildPhase;
386 | buildActionMask = 2147483647;
387 | files = (
388 | 14005CB725237524006A911E /* AppDelegate.swift in Sources */,
389 | 14F7EE9825237194005D7C21 /* ViewController.swift in Sources */,
390 | );
391 | runOnlyForDeploymentPostprocessing = 0;
392 | };
393 | /* End PBXSourcesBuildPhase section */
394 |
395 | /* Begin PBXTargetDependency section */
396 | 1479F3A326636B29003EC36B /* PBXTargetDependency */ = {
397 | isa = PBXTargetDependency;
398 | target = 1479F39F26636B29003EC36B /* SampleWatchApp WatchKit App */;
399 | targetProxy = 1479F3A226636B29003EC36B /* PBXContainerItemProxy */;
400 | };
401 | 1479F3B226636B2B003EC36B /* PBXTargetDependency */ = {
402 | isa = PBXTargetDependency;
403 | target = 1479F3AE26636B2B003EC36B /* SampleWatchApp WatchKit Extension */;
404 | targetProxy = 1479F3B126636B2B003EC36B /* PBXContainerItemProxy */;
405 | };
406 | /* End PBXTargetDependency section */
407 |
408 | /* Begin PBXVariantGroup section */
409 | 1479F3A526636B29003EC36B /* Interface.storyboard */ = {
410 | isa = PBXVariantGroup;
411 | children = (
412 | 1479F3A626636B29003EC36B /* Base */,
413 | );
414 | name = Interface.storyboard;
415 | sourceTree = "";
416 | };
417 | 14F7EEC5252371DC005D7C21 /* LaunchScreen.storyboard */ = {
418 | isa = PBXVariantGroup;
419 | children = (
420 | 14F7EEC6252371DC005D7C21 /* Base */,
421 | );
422 | name = LaunchScreen.storyboard;
423 | sourceTree = "";
424 | };
425 | 14F7EEC7252371DC005D7C21 /* Main.storyboard */ = {
426 | isa = PBXVariantGroup;
427 | children = (
428 | 14F7EEC8252371DC005D7C21 /* Base */,
429 | );
430 | name = Main.storyboard;
431 | sourceTree = "";
432 | };
433 | 14F7EEC9252371DC005D7C21 /* InfoPlist.strings */ = {
434 | isa = PBXVariantGroup;
435 | children = (
436 | 14F7EECA252371DC005D7C21 /* Base */,
437 | 14F7EECF252371F0005D7C21 /* de */,
438 | 14F7EED0252371F0005D7C21 /* zh-Hans */,
439 | 14F7EED1252371F0005D7C21 /* it */,
440 | 14F7EED2252371F0005D7C21 /* pt */,
441 | 14F7EED3252371F0005D7C21 /* ru */,
442 | 14F7EED4252371F0005D7C21 /* fr */,
443 | 14F7EED5252371F0005D7C21 /* es */,
444 | );
445 | name = InfoPlist.strings;
446 | sourceTree = "";
447 | };
448 | /* End PBXVariantGroup section */
449 |
450 | /* Begin XCBuildConfiguration section */
451 | 1479F3C326636B2D003EC36B /* Debug */ = {
452 | isa = XCBuildConfiguration;
453 | buildSettings = {
454 | ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication;
455 | CODE_SIGN_STYLE = Automatic;
456 | DEVELOPMENT_ASSET_PATHS = "\"SampleWatchApp WatchKit Extension/Preview Content\"";
457 | ENABLE_PREVIEWS = YES;
458 | INFOPLIST_FILE = "SampleWatchApp WatchKit Extension/Info.plist";
459 | LD_RUNPATH_SEARCH_PATHS = (
460 | "$(inherited)",
461 | "@executable_path/Frameworks",
462 | "@executable_path/../../Frameworks",
463 | );
464 | PRODUCT_BUNDLE_IDENTIFIER = com.bddq.SampleWatchApp.watchkitapp.watchkitextension;
465 | PRODUCT_NAME = "${TARGET_NAME}";
466 | SDKROOT = watchos;
467 | SKIP_INSTALL = YES;
468 | SWIFT_VERSION = 5.0;
469 | TARGETED_DEVICE_FAMILY = 4;
470 | };
471 | name = Debug;
472 | };
473 | 1479F3C426636B2D003EC36B /* Release */ = {
474 | isa = XCBuildConfiguration;
475 | buildSettings = {
476 | ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication;
477 | CODE_SIGN_STYLE = Automatic;
478 | DEVELOPMENT_ASSET_PATHS = "\"SampleWatchApp WatchKit Extension/Preview Content\"";
479 | ENABLE_PREVIEWS = YES;
480 | INFOPLIST_FILE = "SampleWatchApp WatchKit Extension/Info.plist";
481 | LD_RUNPATH_SEARCH_PATHS = (
482 | "$(inherited)",
483 | "@executable_path/Frameworks",
484 | "@executable_path/../../Frameworks",
485 | );
486 | PRODUCT_BUNDLE_IDENTIFIER = com.bddq.SampleWatchApp.watchkitapp.watchkitextension;
487 | PRODUCT_NAME = "${TARGET_NAME}";
488 | SDKROOT = watchos;
489 | SKIP_INSTALL = YES;
490 | SWIFT_VERSION = 5.0;
491 | TARGETED_DEVICE_FAMILY = 4;
492 | };
493 | name = Release;
494 | };
495 | 1479F3C726636B2D003EC36B /* Debug */ = {
496 | isa = XCBuildConfiguration;
497 | buildSettings = {
498 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
499 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
500 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
501 | CODE_SIGN_STYLE = Automatic;
502 | IBSC_MODULE = SampleWatchApp_WatchKit_Extension;
503 | INFOPLIST_FILE = "SampleWatchApp WatchKit App/Info.plist";
504 | PRODUCT_BUNDLE_IDENTIFIER = com.bddq.SampleWatchApp.watchkitapp;
505 | PRODUCT_NAME = "$(TARGET_NAME)";
506 | SDKROOT = watchos;
507 | SKIP_INSTALL = YES;
508 | SWIFT_VERSION = 5.0;
509 | TARGETED_DEVICE_FAMILY = 4;
510 | };
511 | name = Debug;
512 | };
513 | 1479F3C826636B2D003EC36B /* Release */ = {
514 | isa = XCBuildConfiguration;
515 | buildSettings = {
516 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
517 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
518 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
519 | CODE_SIGN_STYLE = Automatic;
520 | IBSC_MODULE = SampleWatchApp_WatchKit_Extension;
521 | INFOPLIST_FILE = "SampleWatchApp WatchKit App/Info.plist";
522 | PRODUCT_BUNDLE_IDENTIFIER = com.bddq.SampleWatchApp.watchkitapp;
523 | PRODUCT_NAME = "$(TARGET_NAME)";
524 | SDKROOT = watchos;
525 | SKIP_INSTALL = YES;
526 | SWIFT_VERSION = 5.0;
527 | TARGETED_DEVICE_FAMILY = 4;
528 | };
529 | name = Release;
530 | };
531 | 1479F3CB26636B2D003EC36B /* Debug */ = {
532 | isa = XCBuildConfiguration;
533 | buildSettings = {
534 | CODE_SIGN_STYLE = Automatic;
535 | CURRENT_PROJECT_VERSION = 1;
536 | MARKETING_VERSION = 1.0;
537 | PRODUCT_BUNDLE_IDENTIFIER = com.bddq.SampleWatchApp;
538 | PRODUCT_NAME = "$(TARGET_NAME)";
539 | SWIFT_VERSION = 5.0;
540 | };
541 | name = Debug;
542 | };
543 | 1479F3CC26636B2D003EC36B /* Release */ = {
544 | isa = XCBuildConfiguration;
545 | buildSettings = {
546 | CODE_SIGN_STYLE = Automatic;
547 | CURRENT_PROJECT_VERSION = 1;
548 | MARKETING_VERSION = 1.0;
549 | PRODUCT_BUNDLE_IDENTIFIER = com.bddq.SampleWatchApp;
550 | PRODUCT_NAME = "$(TARGET_NAME)";
551 | SWIFT_VERSION = 5.0;
552 | };
553 | name = Release;
554 | };
555 | 14F7EE8C2523712B005D7C21 /* Debug */ = {
556 | isa = XCBuildConfiguration;
557 | buildSettings = {
558 | ALWAYS_SEARCH_USER_PATHS = NO;
559 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
560 | CLANG_ANALYZER_NONNULL = YES;
561 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
562 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
563 | CLANG_CXX_LIBRARY = "libc++";
564 | CLANG_ENABLE_MODULES = YES;
565 | CLANG_ENABLE_OBJC_ARC = YES;
566 | CLANG_ENABLE_OBJC_WEAK = YES;
567 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
568 | CLANG_WARN_BOOL_CONVERSION = YES;
569 | CLANG_WARN_COMMA = YES;
570 | CLANG_WARN_CONSTANT_CONVERSION = YES;
571 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
572 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
573 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
574 | CLANG_WARN_EMPTY_BODY = YES;
575 | CLANG_WARN_ENUM_CONVERSION = YES;
576 | CLANG_WARN_INFINITE_RECURSION = YES;
577 | CLANG_WARN_INT_CONVERSION = YES;
578 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
579 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
580 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
581 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
582 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
583 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
584 | CLANG_WARN_STRICT_PROTOTYPES = YES;
585 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
586 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
587 | CLANG_WARN_UNREACHABLE_CODE = YES;
588 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
589 | COPY_PHASE_STRIP = NO;
590 | DEBUG_INFORMATION_FORMAT = dwarf;
591 | ENABLE_STRICT_OBJC_MSGSEND = YES;
592 | ENABLE_TESTABILITY = YES;
593 | GCC_C_LANGUAGE_STANDARD = gnu11;
594 | GCC_DYNAMIC_NO_PIC = NO;
595 | GCC_NO_COMMON_BLOCKS = YES;
596 | GCC_OPTIMIZATION_LEVEL = 0;
597 | GCC_PREPROCESSOR_DEFINITIONS = (
598 | "DEBUG=1",
599 | "$(inherited)",
600 | );
601 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
602 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
603 | GCC_WARN_UNDECLARED_SELECTOR = YES;
604 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
605 | GCC_WARN_UNUSED_FUNCTION = YES;
606 | GCC_WARN_UNUSED_VARIABLE = YES;
607 | IPHONEOS_DEPLOYMENT_TARGET = 12.0;
608 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
609 | MTL_FAST_MATH = YES;
610 | ONLY_ACTIVE_ARCH = YES;
611 | SDKROOT = iphoneos;
612 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
613 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
614 | TVOS_DEPLOYMENT_TARGET = 12.0;
615 | WATCHOS_DEPLOYMENT_TARGET = 6.0;
616 | };
617 | name = Debug;
618 | };
619 | 14F7EE8D2523712B005D7C21 /* Release */ = {
620 | isa = XCBuildConfiguration;
621 | buildSettings = {
622 | ALWAYS_SEARCH_USER_PATHS = NO;
623 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
624 | CLANG_ANALYZER_NONNULL = YES;
625 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
626 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
627 | CLANG_CXX_LIBRARY = "libc++";
628 | CLANG_ENABLE_MODULES = YES;
629 | CLANG_ENABLE_OBJC_ARC = YES;
630 | CLANG_ENABLE_OBJC_WEAK = YES;
631 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
632 | CLANG_WARN_BOOL_CONVERSION = YES;
633 | CLANG_WARN_COMMA = YES;
634 | CLANG_WARN_CONSTANT_CONVERSION = YES;
635 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
636 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
637 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
638 | CLANG_WARN_EMPTY_BODY = YES;
639 | CLANG_WARN_ENUM_CONVERSION = YES;
640 | CLANG_WARN_INFINITE_RECURSION = YES;
641 | CLANG_WARN_INT_CONVERSION = YES;
642 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
643 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
644 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
645 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
646 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
647 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
648 | CLANG_WARN_STRICT_PROTOTYPES = YES;
649 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
650 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
651 | CLANG_WARN_UNREACHABLE_CODE = YES;
652 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
653 | COPY_PHASE_STRIP = NO;
654 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
655 | ENABLE_NS_ASSERTIONS = NO;
656 | ENABLE_STRICT_OBJC_MSGSEND = YES;
657 | GCC_C_LANGUAGE_STANDARD = gnu11;
658 | GCC_NO_COMMON_BLOCKS = YES;
659 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
660 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
661 | GCC_WARN_UNDECLARED_SELECTOR = YES;
662 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
663 | GCC_WARN_UNUSED_FUNCTION = YES;
664 | GCC_WARN_UNUSED_VARIABLE = YES;
665 | IPHONEOS_DEPLOYMENT_TARGET = 12.0;
666 | MTL_ENABLE_DEBUG_INFO = NO;
667 | MTL_FAST_MATH = YES;
668 | SDKROOT = iphoneos;
669 | SWIFT_COMPILATION_MODE = wholemodule;
670 | SWIFT_OPTIMIZATION_LEVEL = "-O";
671 | TVOS_DEPLOYMENT_TARGET = 12.0;
672 | VALIDATE_PRODUCT = YES;
673 | WATCHOS_DEPLOYMENT_TARGET = 6.0;
674 | };
675 | name = Release;
676 | };
677 | 14F7EE8F2523712B005D7C21 /* Debug */ = {
678 | isa = XCBuildConfiguration;
679 | buildSettings = {
680 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
681 | CLANG_ENABLE_MODULES = YES;
682 | CODE_SIGN_STYLE = Manual;
683 | DEVELOPMENT_TEAM = "";
684 | ENABLE_PREVIEWS = YES;
685 | INFOPLIST_FILE = SampleApp/Info.plist;
686 | LD_RUNPATH_SEARCH_PATHS = (
687 | "$(inherited)",
688 | "@executable_path/Frameworks",
689 | );
690 | PRODUCT_BUNDLE_IDENTIFIER = com.bddq.SampleApp;
691 | PRODUCT_NAME = "$(TARGET_NAME)";
692 | PROVISIONING_PROFILE_SPECIFIER = "";
693 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
694 | SWIFT_VERSION = 5.0;
695 | TARGETED_DEVICE_FAMILY = "1,2";
696 | };
697 | name = Debug;
698 | };
699 | 14F7EE902523712B005D7C21 /* Release */ = {
700 | isa = XCBuildConfiguration;
701 | buildSettings = {
702 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
703 | CLANG_ENABLE_MODULES = YES;
704 | CODE_SIGN_STYLE = Manual;
705 | DEVELOPMENT_TEAM = "";
706 | ENABLE_PREVIEWS = YES;
707 | INFOPLIST_FILE = SampleApp/Info.plist;
708 | LD_RUNPATH_SEARCH_PATHS = (
709 | "$(inherited)",
710 | "@executable_path/Frameworks",
711 | );
712 | PRODUCT_BUNDLE_IDENTIFIER = com.bddq.SampleApp;
713 | PRODUCT_NAME = "$(TARGET_NAME)";
714 | PROVISIONING_PROFILE_SPECIFIER = "";
715 | SWIFT_VERSION = 5.0;
716 | TARGETED_DEVICE_FAMILY = "1,2";
717 | };
718 | name = Release;
719 | };
720 | /* End XCBuildConfiguration section */
721 |
722 | /* Begin XCConfigurationList section */
723 | 1479F3C226636B2D003EC36B /* Build configuration list for PBXNativeTarget "SampleWatchApp WatchKit Extension" */ = {
724 | isa = XCConfigurationList;
725 | buildConfigurations = (
726 | 1479F3C326636B2D003EC36B /* Debug */,
727 | 1479F3C426636B2D003EC36B /* Release */,
728 | );
729 | defaultConfigurationIsVisible = 0;
730 | defaultConfigurationName = Release;
731 | };
732 | 1479F3C626636B2D003EC36B /* Build configuration list for PBXNativeTarget "SampleWatchApp WatchKit App" */ = {
733 | isa = XCConfigurationList;
734 | buildConfigurations = (
735 | 1479F3C726636B2D003EC36B /* Debug */,
736 | 1479F3C826636B2D003EC36B /* Release */,
737 | );
738 | defaultConfigurationIsVisible = 0;
739 | defaultConfigurationName = Release;
740 | };
741 | 1479F3CA26636B2D003EC36B /* Build configuration list for PBXNativeTarget "SampleWatchApp" */ = {
742 | isa = XCConfigurationList;
743 | buildConfigurations = (
744 | 1479F3CB26636B2D003EC36B /* Debug */,
745 | 1479F3CC26636B2D003EC36B /* Release */,
746 | );
747 | defaultConfigurationIsVisible = 0;
748 | defaultConfigurationName = Release;
749 | };
750 | 14F7EE752523712B005D7C21 /* Build configuration list for PBXProject "SampleApp" */ = {
751 | isa = XCConfigurationList;
752 | buildConfigurations = (
753 | 14F7EE8C2523712B005D7C21 /* Debug */,
754 | 14F7EE8D2523712B005D7C21 /* Release */,
755 | );
756 | defaultConfigurationIsVisible = 0;
757 | defaultConfigurationName = Release;
758 | };
759 | 14F7EE8E2523712B005D7C21 /* Build configuration list for PBXNativeTarget "SampleApp" */ = {
760 | isa = XCConfigurationList;
761 | buildConfigurations = (
762 | 14F7EE8F2523712B005D7C21 /* Debug */,
763 | 14F7EE902523712B005D7C21 /* Release */,
764 | );
765 | defaultConfigurationIsVisible = 0;
766 | defaultConfigurationName = Release;
767 | };
768 | /* End XCConfigurationList section */
769 |
770 | /* Begin XCSwiftPackageProductDependency section */
771 | 14005CB325237503006A911E /* LocalizedDeviceModel */ = {
772 | isa = XCSwiftPackageProductDependency;
773 | productName = LocalizedDeviceModel;
774 | };
775 | 1479F3CD26636C60003EC36B /* LocalizedDeviceModel */ = {
776 | isa = XCSwiftPackageProductDependency;
777 | productName = LocalizedDeviceModel;
778 | };
779 | /* End XCSwiftPackageProductDependency section */
780 | };
781 | rootObject = 14F7EE722523712B005D7C21 /* Project object */;
782 | }
783 |
--------------------------------------------------------------------------------