Showing preview only (1,004K chars total). Download the full file or copy to clipboard to get everything.
Repository: mac-cain13/R.swift
Branch: main
Commit: f0a0d5316861
Files: 385
Total size: 890.5 KB
Directory structure:
gitextract_98a7l1sm/
├── .github/
│ └── workflows/
│ ├── checks.yml
│ └── release.yml
├── .gitignore
├── Documentation/
│ ├── Contribute.md
│ ├── Examples.md
│ ├── Ignoring.md
│ ├── Migration.md
│ ├── QandA.md
│ └── Readme.md
├── Examples/
│ ├── FileSystemSynchronized/
│ │ ├── FileSystemSynchronized.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ └── project.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ └── IDEWorkspaceChecks.plist
│ │ ├── MainUI/
│ │ │ ├── Assets.xcassets/
│ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ └── hand.ignoreme.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── Base.lproj/
│ │ │ │ └── MyStoryboard.storyboard
│ │ │ ├── ContentView.swift
│ │ │ ├── Info.plist
│ │ │ ├── MainUI.entitlements
│ │ │ ├── MainUIApp.swift
│ │ │ ├── Preview Content/
│ │ │ │ └── Preview Assets.xcassets/
│ │ │ │ └── Contents.json
│ │ │ ├── View.xib
│ │ │ └── nl.lproj/
│ │ │ └── MyStoryboard.strings
│ │ └── TheAppClip/
│ │ ├── ClipAssets.xcassets/
│ │ │ ├── Contents.json
│ │ │ └── MyColor.colorset/
│ │ │ └── Contents.json
│ │ ├── ContentView.swift
│ │ ├── Group1/
│ │ │ ├── Base.lproj/
│ │ │ │ └── MySiriIntents.intentdefinition
│ │ │ ├── Folder1/
│ │ │ │ └── .gitkeep
│ │ │ └── nl.lproj/
│ │ │ └── MySiriIntents.strings
│ │ ├── Info.plist
│ │ ├── Preview Content/
│ │ │ └── Preview Assets.xcassets/
│ │ │ └── Contents.json
│ │ ├── TheAppClip.entitlements
│ │ ├── TheAppClipApp.swift
│ │ ├── en.lproj/
│ │ │ └── Localizable.strings
│ │ └── nl.lproj/
│ │ └── Localizable.strings
│ ├── LocalizedStringApp/
│ │ ├── LocalizedStringApp/
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Base.lproj/
│ │ │ │ ├── eight.strings
│ │ │ │ └── nine.strings
│ │ │ ├── Info.plist
│ │ │ ├── ca.lproj/
│ │ │ │ └── four.strings
│ │ │ ├── en-GB.lproj/
│ │ │ │ └── five.strings
│ │ │ ├── en.lproj/
│ │ │ │ ├── MyStoryboard.storyboard
│ │ │ │ ├── five.strings
│ │ │ │ ├── nine.strings
│ │ │ │ ├── seven.strings
│ │ │ │ ├── three.strings
│ │ │ │ └── two.strings
│ │ │ ├── fr-CA.lproj/
│ │ │ │ ├── five.strings
│ │ │ │ └── six.strings
│ │ │ ├── fr.lproj/
│ │ │ │ ├── eight.strings
│ │ │ │ ├── five.strings
│ │ │ │ ├── nine.strings
│ │ │ │ ├── seven.strings
│ │ │ │ ├── six.strings
│ │ │ │ └── ten.stringsdict
│ │ │ ├── nl.lproj/
│ │ │ │ ├── eight.strings
│ │ │ │ ├── four.strings
│ │ │ │ ├── nine.strings
│ │ │ │ ├── seven.strings
│ │ │ │ ├── ten.stringsdict
│ │ │ │ └── three.strings
│ │ │ └── one.strings
│ │ ├── LocalizedStringApp.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace/
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata/
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── swiftpm/
│ │ │ │ └── Package.resolved
│ │ │ └── xcshareddata/
│ │ │ └── xcschemes/
│ │ │ ├── LocalizedStringApp Dutch.xcscheme
│ │ │ ├── LocalizedStringApp English (GB).xcscheme
│ │ │ ├── LocalizedStringApp English.xcscheme
│ │ │ ├── LocalizedStringApp French (Canada).xcscheme
│ │ │ ├── LocalizedStringApp French.xcscheme
│ │ │ ├── LocalizedStringApp Turkish.xcscheme
│ │ │ └── LocalizedStringApp.xcscheme
│ │ └── LocalizedStringAppTests/
│ │ ├── Info.plist
│ │ └── LocalizedStringAppTests.swift
│ ├── ResourceApp/
│ │ ├── .rswiftignore
│ │ ├── Podfile
│ │ ├── ResourceApp/
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Base.lproj/
│ │ │ │ ├── LaunchScreen.xib
│ │ │ │ ├── Main.storyboard
│ │ │ │ └── Secondary.storyboard
│ │ │ ├── CellCollectionView.xib
│ │ │ ├── CellView.xib
│ │ │ ├── CustomSegue.swift
│ │ │ ├── Duplicate/
│ │ │ │ ├── ADuplicateCellView.xib
│ │ │ │ ├── duplicate.storyboard
│ │ │ │ └── duplicate.xib
│ │ │ ├── Duplicate.storyboard
│ │ │ ├── Duplicate.xib
│ │ │ ├── DuplicateCellView.xib
│ │ │ ├── Files/
│ │ │ │ ├── #column
│ │ │ │ ├── Duplicate.json
│ │ │ │ ├── Some.json
│ │ │ │ ├── __FILE__
│ │ │ │ ├── associatedtype
│ │ │ │ └── duplicateJson
│ │ │ ├── FirstViewController.swift
│ │ │ ├── Images/
│ │ │ │ └── Sky.tiff
│ │ │ ├── Images.xcassets/
│ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ ├── My Red.colorset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Namespace/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── Second.imageset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── first.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Second.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Some Folder/
│ │ │ │ │ ├── A Nested Folder/
│ │ │ │ │ │ ├── first nested.imageset/
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ └── second nested.imageset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── eerste.imageset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── second.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── TheAppIcon.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── first.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── Images2.xcassets/
│ │ │ │ ├── Conflicting.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Namespace 1/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── Inner/
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── Namespace 2/
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── Folder/
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── first.imageset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── Second.imageset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── third.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Namespace-/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── Inner/
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── Namespace/
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── Folder/
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── first.imageset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── Second.imageset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── third.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── conflicting/
│ │ │ │ ├── Contents.json
│ │ │ │ └── first.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── Info.plist
│ │ │ ├── Localized/
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ └── hello.txt
│ │ │ │ ├── es.lproj/
│ │ │ │ │ └── hello.txt
│ │ │ │ └── nl.lproj/
│ │ │ │ └── hello.txt
│ │ │ ├── Media.xcassets/
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Folder/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── Not dupe.colorset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Keyboard Focus Indicator color.colorset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── My Red.colorset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Not dupe.colorset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Slightly transparant.colorset/
│ │ │ │ └── Contents.json
│ │ │ ├── My View.xib
│ │ │ ├── MyViewController.swift
│ │ │ ├── References.storyboard
│ │ │ ├── Relative To Project/
│ │ │ │ └── RelativeToProject.xib
│ │ │ ├── SceneDelegate.swift
│ │ │ ├── SecondViewController.swift
│ │ │ ├── SegueIdentifiers.storyboard
│ │ │ ├── Settings.bundle/
│ │ │ │ ├── Root.plist
│ │ │ │ └── en.lproj/
│ │ │ │ └── Root.strings
│ │ │ ├── Specials.storyboard
│ │ │ ├── Strings/
│ │ │ │ ├── @@.strings
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ ├── Settings.strings
│ │ │ │ │ └── Settings.stringsdict
│ │ │ │ ├── Duplicate#.strings
│ │ │ │ ├── Duplicate.strings
│ │ │ │ ├── Generic.strings
│ │ │ │ ├── Generic.stringsdict
│ │ │ │ ├── en.lproj/
│ │ │ │ │ └── Localizable.strings
│ │ │ │ ├── es.lproj/
│ │ │ │ │ └── Localizable.strings
│ │ │ │ ├── ja.lproj/
│ │ │ │ │ └── Localizable.strings
│ │ │ │ └── nl.lproj/
│ │ │ │ ├── Settings.strings
│ │ │ │ └── Settings.stringsdict
│ │ │ ├── SupplementaryElement.xib
│ │ │ ├── TabBarItem.storyboard
│ │ │ ├── WhitespaceReuseIdentifer.xib
│ │ │ └── Xib with ViewController.xib
│ │ ├── ResourceApp.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace/
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata/
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── swiftpm/
│ │ │ │ └── Package.resolved
│ │ │ └── xcshareddata/
│ │ │ └── xcschemes/
│ │ │ └── ResourceApp.xcscheme
│ │ ├── ResourceApp.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── swiftpm/
│ │ │ └── Package.resolved
│ │ └── ResourceAppTests/
│ │ ├── FilesTests.swift
│ │ ├── FontsTests.swift
│ │ ├── IgnoreTests.swift
│ │ ├── Info.plist
│ │ ├── InfoPlistTests.swift
│ │ ├── NibTests.swift
│ │ ├── ResourceAppTests.swift
│ │ ├── SegueTests.swift
│ │ ├── StoryboardTests.swift
│ │ ├── StringsTests.swift
│ │ └── ValidationTests.swift
│ ├── RswiftAppWithStaticFrameworks/
│ │ ├── App/
│ │ │ ├── Info.plist
│ │ │ ├── Resources/
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ ├── AccentColor.colorset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Base.lproj/
│ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ └── Main.storyboard
│ │ │ └── Sources/
│ │ │ ├── AppDelegate.swift
│ │ │ ├── SceneDelegate.swift
│ │ │ └── ViewController.swift
│ │ ├── AppTests/
│ │ │ └── AppTests.swift
│ │ ├── Bar/
│ │ │ ├── Info.plist
│ │ │ └── Sources/
│ │ │ └── Bar.swift
│ │ ├── Foo/
│ │ │ ├── Info.plist
│ │ │ └── Sources/
│ │ │ └── Foo.swift
│ │ ├── RswiftAppWithStaticFrameworks.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace/
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata/
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── swiftpm/
│ │ │ │ └── Package.resolved
│ │ │ └── xcshareddata/
│ │ │ └── xcschemes/
│ │ │ ├── App.xcscheme
│ │ │ ├── Bar.xcscheme
│ │ │ └── Foo.xcscheme
│ │ └── copy_bundles.sh
│ ├── RswiftUI/
│ │ ├── RswiftUI/
│ │ │ ├── Assets.xcassets/
│ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ └── hand.ignoreme.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ContentView.swift
│ │ │ ├── Info.plist
│ │ │ ├── Preview Content/
│ │ │ │ └── Preview Assets.xcassets/
│ │ │ │ └── Contents.json
│ │ │ └── RswiftUIApp.swift
│ │ ├── RswiftUI.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ └── project.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── swiftpm/
│ │ │ └── Package.resolved
│ │ └── RswiftUIAppClip/
│ │ ├── ClipAssets.xcassets/
│ │ │ ├── Contents.json
│ │ │ └── MyColor.colorset/
│ │ │ └── Contents.json
│ │ ├── ContentView.swift
│ │ ├── Info.plist
│ │ ├── Preview Content/
│ │ │ └── Preview Assets.xcassets/
│ │ │ └── Contents.json
│ │ ├── RswiftUIAppClip.entitlements
│ │ └── RswiftUIAppClipApp.swift
│ ├── RtvApp/
│ │ ├── .rswiftignore
│ │ ├── ResourceApp-tvOS/
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Assets.xcassets/
│ │ │ │ ├── Brand Assets.brandassets/
│ │ │ │ │ ├── App Icon - Large.imagestack/
│ │ │ │ │ │ ├── Back.imagestacklayer/
│ │ │ │ │ │ │ ├── Content.imageset/
│ │ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Front.imagestacklayer/
│ │ │ │ │ │ │ ├── Content.imageset/
│ │ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ └── Middle.imagestacklayer/
│ │ │ │ │ │ ├── Content.imageset/
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── App Icon - Small.imagestack/
│ │ │ │ │ │ ├── Back.imagestacklayer/
│ │ │ │ │ │ │ ├── Content.imageset/
│ │ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Front.imagestacklayer/
│ │ │ │ │ │ │ ├── Content.imageset/
│ │ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ └── Middle.imagestacklayer/
│ │ │ │ │ │ ├── Content.imageset/
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── Top Shelf Image Wide.imageset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Top Shelf Image.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── BrightWhite.colorset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ ├── ImageStackAsset.imagestack/
│ │ │ │ │ ├── Back.imagestacklayer/
│ │ │ │ │ │ ├── Content.imageset/
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── Front.imagestacklayer/
│ │ │ │ │ │ ├── Content.imageset/
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Middle.imagestacklayer/
│ │ │ │ │ ├── Content.imageset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ │ └── LaunchImage.launchimage/
│ │ │ │ └── Contents.json
│ │ │ ├── Base.lproj/
│ │ │ │ └── Main.storyboard
│ │ │ └── Info.plist
│ │ ├── ResourceAppTests-tvOS/
│ │ │ ├── ImageTests.swift
│ │ │ ├── Info.plist
│ │ │ └── ValidationTests.swift
│ │ └── RtvApp.xcodeproj/
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── swiftpm/
│ │ │ └── Package.resolved
│ │ └── xcshareddata/
│ │ └── xcschemes/
│ │ ├── ResourceApp-tvOS.xcscheme
│ │ └── ResourceAppTests-tvOS.xcscheme
│ └── RwatchApp/
│ ├── .rswiftignore
│ ├── ResourceApp-watchOS/
│ │ ├── Assets.xcassets/
│ │ │ ├── AppIcon.appiconset/
│ │ │ │ └── Contents.json
│ │ │ └── Contents.json
│ │ ├── Base.lproj/
│ │ │ └── Interface.storyboard
│ │ └── Info.plist
│ ├── ResourceApp-watchOS-Extension/
│ │ ├── Assets.xcassets/
│ │ │ ├── Complication.complicationset/
│ │ │ │ ├── Circular.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Extra Large.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Graphic Bezel.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Graphic Circular.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Graphic Corner.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Graphic Extra Large.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Graphic Large Rectangular.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Modular.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Utilitarian.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── Contents.json
│ │ │ ├── MyColor.colorset/
│ │ │ │ └── Contents.json
│ │ │ └── hand.ignoreme.imageset/
│ │ │ └── Contents.json
│ │ ├── ExtensionDelegate.swift
│ │ ├── Info.plist
│ │ ├── InterfaceController.swift
│ │ ├── NotificationController.swift
│ │ ├── PushNotificationPayload.apns
│ │ └── Strings/
│ │ ├── en.lproj/
│ │ │ └── Localizable.strings
│ │ ├── es.lproj/
│ │ │ └── Localizable.strings
│ │ └── ja.lproj/
│ │ └── Localizable.strings
│ └── RwatchApp.xcodeproj/
│ ├── project.pbxproj
│ ├── project.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── swiftpm/
│ │ └── Package.resolved
│ └── xcshareddata/
│ └── xcschemes/
│ ├── ResourceApp-watchOS (Notification).xcscheme
│ └── ResourceApp-watchOS.xcscheme
├── License
├── Package.resolved
├── Package.swift
├── Plugins/
│ ├── RswiftGenerateInternalResources/
│ │ └── RswiftGenerateInternalResources.swift
│ ├── RswiftGeneratePublicResources/
│ │ └── RswiftGeneratePublicResources.swift
│ ├── RswiftGenerateResourcesCommand/
│ │ └── RswiftGenerateResourcesCommand.swift
│ └── RswiftModifyXcodePackages/
│ └── RswiftModifyXcodePackages.swift
├── R.swift.podspec
├── README.md
├── Sources/
│ ├── RswiftGenerators/
│ │ ├── AccessibilityIdentifier+Generator.swift
│ │ ├── AssetCatalog+Generator.swift
│ │ ├── Extensions/
│ │ │ ├── Array+Extensions.swift
│ │ │ └── String+Extensions.swift
│ │ ├── FileResource+Generator.swift
│ │ ├── FontResource+Generator.swift
│ │ ├── Nib+Generator.swift
│ │ ├── PropertyListResource+Generator.swift
│ │ ├── ReuseIdentifier+Generator.swift
│ │ ├── Segue+Generator.swift
│ │ ├── Shared/
│ │ │ ├── AssetCatalogMergedNamespaces.swift
│ │ │ ├── LocaleReference+Generator.swift
│ │ │ ├── SwiftIdentifier.swift
│ │ │ └── TypeReference+Generator.swift
│ │ ├── Storyboard+Generator.swift
│ │ ├── StringsTable+Generator.swift
│ │ ├── SwiftSyntax/
│ │ │ ├── Struct.swift
│ │ │ └── StructMembersBuilder.swift
│ │ └── XcodeProject+Generator.swift
│ ├── RswiftParsers/
│ │ ├── ProjectResources.swift
│ │ ├── Resources/
│ │ │ ├── AssetCatalog+Parser.swift
│ │ │ ├── FileResource+Parser.swift
│ │ │ ├── FontResource+Parser.swift
│ │ │ ├── ImageResource+Parser.swift
│ │ │ ├── Nib+Parser.swift
│ │ │ ├── PropertyList+Parser.swift
│ │ │ ├── Storyboard+Parser.swift
│ │ │ └── StringsTable+Parser.swift
│ │ └── Shared/
│ │ ├── Bundle+Extensions.swift
│ │ ├── DeploymentTarget+Parser.swift
│ │ ├── FormatPart+Extensions.swift
│ │ ├── GeneratedId.swift
│ │ ├── Glob.swift
│ │ ├── IgnoreFile.swift
│ │ ├── ResourceParsingError.swift
│ │ ├── SourceTreeURLs.swift
│ │ ├── SupportedExtensions.swift
│ │ ├── TypeReference+Extensions.swift
│ │ ├── URL+Extensions.swift
│ │ └── Xcodeproj.swift
│ ├── RswiftResources/
│ │ ├── AssetCatalog.swift
│ │ ├── ColorResource.swift
│ │ ├── DataResource.swift
│ │ ├── FileResource.swift
│ │ ├── FontResource.swift
│ │ ├── ImageResource.swift
│ │ ├── Integrations/
│ │ │ ├── Bundle+Extensions.swift
│ │ │ ├── ColorResource+Integrations.swift
│ │ │ ├── DataResource+Integrations.swift
│ │ │ ├── FileResource+Integrations.swift
│ │ │ ├── FontResource+Integrations.swift
│ │ │ ├── ImageResource+Integrations.swift
│ │ │ ├── NibReference+Integrations.swift
│ │ │ ├── ReuseIdentifier+Integrations.swift
│ │ │ ├── SegueIdentifier+Integrations.swift
│ │ │ ├── StoryboardReference+Integrations.swift
│ │ │ └── StringResource+Integrations.swift
│ │ ├── NibResource.swift
│ │ ├── PropertyListResource.swift
│ │ ├── Shared/
│ │ │ ├── DeploymentTarget.swift
│ │ │ ├── LocaleReference.swift
│ │ │ ├── ModuleReference.swift
│ │ │ ├── NameCatalog.swift
│ │ │ ├── Reusable.swift
│ │ │ ├── StoryboardReference.swift
│ │ │ ├── StringParam+Extensions.swift
│ │ │ ├── StringParam.swift
│ │ │ ├── StringsTable.swift
│ │ │ ├── TypeReference.swift
│ │ │ ├── Unifiable.swift
│ │ │ └── ValidationError.swift
│ │ ├── StoryboardResource.swift
│ │ └── StringResource.swift
│ └── rswift/
│ ├── App.swift
│ ├── Config.swift
│ └── RswiftCore.swift
└── Tests/
├── RswiftGeneratorsTests/
│ └── MainTests.swift
└── RswiftParsersTests/
├── GlobTests.swift
└── NibParserDelegateTests.swift
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/workflows/checks.yml
================================================
name: Checks
on:
push:
branches: [ main ]
pull_request:
branches: '*'
env:
DEVELOPER_DIR: /Applications/Xcode-16.0.0.app/Contents/Developer
jobs:
unit-tests:
runs-on: self-hosted
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Pull cache
uses: actions/cache@v4
with:
path: .build
key: ${{ runner.os }}spm${{ hashFiles('**/Package.resolved') }}
restore-keys: |
${{ runner.os }}spm
- name: Test
run: swift test -v
test-iOS-ResourceApp:
runs-on: self-hosted
needs: build-rswift
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download build
uses: actions/download-artifact@v4.1.7
with:
name: rswift-dev
path: rswift-dev
- name: Put build into place
run: |
mkdir -p .build/release
mv rswift-dev/rswift .build/release/rswift
chmod +x .build/release/rswift
- name: Pull cache
uses: actions/cache@v4
id: podcache-ios
with:
path: Examples/ResourceApp/Pods
key: ${{ runner.os }}pods${{ hashFiles('**/Podfile.lock') }}
restore-keys: |
${{ runner.os }}pods
- name: Install pods
if: steps.podcache-ios.outputs.cache-hit != 'true'
run: pod install --project-directory=Examples/ResourceApp
- name: Test
#run: fastlane scan --workspace "Examples/ResourceApp/ResourceApp.xcworkspace" --scheme "ResourceApp"
run: xcodebuild -workspace Examples/ResourceApp/ResourceApp.xcworkspace -scheme ResourceApp -destination 'platform=iOS Simulator,name=iPhone 16,OS=18.0' test
test-iOS-StaticFrameworks:
runs-on: self-hosted
needs: build-rswift
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download build
uses: actions/download-artifact@v4.1.7
with:
name: rswift-dev
path: rswift-dev
- name: Put build into place
run: |
mkdir -p .build/release
mv rswift-dev/rswift .build/release/rswift
chmod +x .build/release/rswift
- name: Test
#run: fastlane scan --project "Examples/RswiftAppWithStaticFrameworks/RswiftAppWithStaticFrameworks.xcodeproj" --scheme "App"
run: xcodebuild -project Examples/RswiftAppWithStaticFrameworks/RswiftAppWithStaticFrameworks.xcodeproj -scheme App -destination 'platform=iOS Simulator,name=iPhone 16,OS=18.0' test
test-iOS-LocalizedStringApp:
runs-on: self-hosted
needs: build-rswift
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download build
uses: actions/download-artifact@v4.1.7
with:
name: rswift-dev
path: rswift-dev
- name: Put build into place
run: |
mkdir -p .build/release
mv rswift-dev/rswift .build/release/rswift
chmod +x .build/release/rswift
- name: Test
run: xcodebuild -project Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj -scheme LocalizedStringApp -destination 'platform=iOS Simulator,name=iPhone 16,OS=18.0' test
test-tvOS:
runs-on: self-hosted
needs: build-rswift
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download build
uses: actions/download-artifact@v4.1.7
with:
name: rswift-dev
path: rswift-dev
- name: Put build into place
run: |
mkdir -p .build/release
mv rswift-dev/rswift .build/release/rswift
chmod +x .build/release/rswift
- name: Test
#run: fastlane scan --project "Examples/RtvApp/RtvApp.xcodeproj" --scheme "ResourceApp-tvOS"
run: xcodebuild -project Examples/RtvApp/RtvApp.xcodeproj -scheme ResourceApp-tvOS -destination 'platform=tvOS Simulator,name=Apple TV,OS=18.0' test
build-rswift:
runs-on: self-hosted
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Pull cache
uses: actions/cache@v4
with:
path: .build
key: ${{ runner.os }}spm${{ hashFiles('**/Package.resolved') }}
restore-keys: |
${{ runner.os }}spm
- name: Set version
run: |
sed -i "" "s/\(static let version = \"\)Unknown\(\"\)/\1Development build: ${GITHUB_SHA}\2/" Sources/rswift/Config.swift
- name: Build
run: swift build -v -c release
- name: Store artifact
uses: actions/upload-artifact@v4
with:
name: rswift-dev
path: .build/release/rswift
================================================
FILE: .github/workflows/release.yml
================================================
name: Release
on:
release:
types: created
env:
DEVELOPER_DIR: /Applications/Xcode-16.0.0.app/Contents/Developer
jobs:
release-build:
runs-on: self-hosted
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set version
run: |
sed -i "" "s/\(static let version = \"\).*\(\"\)/\1${TAG}\2/" Sources/rswift/Config.swift
env:
TAG: ${{ github.event.release.tag_name }}
- name: Tarball source
run: |
tar -zcvf $TARGET --exclude .git .
env:
TARGET: ${{ runner.temp }}/source.tar.gz
- name: Attach tarball to release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ${{ runner.temp }}/source.tar.gz
asset_name: rswift-${{ github.event.release.tag_name }}-source.tar.gz
asset_content_type: application/tar+gzip
- name: Build universal binary
run: |
swift build -c release --arch x86_64 --arch arm64
- name: Delete temp keychain from previous run
run: |
/usr/bin/security delete-keychain signing_temp.keychain || true
- name: Import Signing Certificates
uses: apple-actions/import-codesign-certs@v3
with:
p12-file-base64: ${{ secrets.APPLE_CERTIFICATES }}
p12-password: ${{ secrets.APPLE_CERTIFICATES_PASSWORD }}
- name: Code Sign
run: |
codesign --force --options runtime --sign "$IDENTITY" .build/apple/Products/Release/rswift
env:
IDENTITY: 'Developer ID Application: Nonstrict B.V. (WT5N9FK54M)'
- name: Store build artifact
uses: actions/upload-artifact@v4
with:
name: rswift-${{ github.event.release.tag_name }}
path: .build/apple/Products/Release/rswift
- name: Archive ZIP
run: zip --junk-paths $FILENAME .build/apple/Products/Release/rswift License && zip --recurse-paths $FILENAME Sources/RswiftResources
env:
FILENAME: ${{ runner.temp }}/rswift-${{ github.event.release.tag_name }}.zip
- name: Notarize ZIP
run: |
xcrun notarytool submit $FILENAME --apple-id $APPLE_ID --password $APP_PASSWORD --team-id $TEAM_ID --wait
env:
BUNDLE_ID: com.nonstrict.rswift
APPLE_ID: ${{ secrets.APPLE_IDENTIFIER }}
APP_PASSWORD: ${{ secrets.APPLE_IDENTIFIER_PASSWORD }}
TEAM_ID: WT5N9FK54M
FILENAME: ${{ runner.temp }}/rswift-${{ github.event.release.tag_name }}.zip
- name: Attach ZIP to release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ${{ runner.temp }}/rswift-${{ github.event.release.tag_name }}.zip
asset_name: rswift-${{ github.event.release.tag_name }}.zip
asset_content_type: application/zip
- name: Make artifact bundle
run: |
set -ex
mkdir -p $ARTIFACT_BUNDLE_DIR/rswift/bin
cp .build/apple/Products/Release/rswift $ARTIFACT_BUNDLE_DIR/rswift/bin
cp License $ARTIFACT_BUNDLE_DIR/rswift
cat <<EOF > $ARTIFACT_BUNDLE_DIR/info.json
{
"schemaVersion": "1.0",
"artifacts": {
"rswift": {
"type": "executable",
"version": "$VERSION",
"variants": [
{
"path": "rswift/bin/rswift",
"supportedTriples": ["x86_64-apple-macosx", "arm64-apple-macosx"]
},
]
}
}
}
EOF
pushd $ARTIFACT_BUNDLE_DIR
zip -r $FILENAME .
popd
env:
VERSION: ${{ github.event.release.tag_name }}
ARTIFACT_BUNDLE_DIR: ${{ runner.temp }}/rswift.artifactbundle
FILENAME: ${{ runner.temp }}/rswift-${{ github.event.release.tag_name }}.artifactbundle.zip
- name: Notarize artifact bundle
run: |
xcrun notarytool submit $FILENAME --apple-id $APPLE_ID --password $APP_PASSWORD --team-id $TEAM_ID --wait
env:
BUNDLE_ID: com.nonstrict.rswift
APPLE_ID: ${{ secrets.APPLE_IDENTIFIER }}
APP_PASSWORD: ${{ secrets.APPLE_IDENTIFIER_PASSWORD }}
TEAM_ID: WT5N9FK54M
FILENAME: ${{ runner.temp }}/rswift-${{ github.event.release.tag_name }}.artifactbundle.zip
- name: Attach artifact bundle to release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ${{ runner.temp }}/rswift-${{ github.event.release.tag_name }}.artifactbundle.zip
asset_name: rswift-${{ github.event.release.tag_name }}.artifactbundle.zip
asset_content_type: application/zip
- name: Archive PKG
run: |
mkdir -p $PKG_ROOT/$BINARY_ROOT
cp .build/apple/Products/Release/rswift $PKG_ROOT/$BINARY_ROOT
pkgbuild --root $PKG_ROOT --identifier $BUNDLE_ID --version $TAG_NAME --install-location "/" --sign "$IDENTITY" $FILENAME
env:
TAG_NAME: ${{ github.event.release.tag_name }}
FILENAME: ${{ runner.temp }}/rswift-${{ github.event.release.tag_name }}.pkg
BUNDLE_ID: com.nonstrict.rswift
IDENTITY: 'Developer ID Installer: Nonstrict B.V. (WT5N9FK54M)'
PKG_ROOT: ${{ runner.temp }}/pkgroot
BINARY_ROOT: /usr/local/bin
- name: Notarize PKG
run: |
xcrun notarytool submit $FILENAME --apple-id $APPLE_ID --password $APP_PASSWORD --team-id $TEAM_ID --wait
xcrun stapler staple $FILENAME
env:
BUNDLE_ID: com.nonstrict.rswift
APPLE_ID: ${{ secrets.APPLE_IDENTIFIER }}
APP_PASSWORD: ${{ secrets.APPLE_IDENTIFIER_PASSWORD }}
TEAM_ID: WT5N9FK54M
FILENAME: ${{ runner.temp }}/rswift-${{ github.event.release.tag_name }}.pkg
- name: Attach PKG to release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ${{ runner.temp }}/rswift-${{ github.event.release.tag_name }}.pkg
asset_name: rswift-${{ github.event.release.tag_name }}.pkg
asset_content_type: application/pkg
- name: Delete temp keychain from this run
if: always()
run: |
/usr/bin/security delete-keychain signing_temp.keychain || true
- name: Publish to Cocoapods
run: |
export POD_VERSION=$TAG_NAME
pod trunk push --allow-warnings
env:
TAG_NAME: ${{ github.event.release.tag_name }}
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
================================================
FILE: .gitignore
================================================
.DS_Store
xcuserdata
DerivedData
Pods
*.xccheckout
*.generated.swift
fastlane/test_output
fastlane/README.md
fastlane/report.xml
fastlane/settoken.sh
build
.build
.swiftpm
rswift.xcarchive
rswift.xcodeproj
rswift.log
rswift-tv.log
rswift-watchos.log
================================================
FILE: Documentation/Contribute.md
================================================
# Thank you!
Thank you for taking some of your precious time helping this project move forward. Really great that you're showing interest in contributing. You don't have to be an expert to help us, every small tweak, crazy idea and/or bugreport is highly appreciated!
# Contributing
## Questions, issues and ideas
Most important is to read the docs and scan the issue tracker before so you're sure your question/idea/bugreport isn't already answered/in the make/being fixed:
- [Read the Readme](/README.md)
- [Read the other documentation](/Documentation)
- [Check open pull requests](https://github.com/mac-cain13/R.swift/pulls)
- [Search the issue tracker](https://github.com/mac-cain13/R.swift/issues)
If you find your idea/bugreport feel free to comment with an emoji or text reaction to let us know that you'd like this to be implemented. Is your idea/bugreport not in there? Please submit it to the [issue tracker](https://github.com/mac-cain13/R.swift/issues)!
## Pull requests
If you'd like to implement a feature:
- Check [the steps above](#questions-issues-and-ideas) to make sure it isn't already being build
- Feel free to discuss the change in an issue, this will increase the chance of it being merged in
- Keep your PR small, so it's easy to review
- Follow the coding guidelines below
### Coding guidelines
Principles R.swift code should follow:
- Follow existing patterns/code style; Pattern/style improvements should go in a seperate issue/PR
- Warn the user if you're skipping items
- Code defensively; most formats we parse are undocumented and will change without notice
Principles generated code should follow:
- Never crash; No use of ! for example.
- Always compile; Rather skip an item than generate corrupt code.
- Clarity over brevity; Don't use R.swift.Library methods for example ([Read more](https://github.com/mac-cain13/R.swift/issues/177))
- Generate inline comments where it's relevant
================================================
FILE: Documentation/Examples.md
================================================
# Examples
On this page you'll find examples of the kind of resources R.swift supports and how you can use them. We aim to keep this page up to date and complete so this should be a overview of all possibilities.
## Runtime validation
Call `R.validate()` to call all validation methods that R.swift generates, this will check:
- If all images used in storyboards and nibs are available
- If all view controllers with storyboard identifiers can be loaded
- If all custom fonts can be loaded
The `R.validate()` method will throw a detailed error about the problems that occur. Note that this method will always perform checks, even in release builds. It’s recommended that validation is done in a testcase.
*Example testcase*
```swift
XCTAssertNoThrow(try R.validate())
```
## Images
R.swift will find both images from Asset Catalogs and image files in your bundle.
*Vanilla*
```swift
let settingsIcon = UIImage(named: "settings-icon")
let gradientBackground = UIImage(named: "gradient.jpg")
```
*With R.swift*
```swift
let settingsIcon = R.image.settingsIcon()
let gradientBackground = R.image.gradientJpg()
```
### Support for assets grouped in folders
Selecting "Provides Namespace" results in grouping assets:

Use like so:
```swift
let image = R.image.menu.icons.first()
```
## Custom fonts
*Vanilla*
```swift
let lightFontTitle = UIFont(name: "Acme-Light", size: 22)
```
*With R.swift*
```swift
let lightFontTitle = R.font.acmeLight(size: 22)
```
**Tip:** Also want this for system fonts? Take a look at the [UIFontComplete](https://github.com/Nirma/UIFontComplete) library, has a similar solution for the fonts Apple ships with iOS.
## Resource files
*Vanilla*
```swift
let jsonURL = Bundle.main.url(forResource: "seed-data", withExtension: "json")
let jsonPath = Bundle.main.path(forResource: "seed-data", ofType: "json")
```
*With R.swift*
```swift
let jsonURL = R.file.seedDataJson()
let jsonPath = R.file.seedDataJson.path()
```
## Colors
*Vanilla*
```swift
view.backgroundColor = UIColor(named: "primary background")
```
*With R.swift*
```swift
view.backgroundColor = R.color.primaryBackground()
```
## Localized strings
*Vanilla*
```swift
let welcomeMessage = NSLocalizedString("welcome.message", comment: "")
let settingsTitle = NSLocalizedString("title", tableName: "Settings", comment: "")
// Formatted strings
let welcomeName = String(format: NSLocalizedString("welcome.withName", comment: ""), locale: NSLocale.current, "Alice")
// Stringsdict files
let progress = String(format: NSLocalizedString("copy.progress", comment: ""), locale: NSLocale.current, 4, 23)
```
*With R.swift*
```swift
// Localized strings are grouped per table (.strings file)
let welcomeMessage = R.string.localizable.welcomeMessage()
let settingsTitle = R.string.settings.title()
// Functions with parameters are generated for format strings
let welcomeName = R.string.localizable.welcomeWithName("Alice")
// Functions with named argument labels are generated for stringsdict keys
let progress = R.string.localizable.copyProgress(completed: 4, total: 23)
```
## Storyboards
*Vanilla*
```swift
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let initialTabBarController = storyboard.instantiateInitialViewController() as? UITabBarController
let settingsController = storyboard.instantiateViewController(withIdentifier: "settingsController") as? SettingsController
```
*With R.swift*
```swift
let storyboard = R.storyboard.main()
let initialTabBarController = R.storyboard.main.initialViewController()
let settingsController = R.storyboard.main.settingsController()
```
## Segues
*Vanilla*
```swift
// Trigger segue with:
performSegue(withIdentifier: "openSettings", sender: self)
// And then prepare it:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let settingsController = segue.destination as? SettingsController,
let segue = segue as? CustomSettingsSegue, segue.identifier == "openSettings" {
segue.animationType = .LockAnimation
settingsController.lockSettings = true
}
}
```
*With R.swift*
```swift
// Trigger segue with:
performSegue(withIdentifier: R.segue.overviewController.openSettings, sender: self)
// And then prepare it:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let typedInfo = R.segue.overviewController.openSettings(segue: segue) {
typedInfo.segue.animationType = .LockAnimation
typedInfo.destinationViewController.lockSettings = true
}
}
```
**Tip:** Take a look at the [SegueManager](https://github.com/tomlokhorst/SegueManager) library, it makes segues block based and is compatible with R.swift.
## Nibs
*Vanilla*
```swift
let nameOfNib = "CustomView"
let customViewNib = UINib(nibName: "CustomView", bundle: nil)
let rootViews = customViewNib.instantiate(withOwner: nil, options: nil)
let customView = rootViews[0] as? CustomView
let viewControllerWithNib = CustomViewController(nibName: "CustomView", bundle: nil)
```
*With R.swift*
```swift
let nameOfNib = R.nib.customView.name
let customViewNib = R.nib.customView()
let rootViews = R.nib.customView.instantiate(withOwner: nil)
let customView = R.nib.customView.firstView(owner: nil)
let viewControllerWithNib = CustomViewController(nib: R.nib.customView)
```
## Reusable table view cells
*Vanilla*
```swift
class FaqAnswerController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
let textCellNib = UINib(nibName: "TextCell", bundle: nil)
tableView.register(textCellNib, forCellReuseIdentifier: "TextCellIdentifier")
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let textCell = tableView.dequeueReusableCell(withIdentifier: "TextCellIdentifier", for: indexPath) as! TextCell
textCell.mainLabel.text = "Hello World"
return textCell
}
}
```
*With R.swift*
On your reusable cell Interface Builder "Attributes" inspector panel, set the cell "Identifier" field to the same value you are going to register and dequeue.
```swift
class FaqAnswerController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
tableView.register(R.nib.textCell)
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let textCell = tableView.dequeueReusableCell(withIdentifier: R.reuseIdentifier.textCell, for: indexPath)!
textCell.mainLabel.text = "Hello World"
return textCell
}
}
```
## Reusable collection view cells
*Vanilla*
```swift
class RecentsController: UICollectionViewController {
override func viewDidLoad() {
super.viewDidLoad()
let talkCellNib = UINib(nibName: "TalkCell", bundle: nil)
collectionView?.register(talkCellNib, forCellWithReuseIdentifier: "TalkCellIdentifier")
}
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "TalkCellIdentifier", for: indexPath) as! TalkCell
cell.configureCell("Item \(indexPath.item)")
return cell
}
}
```
*With R.swift*
On your reusable cell Interface Builder "Attributes" inspector panel, set the cell "Identifier" field to the same value you are going to register and dequeue.
```swift
class RecentsController: UICollectionViewController {
override func viewDidLoad() {
super.viewDidLoad()
collectionView?.register(R.nib.talkCell)
}
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: R.reuseIdentifier.talkCell, for: indexPath)!
cell.configureCell("Item \(indexPath.item)")
return cell
}
}
```
## Project
*Vanilla*
```swift
let developmentRegion = fatalError("Not available at runtime")
let myTag = "myTag"
```
*With R.swift*
Access the development region and any asset tags that are set on the project file.
```swift
let developmentRegion = R.project.developmentRegion
let myTag = R.project.knownAssetTags.myTag
```
## Entitlements
*With R.swift*
Access the values in the entitlement file you embedded. This might differ from the entitlements your app actually has at runtime! But it's greate to get some identifiers in a consistent way.
```swift
let appGroupIdentifier = R.entitlements.comAppleSecurityApplicationGroups.groupMyAppGroup
```
## Info.plist
Values under `UIApplicationShortcutItems`, `UIApplicationSceneManifest`, `NSUserActivityTypes`, `NSExtension` that are often needed in code are available directly through R.swift.
*With R.swift*
Access the values in the Info.plist file.
```swift
let activity = NSUserActivity(activityType: R.info.nsUserActivityTypes.planTripIntent)
```
================================================
FILE: Documentation/Ignoring.md
================================================
# Ignoring resources
R.swift will discover resources used in your project automatically. To make sure you can continue to use R.swift in the rare case that a file gives problems it is possible to ignore resources.
It is also possible to only run certain generators to skip other `R.something` items.
## How does it work?
Create a `.rswiftignore` file in the source root of your project, this file will automatically be discovered by R.swift. The format of the file is nearly the same as [a `.gitignore` file](https://git-scm.com/docs/gitignore#_pattern_format). Wildcards like `*` and `**` are supported and you can add comments by starting a line with a `#`. Explicitly including single or multiple files that are otherwise globally ignored is also supported by starting a pattern with `!`.
_Note:_ All patterns are file paths relative to the path of the `.rswiftignore` file.
### Example
```
# Ignore a specific font file
fonts/myspecialfont.ttf
# Ignore all tiff and tif files in the images folder
images/*.tif
images/*.tiff
# Ignore all strings files wherever they are
**/*.strings
# Ignore all files containing '.ignore.'
**/*.ignore.*
# Explicitly include a single file
!keepme.ignore.png
# Explicitly include all files containing '.keepme.'
!**/*.keepme.*
```
## Custom file location
It is also possible to call the binary with the `--rswiftignore` flag and give a custom location of the ignore file this way.
## Only run specific generators (exclude R.something)
By default, R.swift runs all generators, for images, nibs, strings and many more. In some situations you may not want to generate R structs for all these types. You can choose to run only certain generators by adding a flag like this: `--generators image,string` to the call to the [Build Phase](/Documentation/Images/BuildPhaseExample.png)
These are the available generators:
- `image`
- `string`
- `color`
- `file`
- `font`
- `nib`
- `segue`
- `storyboard`
- `reuseIdentifier`
- `entitlements`
- `info`
- `id`
================================================
FILE: Documentation/Migration.md
================================================
# Migration
Pointers for migration between major versions.
## Upgrading to 7.0
[Demo video: Updating from R.swift 6 to Rswift 7](https://www.youtube.com/watch?v=icihJ_hin3I)
#### R.string changes
- Strings are always formatted using `String(format:)`, even strings without arguments, make sure to escape any percentage signs (`%`) with `%%`
- Use a custom language: `R.string(preferredLanguages: ["fr"]).example.hello()`
#### Running the executable
If you're using Swift Package Manager:
- Separate R.swift.Library is no longer needed, remove dependency on that package
- `R.generated.swift` file is no longer needed in the project, delete the file
- Remove custom Run Script Build Phase that invokes `rswift` binary
- Add SPM dependency on `github.com/mac-cain13/R.swift.git` package
- Add `RswiftLibrary` to your targets
- Under "Run Build Tool Plug-ins" Build Phase, add `RswiftGenerateInternalResources` or `RswiftGeneratePublicResources` ([Screenshot](Images/RunBuildToolPluginsRswift.png))
- Right-click on your project, and run `RswiftXcodeModifyPackages` to modify your Xcode project so that the build tool plug-in will actually run during builds (this seems to fix a bug in Xcode?) ([Screenshot](Images/RunXcodeModifyPackages.png))
If you're using Mint or manual call `rswift` executable:
- Separate R.swift.Library is no longer needed, remove dependency on that package
- Add SPM dependency on `github.com/mac-cain13/R.swift.git` package
- Add `RswiftLibrary` to your targets
Changes to the commandline tool `rswift` (not relevant when using SPM):
- Argument `accessLevel` renamed to `access-level`
- Argument `generateUITestFile` removed, if you need a separate file with just ids, call rswift a second time with `--generators id`
- Argument `hostingBundle` removed, bundle can be specified in code: `_R(bundle: someBundle)`
- Arguments removed: `bundleIdentifier`, `productModuleName`, `infoPlistFile`, `codeSignEntitlements`, `builtProductsDir`, `developerDir`, `platformDir`, `sdkRoot`, `sourceRoot`. Use environment variables instead.
#### Library changes
Internal changes in the Rswift support library:
- Support for `R.nib.XXX.secondView` to `.twentiethView` has been removed, only `.firstView` remains
- Renamed internal module, update `import Rswift` to `import RswiftResources`
- Removed protocols: `ColorResourceType`, `FileResourceType`, `FontResourceType`, `IdentifierType`, `ImageResourceType`, `StoryboardViewControllerResourceType`, `StringResourceType`, `Validatable`
- Added `StringResource1` up to `StringResource9`, for strings with parameters
- Renamed types:
* `ReuseIdentifierType` to `ReuseIdentifierContainer`
* `NibResourceType` to `NibReferenceContainer`
* `StoryboardResourceType` to `StoryboardReference`
* `StoryboardResourceWithInitialControllerType` to `InitialControllerContainer`
* `TypedStoryboardSegueInfo` to `TypedSegue`
* `StoryboardSegueIdentifier` to `SegueIdentifier`
#### Configuring Continuous Integration system
When using a Swift Package Manager Plugin on a Continuous Integration (CI) server, you may see the following error:
> The following build commands failed:
> Validate plug-in “RswiftGeneratePublicResources” in package “r.swift”
To allow the running of plugins, pass `-skipPackagePluginValidation` to xcbuildtool. See also this discussion on the Swift forums: https://forums.swift.org/t/telling-xcode-14-beta-4-to-trust-build-tool-plugins-programatically/59305
For users of Fastlane, pass the extra argument like so:
```
build_app(
...
xcargs: "-skipPackagePluginValidation"
...
)
```
## Upgrading to 6.0
- In the Build Phase, some changes are needed, [see an example screenshot](Images/BuildPhaseExample.png):
* Uncheck "Based on dependency analysis" so that R.swift is run on each build
* Remove `$TEMP_DIR/rswift-lastrun` from the "Input Files" of the Build Phase
* Keep `$SRCROOT/[YOUR_PATH]/R.generated.swift` in the "Output Files" of the Build Phase unchanged
## Upgrading to 5.0
- Make sure you use Xcode 10 since we've adjusted to the SDK changes
- At the moment we are compatible with both Swift 4 and 4.2, this is more an accident then a feature, beware that we might drop Swift 4 support anytime.
If you are using the "New Build System":
- In the Build Phase you must perform some changes:
* Change the script to give the explicit output file, for example: `"$PODS_ROOT/R.swift/rswift" generate "$SRCROOT/[YOUR_PATH]/R.generated.swift"`
* Add `$TEMP_DIR/rswift-lastrun` to the "Input Files" of the Build Phase
* Add `$SRCROOT/[YOUR_PATH]/R.generated.swift` to the "Output Files" of the Build Phase
If you are using the "Legacy Build System":
- Add the flag `--disable-input-output-files-validation` and *do not* add input/output files to the Build Phase.
## Upgrading to 4.0
- Make sure you use Swift 4 / Xcode 9 since we've adjusted to the syntax and SDK changes.
- Running R.swift now requires the `generate` command, check the error R.swift outputs for upgrade instructions
- Capitalization of methods and properties might have changed, in these cases the compiler should generate a fix-it for you.
- Support for CLR-files is deprecated, use the new named Color assets instead where possible.
* CLR based colors are moved from `R.color.*` to `R.clr.*`
* Support for CLR files will be removed in a later version
- At the moment we are compatible with both Swift 3.2 and Swift 4, this is more an accident then a feature, beware that we might drop Swift 3.2 support anytime.
- If you upgrade from Swift 2 we advise you to first migrate to Swift 3 / R.swift 3.0 and when that is done apply the migration to Swift 4 / R.swift 4.0
## Upgrading to 3.0
- Make sure you use Swift 3 / Xcode 8 since we've adjusted to the syntax changes.
- If you want to use Swift 2.3 / Xcode 8 use the latest R.swift 2 release.
- Some methods are renamed to match the new Swift 3 naming conventions, there are annotations available so the compiler can help you migrate.
## Upgrading to 2.0
- Make sure you use Swift 2.2 / Xcode 7.3 since we've adjusted to the syntax changes.
## Upgrading to 1.0
- iOS 7 support is dropped, use [R.swift 0.13](https://github.com/mac-cain13/R.swift/releases/tag/v0.13.0) if you still have to support it.
- Generated code now depends on the [R.swift.Library](https://github.com/mac-cain13/R.swift.Library), CocoaPods users don't need to do anything. Manual installation users need to include this library themselves, see the readme for instructions.
- In general; properties that created new stuff are now functions to represent better that they actually create a new instance.
* `R.image.settingsIcon` changed to `R.image.settingsIcon()`
* `R.file.someJson` changed to `R.file.someJson()`
* `R.storyboard.main.initialViewController` changed to `R.storyboard.main.initialViewController()`
* `R.storyboard.main.someViewController` changed to `R.storyboard.main.someViewController()`
- In general; Where you needed to use `.initialize()` to get the instance, a shorter function is available now:
* `R.storyboard.main.initialize()` changed to `R.storyboard.main()`
* `R.nib.someView.initiate()` changed to `R.nib.someView()`
- Nib root view loading changed from `R.nib.someView.firstView(nil, options: nil)` to `R.nib.someView.firstView(owner: nil)`
- Typed segue syntax changed from `segue.typedInfoWithIdentifier(R.segue.someViewController.someSegue)` to `R.segue.someViewController.someSegue(segue: segue)`
- Runtime validation changed:
* `R.validate()` now throws errors it encounters
* `R.assertValid()` asserts on errors and only performs action in a debug/non-optimized build
* For regular use cases using `R.assertValid()` is recommended
================================================
FILE: Documentation/QandA.md
================================================
# Questions and Answers
## Why was R.swift created?
Swift is a beautiful language and one of it's main advantages is its increasing popularity. However, it can be frustrating to deal with errors that compile but fail during runtime due to missing resources. This makes refactoring difficult while making it easy to create bugs (e.g. missing images etc).
Android tackles this problem by generating something called the R class. It inspired me to create this very project, R.swift, which, thankfully, was well received by colleagues, friends and Github stargazers, so here we are now.
## Why should I choose R.swift over alternative X or Y?
There are many nice R.swift alternatives like [SwiftGen](https://github.com/AliSoftware/SwiftGen) and [Shark](https://github.com/kaandedeoglu/Shark). However, I believe R.swift has these important advantages:
- R.swift inspects your Xcodeproj file for resources instead of scanning folders or asking you for files
- R.swift supports a lot of different assets
- R.swift stays very close to the vanilla Apple API's, having minimal code change with maximum impact
## What are the requirements to run R.swift?
R.swift works with Xcode 10 for apps targetting iOS 8 and tvOS 9 and higher.
## How do I fix missing imports in the generated file?
If you get errors like `Use of undeclared type 'SomeType'` in the `R.generated.swift` file, this can usually be fixed by [explicitly stating the module in your xib or storyboard](Images/ExplicitCustomModule.png). This will make R.swift recognize that an import is necessary.
## How do I use classes with the same name as their module?
If you get errors like `'SomeType' is not a member type of 'SomeType'`, that means you are using a module that contains a class/struct/enum with the same name as the module itself. This is a known [Swift issue](https://bugs.swift.org/browse/SR-898).
You can work around this problem by [*emptying* the module field in the xib or storyboard](Images/ExplicitCustomModule.png) and then [adding `--import SomeType` as a flag](Images/CustomImport.png) to the R.swift build phase to ensure R.swift imports the module in the generated file.
## Can I use R.swift in a library?
Yes, just add R.swift as a buildstep in your library project and it will work just like normal. This works best if you have a dedicated Xcode project you can use to add the build script to. For Cocoapod users: this is [not the case](https://github.com/mac-cain13/R.swift/issues/430#issue-344112657) if you've used `pod lib create MyNewLib` to scaffold your library.
If you want to expose the resources to users of your library, you have to make the generated code public, you can do this by adding `--accessLevel public` to the call to R.swift. For example, if you included R.swift as a cocoapod dependency to your library project, you would change your build step to: `"$PODS_ROOT/R.swift/rswift" generate --accessLevel public "$SRCROOT"`
## How does R.swift work?
During installation you add R.swift as a Build phase to your target, basically this means that:
- Every time you build R.swift will run
- It takes a look at your Xcode project file and inspects all resources linked with the target currently build
- It generates a `R.generated.swift` file that contains a struct with types references to all of your resources
================================================
FILE: Documentation/Readme.md
================================================
# Documentation for R.swift
- [Questions and Answers](QandA.md)
- [Usage examples](Examples.md)
- [Ignoring resources](Ignoring.md)
- [Pointers for migration between major versions](Migration.md)
- [About contributing](Contribute.md)
================================================
FILE: Examples/FileSystemSynchronized/FileSystemSynchronized.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 74;
objects = {
/* Begin PBXBuildFile section */
E212C64E291BE24B000E4F65 /* RswiftLibrary in Frameworks */ = {isa = PBXBuildFile; productRef = E212C64D291BE24B000E4F65 /* RswiftLibrary */; };
E212C650291BE252000E4F65 /* RswiftLibrary in Frameworks */ = {isa = PBXBuildFile; productRef = E212C64F291BE252000E4F65 /* RswiftLibrary */; };
E22057AE2C9C71D70070148F /* Colors@3x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = E22057AB2C9C71D70070148F /* Colors@3x.jpg */; };
E243EFB02510E08D00DC653F /* TheAppClipApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = E243EFAF2510E08D00DC653F /* TheAppClipApp.swift */; };
E243EFB22510E08D00DC653F /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E243EFB12510E08D00DC653F /* ContentView.swift */; };
E243EFB42510E08E00DC653F /* ClipAssets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E243EFB32510E08E00DC653F /* ClipAssets.xcassets */; };
E243EFB72510E08E00DC653F /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E243EFB62510E08E00DC653F /* Preview Assets.xcassets */; };
E243EFBC2510E08E00DC653F /* TheAppClip.app in Embed App Clips */ = {isa = PBXBuildFile; fileRef = E243EFAD2510E08D00DC653F /* TheAppClip.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
E2A7F4732CD799F300FCB116 /* MySiriIntents.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = E2A7F4722CD799F300FCB116 /* MySiriIntents.intentdefinition */; };
E2A7F4742CD799F300FCB116 /* MySiriIntents.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = E2A7F4722CD799F300FCB116 /* MySiriIntents.intentdefinition */; };
E2A7F4B62CD7A25100FCB116 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = E2A7F4B42CD7A25100FCB116 /* Localizable.strings */; };
E2A7F4B72CD7A25100FCB116 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = E2A7F4B42CD7A25100FCB116 /* Localizable.strings */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
E243EFBA2510E08E00DC653F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = E243EF892510DF9100DC653F /* Project object */;
proxyType = 1;
remoteGlobalIDString = E243EFAC2510E08D00DC653F;
remoteInfo = TheAppClip;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
E243EFBD2510E08E00DC653F /* Embed App Clips */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "$(CONTENTS_FOLDER_PATH)/AppClips";
dstSubfolderSpec = 16;
files = (
E243EFBC2510E08E00DC653F /* TheAppClip.app in Embed App Clips */,
);
name = "Embed App Clips";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
E212C64C291BE1DB000E4F65 /* R.swift */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = R.swift; path = ../..; sourceTree = "<group>"; };
E22057AB2C9C71D70070148F /* Colors@3x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "Colors@3x.jpg"; sourceTree = "<group>"; };
E243EF912510DF9100DC653F /* MainUI.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MainUI.app; sourceTree = BUILT_PRODUCTS_DIR; };
E243EFAD2510E08D00DC653F /* TheAppClip.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TheAppClip.app; sourceTree = BUILT_PRODUCTS_DIR; };
E243EFAF2510E08D00DC653F /* TheAppClipApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TheAppClipApp.swift; sourceTree = "<group>"; };
E243EFB12510E08D00DC653F /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
E243EFB32510E08E00DC653F /* ClipAssets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = ClipAssets.xcassets; sourceTree = "<group>"; };
E243EFB62510E08E00DC653F /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
E243EFB82510E08E00DC653F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
E243EFB92510E08E00DC653F /* TheAppClip.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = TheAppClip.entitlements; sourceTree = "<group>"; };
E243EFC22510E0D900DC653F /* Rswift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Rswift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
E2A7F4712CD799F300FCB116 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.intentdefinition; name = Base; path = Base.lproj/MySiriIntents.intentdefinition; sourceTree = "<group>"; };
E2A7F47C2CD79A0F00FCB116 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/MySiriIntents.strings; sourceTree = "<group>"; };
E2A7F4B52CD7A25100FCB116 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
E2A7F4B82CD7A25500FCB116 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
E22058272C9CB6AE0070148F /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = {
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
membershipExceptions = (
Nogeeen/person.png,
);
target = E243EF902510DF9100DC653F /* MainUI */;
};
E220582B2C9CB71A0070148F /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = {
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
membershipExceptions = (
User.png,
);
target = E243EFAC2510E08D00DC653F /* TheAppClip */;
};
E25226AE2C9C612000F32501 /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = {
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
membershipExceptions = (
Info.plist,
);
target = E243EF902510DF9100DC653F /* MainUI */;
};
E25226AF2C9C612000F32501 /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = {
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
membershipExceptions = (
/Localized/MyStoryboard.storyboard,
Assets.xcassets,
);
target = E243EFAC2510E08D00DC653F /* TheAppClip */;
};
/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */
/* Begin PBXFileSystemSynchronizedRootGroup section */
E2187D462CCC4ED800F33259 /* Folder2 */ = {
isa = PBXFileSystemSynchronizedRootGroup;
explicitFileTypes = {
};
explicitFolders = (
);
path = Folder2;
sourceTree = "<group>";
};
E22057F22C9C95EC0070148F /* Folder1 */ = {
isa = PBXFileSystemSynchronizedRootGroup;
explicitFileTypes = {
};
explicitFolders = (
);
path = Folder1;
sourceTree = "<group>";
};
E22058252C9CB6A20070148F /* Inner group */ = {
isa = PBXFileSystemSynchronizedRootGroup;
exceptions = (
E22058272C9CB6AE0070148F /* PBXFileSystemSynchronizedBuildFileExceptionSet */,
E220582B2C9CB71A0070148F /* PBXFileSystemSynchronizedBuildFileExceptionSet */,
);
explicitFileTypes = {
};
explicitFolders = (
);
path = "Inner group";
sourceTree = "<group>";
};
E25226A62C9C612000F32501 /* MainUI */ = {
isa = PBXFileSystemSynchronizedRootGroup;
exceptions = (
E25226AE2C9C612000F32501 /* PBXFileSystemSynchronizedBuildFileExceptionSet */,
E25226AF2C9C612000F32501 /* PBXFileSystemSynchronizedBuildFileExceptionSet */,
);
explicitFileTypes = {
};
explicitFolders = (
);
path = MainUI;
sourceTree = "<group>";
};
/* End PBXFileSystemSynchronizedRootGroup section */
/* Begin PBXFrameworksBuildPhase section */
E243EF8E2510DF9100DC653F /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
E212C64E291BE24B000E4F65 /* RswiftLibrary in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
E243EFAA2510E08D00DC653F /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
E212C650291BE252000E4F65 /* RswiftLibrary in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
E212C64B291BE1DB000E4F65 /* Packages */ = {
isa = PBXGroup;
children = (
E212C64C291BE1DB000E4F65 /* R.swift */,
);
name = Packages;
sourceTree = "<group>";
};
E22057AC2C9C71D70070148F /* Subdir */ = {
isa = PBXGroup;
children = (
E22057AB2C9C71D70070148F /* Colors@3x.jpg */,
E22058252C9CB6A20070148F /* Inner group */,
);
path = Subdir;
sourceTree = "<group>";
};
E22057F32C9C95F50070148F /* Group1 */ = {
isa = PBXGroup;
children = (
E2187D462CCC4ED800F33259 /* Folder2 */,
E22057F22C9C95EC0070148F /* Folder1 */,
E2A7F4722CD799F300FCB116 /* MySiriIntents.intentdefinition */,
);
path = Group1;
sourceTree = "<group>";
};
E243EF882510DF9100DC653F = {
isa = PBXGroup;
children = (
E212C64B291BE1DB000E4F65 /* Packages */,
E25226A62C9C612000F32501 /* MainUI */,
E243EFAE2510E08D00DC653F /* TheAppClip */,
E243EF922510DF9100DC653F /* Products */,
E243EFC12510E0D900DC653F /* Frameworks */,
);
sourceTree = "<group>";
};
E243EF922510DF9100DC653F /* Products */ = {
isa = PBXGroup;
children = (
E243EF912510DF9100DC653F /* MainUI.app */,
E243EFAD2510E08D00DC653F /* TheAppClip.app */,
);
name = Products;
sourceTree = "<group>";
};
E243EFAE2510E08D00DC653F /* TheAppClip */ = {
isa = PBXGroup;
children = (
E22057F32C9C95F50070148F /* Group1 */,
E22057AC2C9C71D70070148F /* Subdir */,
E243EFAF2510E08D00DC653F /* TheAppClipApp.swift */,
E243EFB12510E08D00DC653F /* ContentView.swift */,
E243EFB32510E08E00DC653F /* ClipAssets.xcassets */,
E243EFB82510E08E00DC653F /* Info.plist */,
E243EFB92510E08E00DC653F /* TheAppClip.entitlements */,
E243EFB52510E08E00DC653F /* Preview Content */,
E2A7F4B42CD7A25100FCB116 /* Localizable.strings */,
);
path = TheAppClip;
sourceTree = "<group>";
};
E243EFB52510E08E00DC653F /* Preview Content */ = {
isa = PBXGroup;
children = (
E243EFB62510E08E00DC653F /* Preview Assets.xcassets */,
);
path = "Preview Content";
sourceTree = "<group>";
};
E243EFC12510E0D900DC653F /* Frameworks */ = {
isa = PBXGroup;
children = (
E243EFC22510E0D900DC653F /* Rswift.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
E243EF902510DF9100DC653F /* MainUI */ = {
isa = PBXNativeTarget;
buildConfigurationList = E243EFA02510DF9200DC653F /* Build configuration list for PBXNativeTarget "MainUI" */;
buildPhases = (
E243EF8D2510DF9100DC653F /* Sources */,
E243EF8E2510DF9100DC653F /* Frameworks */,
E243EF8F2510DF9100DC653F /* Resources */,
E243EFBD2510E08E00DC653F /* Embed App Clips */,
);
buildRules = (
);
dependencies = (
E212C655291BE2D9000E4F65 /* PBXTargetDependency */,
E243EFBB2510E08E00DC653F /* PBXTargetDependency */,
);
fileSystemSynchronizedGroups = (
E25226A62C9C612000F32501 /* MainUI */,
);
name = MainUI;
packageProductDependencies = (
E212C64D291BE24B000E4F65 /* RswiftLibrary */,
);
productName = MainUI;
productReference = E243EF912510DF9100DC653F /* MainUI.app */;
productType = "com.apple.product-type.application";
};
E243EFAC2510E08D00DC653F /* TheAppClip */ = {
isa = PBXNativeTarget;
buildConfigurationList = E243EFC02510E08E00DC653F /* Build configuration list for PBXNativeTarget "TheAppClip" */;
buildPhases = (
E243EFA92510E08D00DC653F /* Sources */,
E243EFAA2510E08D00DC653F /* Frameworks */,
E243EFAB2510E08D00DC653F /* Resources */,
);
buildRules = (
);
dependencies = (
E212C652291BE2C0000E4F65 /* PBXTargetDependency */,
);
fileSystemSynchronizedGroups = (
E2187D462CCC4ED800F33259 /* Folder2 */,
E22057F22C9C95EC0070148F /* Folder1 */,
);
name = TheAppClip;
packageProductDependencies = (
E212C64F291BE252000E4F65 /* RswiftLibrary */,
);
productName = TheAppClip;
productReference = E243EFAD2510E08D00DC653F /* TheAppClip.app */;
productType = "com.apple.product-type.application.on-demand-install-capable";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
E243EF892510DF9100DC653F /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = YES;
LastSwiftUpdateCheck = 1200;
LastUpgradeCheck = 1500;
TargetAttributes = {
E243EF902510DF9100DC653F = {
CreatedOnToolsVersion = 12.0;
};
E243EFAC2510E08D00DC653F = {
CreatedOnToolsVersion = 12.0;
};
};
};
buildConfigurationList = E243EF8C2510DF9100DC653F /* Build configuration list for PBXProject "FileSystemSynchronized" */;
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
nl,
);
mainGroup = E243EF882510DF9100DC653F;
packageReferences = (
E2A7F4B12CD7A1D500FCB116 /* XCLocalSwiftPackageReference "../../../R.swift" */,
);
preferredProjectObjectVersion = 50;
productRefGroup = E243EF922510DF9100DC653F /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
E243EF902510DF9100DC653F /* MainUI */,
E243EFAC2510E08D00DC653F /* TheAppClip */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
E243EF8F2510DF9100DC653F /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
E2A7F4B72CD7A25100FCB116 /* Localizable.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
E243EFAB2510E08D00DC653F /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
E243EFB72510E08E00DC653F /* Preview Assets.xcassets in Resources */,
E2A7F4B62CD7A25100FCB116 /* Localizable.strings in Resources */,
E243EFB42510E08E00DC653F /* ClipAssets.xcassets in Resources */,
E22057AE2C9C71D70070148F /* Colors@3x.jpg in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
E243EF8D2510DF9100DC653F /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
E2A7F4732CD799F300FCB116 /* MySiriIntents.intentdefinition in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
E243EFA92510E08D00DC653F /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
E2A7F4742CD799F300FCB116 /* MySiriIntents.intentdefinition in Sources */,
E243EFB22510E08D00DC653F /* ContentView.swift in Sources */,
E243EFB02510E08D00DC653F /* TheAppClipApp.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
E212C652291BE2C0000E4F65 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
productRef = E212C651291BE2C0000E4F65 /* RswiftGenerateInternalResources */;
};
E212C655291BE2D9000E4F65 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
productRef = E212C654291BE2D9000E4F65 /* RswiftGenerateInternalResources */;
};
E243EFBB2510E08E00DC653F /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = E243EFAC2510E08D00DC653F /* TheAppClip */;
targetProxy = E243EFBA2510E08E00DC653F /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
E2A7F4722CD799F300FCB116 /* MySiriIntents.intentdefinition */ = {
isa = PBXVariantGroup;
children = (
E2A7F4712CD799F300FCB116 /* Base */,
E2A7F47C2CD79A0F00FCB116 /* nl */,
);
name = MySiriIntents.intentdefinition;
sourceTree = "<group>";
};
E2A7F4B42CD7A25100FCB116 /* Localizable.strings */ = {
isa = PBXVariantGroup;
children = (
E2A7F4B52CD7A25100FCB116 /* en */,
E2A7F4B82CD7A25500FCB116 /* nl */,
);
name = Localizable.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
E243EF9E2510DF9200DC653F /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
};
name = Debug;
};
E243EF9F2510DF9200DC653F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
E243EFA12510DF9200DC653F /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_ASSET_PATHS = "\"MainUI/Preview Content\"";
ENABLE_PREVIEWS = YES;
INFOPLIST_FILE = MainUI/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.MainUI;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
E243EFA22510DF9200DC653F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_ASSET_PATHS = "\"MainUI/Preview Content\"";
ENABLE_PREVIEWS = YES;
INFOPLIST_FILE = MainUI/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.MainUI;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
E243EFBE2510E08E00DC653F /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = TheAppClip/TheAppClip.entitlements;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_ASSET_PATHS = "\"TheAppClip/Preview Content\"";
ENABLE_PREVIEWS = YES;
INFOPLIST_FILE = TheAppClip/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.MainUI.Clip;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
E243EFBF2510E08E00DC653F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = TheAppClip/TheAppClip.entitlements;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_ASSET_PATHS = "\"TheAppClip/Preview Content\"";
ENABLE_PREVIEWS = YES;
INFOPLIST_FILE = TheAppClip/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.MainUI.Clip;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
E243EF8C2510DF9100DC653F /* Build configuration list for PBXProject "FileSystemSynchronized" */ = {
isa = XCConfigurationList;
buildConfigurations = (
E243EF9E2510DF9200DC653F /* Debug */,
E243EF9F2510DF9200DC653F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
E243EFA02510DF9200DC653F /* Build configuration list for PBXNativeTarget "MainUI" */ = {
isa = XCConfigurationList;
buildConfigurations = (
E243EFA12510DF9200DC653F /* Debug */,
E243EFA22510DF9200DC653F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
E243EFC02510E08E00DC653F /* Build configuration list for PBXNativeTarget "TheAppClip" */ = {
isa = XCConfigurationList;
buildConfigurations = (
E243EFBE2510E08E00DC653F /* Debug */,
E243EFBF2510E08E00DC653F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
/* Begin XCLocalSwiftPackageReference section */
E2A7F4B12CD7A1D500FCB116 /* XCLocalSwiftPackageReference "../../../R.swift" */ = {
isa = XCLocalSwiftPackageReference;
relativePath = ../../../R.swift;
};
/* End XCLocalSwiftPackageReference section */
/* Begin XCSwiftPackageProductDependency section */
E212C64D291BE24B000E4F65 /* RswiftLibrary */ = {
isa = XCSwiftPackageProductDependency;
productName = RswiftLibrary;
};
E212C64F291BE252000E4F65 /* RswiftLibrary */ = {
isa = XCSwiftPackageProductDependency;
productName = RswiftLibrary;
};
E212C651291BE2C0000E4F65 /* RswiftGenerateInternalResources */ = {
isa = XCSwiftPackageProductDependency;
productName = "plugin:RswiftGenerateInternalResources";
};
E212C654291BE2D9000E4F65 /* RswiftGenerateInternalResources */ = {
isa = XCSwiftPackageProductDependency;
productName = "plugin:RswiftGenerateInternalResources";
};
/* End XCSwiftPackageProductDependency section */
};
rootObject = E243EF892510DF9100DC653F /* Project object */;
}
================================================
FILE: Examples/FileSystemSynchronized/FileSystemSynchronized.xcodeproj/project.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>
================================================
FILE: Examples/FileSystemSynchronized/FileSystemSynchronized.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
================================================
FILE: Examples/FileSystemSynchronized/MainUI/Assets.xcassets/AppIcon.appiconset/Contents.json
================================================
{
"images" : [
{
"idiom" : "iphone",
"scale" : "2x",
"size" : "20x20"
},
{
"idiom" : "iphone",
"scale" : "3x",
"size" : "20x20"
},
{
"idiom" : "iphone",
"scale" : "2x",
"size" : "29x29"
},
{
"idiom" : "iphone",
"scale" : "3x",
"size" : "29x29"
},
{
"idiom" : "iphone",
"scale" : "2x",
"size" : "40x40"
},
{
"idiom" : "iphone",
"scale" : "3x",
"size" : "40x40"
},
{
"idiom" : "iphone",
"scale" : "2x",
"size" : "60x60"
},
{
"idiom" : "iphone",
"scale" : "3x",
"size" : "60x60"
},
{
"idiom" : "ipad",
"scale" : "1x",
"size" : "20x20"
},
{
"idiom" : "ipad",
"scale" : "2x",
"size" : "20x20"
},
{
"idiom" : "ipad",
"scale" : "1x",
"size" : "29x29"
},
{
"idiom" : "ipad",
"scale" : "2x",
"size" : "29x29"
},
{
"idiom" : "ipad",
"scale" : "1x",
"size" : "40x40"
},
{
"idiom" : "ipad",
"scale" : "2x",
"size" : "40x40"
},
{
"idiom" : "ipad",
"scale" : "1x",
"size" : "76x76"
},
{
"idiom" : "ipad",
"scale" : "2x",
"size" : "76x76"
},
{
"idiom" : "ipad",
"scale" : "2x",
"size" : "83.5x83.5"
},
{
"idiom" : "ios-marketing",
"scale" : "1x",
"size" : "1024x1024"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
================================================
FILE: Examples/FileSystemSynchronized/MainUI/Assets.xcassets/Contents.json
================================================
{
"info" : {
"author" : "xcode",
"version" : 1
}
}
================================================
FILE: Examples/FileSystemSynchronized/MainUI/Assets.xcassets/hand.ignoreme.imageset/Contents.json
================================================
{
"images" : [
{
"filename" : "hand.ignoreme.png",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
================================================
FILE: Examples/FileSystemSynchronized/MainUI/Base.lproj/MyStoryboard.storyboard
================================================
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="23094" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="Y6W-OH-hqX">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23084"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="System colors in document resources" minToolsVersion="11.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="s0d-6b-0kx">
<objects>
<viewController id="Y6W-OH-hqX" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="5EZ-qb-Rvc">
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="The first" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oox-ej-MK4">
<rect key="frame" x="47" y="77" width="64" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Second label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cgd-Ta-I3o">
<rect key="frame" x="47" y="123" width="99" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<viewLayoutGuide key="safeArea" id="vDu-zF-Fre"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="Ief-a0-LHa" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="138" y="4"/>
</scene>
</scenes>
<resources>
<systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor>
</resources>
</document>
================================================
FILE: Examples/FileSystemSynchronized/MainUI/ContentView.swift
================================================
//
// ContentView.swift
// MainUI
//
// Created by Tom Lokhorst on 2020-09-15.
//
import SwiftUI
struct ContentView: View {
var body: some View {
Text("Hello, SwiftUI App!")
.padding()
Image(R.image.handIgnoreme)
.resizable()
.aspectRatio(1, contentMode: .fit)
.frame(width: 140)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
================================================
FILE: Examples/FileSystemSynchronized/MainUI/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSUserActivityTypes</key>
<array>
<string>FirstIntentIntent</string>
</array>
<key>UIApplicationSceneManifest</key>
<dict>
<key>UIApplicationSupportsMultipleScenes</key>
<true/>
</dict>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
<key>UILaunchScreen</key>
<dict/>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
================================================
FILE: Examples/FileSystemSynchronized/MainUI/MainUI.entitlements
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.application-groups</key>
<array/>
</dict>
</plist>
================================================
FILE: Examples/FileSystemSynchronized/MainUI/MainUIApp.swift
================================================
//
// MainUIApp.swift
// MainUI
//
// Created by Tom Lokhorst on 2020-09-15.
//
import SwiftUI
@main
struct MainUIApp: App {
var body: some Scene {
WindowGroup {
ContentView()
.onAppear {
// From Assets (in this target)
print(R.image.handIgnoreme()!)
// From root folder (in this target)
print(R.image.user1()!)
print(R.storyboard.myStoryboard.instantiateInitialViewController()!)
// From Folders3 copy (in this target)
print(R.image.hand3Two()!)
print(R.image.hand3Three()!)
print(R.image.hand2Two()!)
print(R.image.hand2Three()!)
// From Subdir (in TheAppClip target)
print(R.image.person()!)
// From root folder (in TheAppClip target)
print(R.string.localizable.helloWorld())
}
}
}
}
================================================
FILE: Examples/FileSystemSynchronized/MainUI/Preview Content/Preview Assets.xcassets/Contents.json
================================================
{
"info" : {
"author" : "xcode",
"version" : 1
}
}
================================================
FILE: Examples/FileSystemSynchronized/MainUI/View.xib
================================================
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23094" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23084"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" indentationWidth="10" reuseIdentifier="myReuse" id="46V-W9-dmf">
<rect key="frame" x="0.0" y="0.0" width="393" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="46V-W9-dmf" id="zIJ-Fj-7zx">
<rect key="frame" x="0.0" y="0.0" width="393" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</tableViewCellContentView>
<point key="canvasLocation" x="-22.137404580152669" y="-412.67605633802822"/>
</tableViewCell>
</objects>
</document>
================================================
FILE: Examples/FileSystemSynchronized/MainUI/nl.lproj/MyStoryboard.strings
================================================
/* Class = "UILabel"; text = "Second label"; ObjectID = "cgd-Ta-I3o"; */
"cgd-Ta-I3o.text" = "Tweede label";
/* Class = "UILabel"; text = "The first"; ObjectID = "oox-ej-MK4"; */
"oox-ej-MK4.text" = "De eerste";
================================================
FILE: Examples/FileSystemSynchronized/TheAppClip/ClipAssets.xcassets/Contents.json
================================================
{
"info" : {
"author" : "xcode",
"version" : 1
}
}
================================================
FILE: Examples/FileSystemSynchronized/TheAppClip/ClipAssets.xcassets/MyColor.colorset/Contents.json
================================================
{
"colors" : [
{
"color" : {
"platform" : "ios",
"reference" : "systemTealColor"
},
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"color" : {
"platform" : "ios",
"reference" : "systemOrangeColor"
},
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
================================================
FILE: Examples/FileSystemSynchronized/TheAppClip/ContentView.swift
================================================
//
// ContentView.swift
// TheAppClip
//
// Created by Tom Lokhorst on 2020-09-15.
//
import SwiftUI
struct ContentView: View {
var body: some View {
Text("Hello, App Clip!")
.padding()
Image(R.image.handIgnoreme)
.resizable()
.aspectRatio(1, contentMode: .fit)
.frame(width: 140)
.border(Color(R.color.myColor))
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
================================================
FILE: Examples/FileSystemSynchronized/TheAppClip/Group1/Base.lproj/MySiriIntents.intentdefinition
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>INEnums</key>
<array/>
<key>INIntentDefinitionModelVersion</key>
<string>1.2</string>
<key>INIntentDefinitionNamespace</key>
<string>CfVXCE</string>
<key>INIntentDefinitionSystemVersion</key>
<string>24A348</string>
<key>INIntentDefinitionToolsBuildVersion</key>
<string>16A242d</string>
<key>INIntentDefinitionToolsVersion</key>
<string>16.0</string>
<key>INIntents</key>
<array>
<dict>
<key>INIntentCategory</key>
<string>generic</string>
<key>INIntentConfigurable</key>
<true/>
<key>INIntentDescription</key>
<string>the description</string>
<key>INIntentDescriptionID</key>
<string>0yVZNa</string>
<key>INIntentManagedParameterCombinations</key>
<dict>
<key></key>
<dict>
<key>INIntentParameterCombinationSupportsBackgroundExecution</key>
<true/>
<key>INIntentParameterCombinationUpdatesLinked</key>
<true/>
</dict>
</dict>
<key>INIntentName</key>
<string>FirstIntent</string>
<key>INIntentParameterCombinations</key>
<dict>
<key></key>
<dict>
<key>INIntentParameterCombinationIsPrimary</key>
<true/>
<key>INIntentParameterCombinationSupportsBackgroundExecution</key>
<true/>
</dict>
</dict>
<key>INIntentResponse</key>
<dict>
<key>INIntentResponseCodes</key>
<array>
<dict>
<key>INIntentResponseCodeName</key>
<string>success</string>
<key>INIntentResponseCodeSuccess</key>
<true/>
</dict>
<dict>
<key>INIntentResponseCodeName</key>
<string>failure</string>
</dict>
</array>
</dict>
<key>INIntentTitle</key>
<string>First Intent</string>
<key>INIntentTitleID</key>
<string>YPNLgh</string>
<key>INIntentType</key>
<string>Custom</string>
<key>INIntentVerb</key>
<string>Do</string>
</dict>
</array>
<key>INTypes</key>
<array/>
</dict>
</plist>
================================================
FILE: Examples/FileSystemSynchronized/TheAppClip/Group1/Folder1/.gitkeep
================================================
================================================
FILE: Examples/FileSystemSynchronized/TheAppClip/Group1/nl.lproj/MySiriIntents.strings
================================================
"0yVZNa" = "de omschrijving";
"YPNLgh" = "Eerste Intent";
================================================
FILE: Examples/FileSystemSynchronized/TheAppClip/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>MainUI</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSUserActivityTypes</key>
<array>
<string>FirstIntentIntent</string>
</array>
<key>UIApplicationSceneManifest</key>
<dict>
<key>UIApplicationSupportsMultipleScenes</key>
<true/>
</dict>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
<key>UILaunchScreen</key>
<dict/>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
================================================
FILE: Examples/FileSystemSynchronized/TheAppClip/Preview Content/Preview Assets.xcassets/Contents.json
================================================
{
"info" : {
"author" : "xcode",
"version" : 1
}
}
================================================
FILE: Examples/FileSystemSynchronized/TheAppClip/TheAppClip.entitlements
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.parent-application-identifiers</key>
<array>
<string>$(AppIdentifierPrefix)nl.mathijskadijk.MainUI</string>
</array>
</dict>
</plist>
================================================
FILE: Examples/FileSystemSynchronized/TheAppClip/TheAppClipApp.swift
================================================
//
// TheAppClipApp.swift
// TheAppClip
//
// Created by Tom Lokhorst on 2020-09-15.
//
import SwiftUI
@main
struct TheAppClipApp: App {
var body: some Scene {
WindowGroup {
ContentView()
.onAppear {
// From ClipAssets (in this target)
print(R.color.myColor()!)
// From Group1 (in this target)
print(R.image.handTwo()!)
print(R.image.handThree()!)
print(R.image.hand3Two()!)
print(R.image.hand3Three()!)
print(R.image.hand3Three()!)
// From Subdir (in this target)
print(R.image.colorsJpg()!)
print(R.image.user()!)
// From root folder (in this target)
print(R.string.localizable.helloWorld())
// From Assets (in MainUI)
print(R.image.handIgnoreme()!)
// From root folder (in MainUI)
print(R.storyboard.myStoryboard.instantiateInitialViewController()!)
}
}
}
}
================================================
FILE: Examples/FileSystemSynchronized/TheAppClip/en.lproj/Localizable.strings
================================================
/*
Localizable.strings
FileSystemSynchronized
Created by Tom Lokhorst on 2024-11-03.
*/
"hello.world" = "Hello world";
================================================
FILE: Examples/FileSystemSynchronized/TheAppClip/nl.lproj/Localizable.strings
================================================
/*
Localizable.strings
FileSystemSynchronized
Created by Tom Lokhorst on 2024-11-03.
*/
"hello.world" = "Hallo wereld";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/AppDelegate.swift
================================================
//
// AppDelegate.swift
// LocalizedStringApp
//
// Created by Tom Lokhorst on 2019-08-30.
// Copyright © 2019 R.swift. All rights reserved.
//
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
/*
let myprefs: [String] = ["fr-CA"]
print("Locale.preferredLanguages:")
print(Locale.preferredLanguages)
print()
print("Bundle.main.preferredLocalizations:")
print(Bundle.main.preferredLocalizations)
print()
print("Test:")
print(NSLocalizedString("one1", tableName: "one", comment: ""))
print(R.string.one.one1())
print(R.string.one.one1(preferredLanguages: myprefs))
print()
print(NSLocalizedString("one2", tableName: "one", comment: ""))
print(R.string.one.one2())
print(R.string.one.one2(preferredLanguages: myprefs))
print()
print(NSLocalizedString("two1", tableName: "two", comment: ""))
print(R.string.two.two1())
print(R.string.two.two1(preferredLanguages: myprefs))
print()
print(String(format: NSLocalizedString("two2", tableName: "two", comment: ""), locale: Locale(identifier: myprefs.first!), "Hello"))
print(R.string.two.two2("Hello"))
print(R.string.two.two2("Hello", preferredLanguages: myprefs))
print()
print(NSLocalizedString("three1", tableName: "three", comment: ""))
print(R.string.three.three1())
print(R.string.three.three1(preferredLanguages: myprefs))
print()
print(NSLocalizedString("three2", tableName: "three", comment: ""))
print(R.string.three.three2())
print(R.string.three.three2(preferredLanguages: myprefs))
print()
print(NSLocalizedString("three3", tableName: "three", comment: ""))
print(R.string.three.three3())
print(R.string.three.three3(preferredLanguages: myprefs))
print()
print(NSLocalizedString("four1", tableName: "four", comment: ""))
print(R.string.four.four1())
print(R.string.four.four1(preferredLanguages: myprefs))
print()
print(NSLocalizedString("five1", tableName: "five", comment: ""))
print(R.string.five.five1())
print(R.string.five.five1(preferredLanguages: myprefs))
print()
print(NSLocalizedString("five2", tableName: "five", comment: ""))
print(R.string.five.five2())
print(R.string.five.five2(preferredLanguages: myprefs))
print()
print(NSLocalizedString("five4", tableName: "five", comment: ""))
print(R.string.five.five4())
print(R.string.five.five4(preferredLanguages: myprefs))
print()
print(NSLocalizedString("six1", tableName: "six", comment: ""))
print(R.string.six.six1())
print(R.string.six.six1(preferredLanguages: myprefs))
print()
print(NSLocalizedString("six2", tableName: "six", comment: ""))
print(R.string.six.six2())
print(R.string.six.six2(preferredLanguages: myprefs))
print()
print(NSLocalizedString("seven1", tableName: "seven", comment: ""))
print(R.string.seven.seven1())
print(R.string.seven.seven1(preferredLanguages: myprefs))
print()
print(NSLocalizedString("seven2", tableName: "seven", comment: ""))
print(R.string.seven.seven2())
print(R.string.seven.seven2(preferredLanguages: myprefs))
print()
print(NSLocalizedString("seven3", tableName: "seven", comment: ""))
print(R.string.seven.seven3())
print(R.string.seven.seven3(preferredLanguages: myprefs))
print()
print(NSLocalizedString("seven4", tableName: "seven", comment: ""))
print(R.string.seven.seven4())
print(R.string.seven.seven4(preferredLanguages: myprefs))
print()
print(NSLocalizedString("eight1", tableName: "eight", comment: ""))
print(R.string.eight.eight1())
print(R.string.eight.eight1(preferredLanguages: myprefs))
print()
print(NSLocalizedString("eight2", tableName: "eight", comment: ""))
print(R.string.eight.eight2())
print(R.string.eight.eight2(preferredLanguages: myprefs))
print()
print(NSLocalizedString("eight3", tableName: "eight", comment: ""))
print(R.string.eight.eight3())
print(R.string.eight.eight3(preferredLanguages: myprefs))
print()
print(NSLocalizedString("nine1", tableName: "nine", comment: ""))
print(R.string.nine.nine1())
print(R.string.nine.nine1(preferredLanguages: myprefs))
print()
print(NSLocalizedString("nine2", tableName: "nine", comment: ""))
print(R.string.nine.nine2())
print(R.string.nine.nine2(preferredLanguages: myprefs))
print()
print(NSLocalizedString("nine", tableName: "nine", comment: ""))
print(R.string.nine.nine3())
print(R.string.nine.nine3(preferredLanguages: myprefs))
print()
*/
return true
}
}
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/Base.lproj/eight.strings
================================================
/*
eight.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-26.
Copyright © 2019 R.swift. All rights reserved.
*/
"eight1" = "eight 1, localized base";
"eight2" = "eight 2, localized base";
"eight3" = "eight 3, localized base";
"eightArg1" = "eight 1 %@, localized base";
"eightArg2" = "eight 2 %@, localized base";
"eightArg3" = "eight 3 %@, localized base";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/Base.lproj/nine.strings
================================================
/*
nine.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-31.
Copyright © 2019 R.swift. All rights reserved.
*/
"nine1" = "nine 1, localized base";
"nine2" = "nine 2, localized base";
"nine3" = "nine 3, localized base";
"nineArg1" = "nine 1 %@, localized base";
"nineArg2" = "nine 2 %@, localized base";
"nineArg3" = "nine 3 %@, localized base";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSApplicationCategoryType</key>
<string></string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/ca.lproj/four.strings
================================================
/*
four.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-21.
Copyright © 2019 R.swift. All rights reserved.
*/
"four1" = "four 1, localized catalan";
"fourArg" = "four %@, localized catalan";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/en-GB.lproj/five.strings
================================================
/*
five.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-21.
Copyright © 2019 R.swift. All rights reserved.
*/
"five1" = "five 1, localized english gb";
"fiveArg1" = "five 1 %@, localized english gb";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/en.lproj/MyStoryboard.storyboard
================================================
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14865.1" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="cI2-jD-mV4">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14819.2"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="DOG-Xu-M6F">
<objects>
<viewController storyboardIdentifier="First" useStoryboardIdentifierAsRestorationIdentifier="YES" id="cI2-jD-mV4" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="6oG-iq-Lyu">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
<viewLayoutGuide key="safeArea" id="Tdr-ao-2GW"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dXj-TI-GFt" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="342" y="56"/>
</scene>
</scenes>
</document>
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/en.lproj/five.strings
================================================
/*
five.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-21.
Copyright © 2019 R.swift. All rights reserved.
*/
"five1" = "five 1, localized english";
"five2" = "five 2, localized english";
"five3" = "five 3, localized english";
"fiveArg1" = "five 1 %@, localized english";
"fiveArg2" = "five 2 %@, localized english";
"fiveArg3" = "five 3 %@, localized english";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/en.lproj/nine.strings
================================================
/*
nine.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-31.
Copyright © 2019 R.swift. All rights reserved.
*/
"nine1" = "nine 1, localized english";
"nine2" = "nine 2, localized english";
"nineArg1" = "nine 1 %@, localized english";
"nineArg2" = "nine 2 %@, localized english";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/en.lproj/seven.strings
================================================
/*
seven.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-22.
Copyright © 2019 R.swift. All rights reserved.
*/
"seven1" = "seven 1, localized english";
"seven2" = "seven 2, localized english";
"sevenArg1" = "seven 1 %@, localized english";
"sevenArg2" = "seven 2 %@, localized english";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/en.lproj/three.strings
================================================
/*
three.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-21.
Copyright © 2019 R.swift. All rights reserved.
*/
"three1" = "three 1, localized english";
"three2" = "three 2, localized english";
"threeArg1" = "three 1 %@, localized english";
"threeArg2" = "three 2 %@, localized english";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/en.lproj/two.strings
================================================
/*
two.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-21.
Copyright © 2019 R.swift. All rights reserved.
*/
"two1" = "two 1, localized english";
"two2" = "two 2, %@ localized english";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/fr-CA.lproj/five.strings
================================================
/*
five.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-21.
Copyright © 2019 R.swift. All rights reserved.
*/
"five1" = "five 1, localized french canada";
"fiveArg1" = "five 1 %@, localized french canada";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/fr-CA.lproj/six.strings
================================================
/*
six.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-21.
Copyright © 2019 R.swift. All rights reserved.
*/
"six1" = "six 1, localized french canada";
"sixArg1" = "six 1 %@, localized french canada";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/fr.lproj/eight.strings
================================================
/*
eight.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-26.
Copyright © 2019 R.swift. All rights reserved.
*/
"eight1" = "eight 1, localized french";
"eight2" = "eight 2, localized french";
"eightArg1" = "eight 1 %@, localized french";
"eightArg2" = "eight 2 %@, localized french";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/fr.lproj/five.strings
================================================
/*
five.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-21.
Copyright © 2019 R.swift. All rights reserved.
*/
"five1" = "five 1, localized french";
"five2" = "five 2, localized french";
"five4" = "five 4, localized french";
"fiveArg1" = "five 1 %@, localized french";
"fiveArg2" = "five 2 %@, localized french";
"fiveArg4" = "five 4 %@, localized french";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/fr.lproj/nine.strings
================================================
/*
nine.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-31.
Copyright © 2019 R.swift. All rights reserved.
*/
"nine1" = "nine 1, localized french";
"nine2" = "nine 2, localized french";
"nineArg1" = "nine 1 %@, localized french";
"nineArg2" = "nine 2 %@, localized french";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/fr.lproj/seven.strings
================================================
/*
seven.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-22.
Copyright © 2019 R.swift. All rights reserved.
*/
"seven1" = "seven 1, localized french";
"seven2" = "seven 2, localized french";
"seven3" = "seven 3, localized french";
"seven4" = "seven 4, localized french";
"sevenArg1" = "seven 1 %@, localized french";
"sevenArg2" = "seven 2 %@, localized french";
"sevenArg3" = "seven 3 %@, localized french";
"sevenArg4" = "seven 4 %@, localized french";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/fr.lproj/six.strings
================================================
/*
six.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-21.
Copyright © 2019 R.swift. All rights reserved.
*/
"six1" = "six 1, localized french";
"six2" = "six 2, localized french";
"sixArg1" = "six 1 %@, localized french";
"sixArg2" = "six 2 %@, localized french";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/fr.lproj/ten.stringsdict
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ten1</key>
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>ten 1 - %#@things@, localized french</string>
<key>things</key>
<dict>
<key>NSStringFormatSpecTypeKey</key>
<string>NSStringPluralRuleType</string>
<key>NSStringFormatValueTypeKey</key>
<string>d</string>
<key>one</key>
<string>%d thing</string>
<key>other</key>
<string>%d things</string>
</dict>
</dict>
</dict>
</plist>
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/nl.lproj/eight.strings
================================================
/*
eight.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-26.
Copyright © 2019 R.swift. All rights reserved.
*/
"eight1" = "eight 1, localized dutch";
"eight4" = "eight 4, localized dutch";
"eightArg1" = "eight 1 %@, localized dutch";
"eightArg4" = "eight 4 %@, localized dutch";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/nl.lproj/four.strings
================================================
/*
four.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-21.
Copyright © 2019 R.swift. All rights reserved.
*/
"four1" = "four 1, localized dutch";
"fourArg" = "four %@, localized dutch";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/nl.lproj/nine.strings
================================================
/*
nine.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-31.
Copyright © 2019 R.swift. All rights reserved.
*/
"nine1" = "nine 1, localized dutch";
"nine4" = "nine 4, localized dutch";
"nineArg1" = "nine 1 %@, localized dutch";
"nineArg4" = "nine 4 %@, localized dutch";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/nl.lproj/seven.strings
================================================
/*
seven.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-22.
Copyright © 2019 R.swift. All rights reserved.
*/
"seven1" = "seven 1, localized dutch";
"seven4" = "seven 4, localized dutch";
"sevenArg1" = "seven 1 %@, localized dutch";
"sevenArg4" = "seven 4 %@, localized dutch";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/nl.lproj/ten.stringsdict
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ten1</key>
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>ten 1 - %#@things@, localized dutch</string>
<key>things</key>
<dict>
<key>NSStringFormatSpecTypeKey</key>
<string>NSStringPluralRuleType</string>
<key>NSStringFormatValueTypeKey</key>
<string>d</string>
<key>one</key>
<string>%d thing</string>
<key>other</key>
<string>%d things</string>
</dict>
</dict>
</dict>
</plist>
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/nl.lproj/three.strings
================================================
/*
three.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-21.
Copyright © 2019 R.swift. All rights reserved.
*/
"three1" = "three 1, localized dutch";
"three3" = "three 3, localized dutch";
"threeArg1" = "three 1 %@, localized dutch";
"threeArg3" = "three 3 %@, localized dutch";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp/one.strings
================================================
/*
one.strings
LocalizedStringApp
Created by Tom Lokhorst on 2019-08-21.
Copyright © 2019 R.swift. All rights reserved.
*/
"one1" = "one 1, not localized";
"one2" = "one 2, not localized";
"oneArg" = "one %@, not localized";
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 52;
objects = {
/* Begin PBXBuildFile section */
E258099B29325C1F008EA19C /* ten.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = E258099929325C1F008EA19C /* ten.stringsdict */; };
E264FBA12319055A008E0DB5 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E264FBA02319055A008E0DB5 /* AppDelegate.swift */; };
E264FBB82319055D008E0DB5 /* LocalizedStringAppTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E264FBB72319055D008E0DB5 /* LocalizedStringAppTests.swift */; };
E264FBCF2319082F008E0DB5 /* one.strings in Resources */ = {isa = PBXBuildFile; fileRef = E264FBCE2319082E008E0DB5 /* one.strings */; };
E264FBD22319083B008E0DB5 /* two.strings in Resources */ = {isa = PBXBuildFile; fileRef = E264FBD02319083B008E0DB5 /* two.strings */; };
E264FBD523190962008E0DB5 /* three.strings in Resources */ = {isa = PBXBuildFile; fileRef = E264FBD323190962008E0DB5 /* three.strings */; };
E264FBD923190992008E0DB5 /* four.strings in Resources */ = {isa = PBXBuildFile; fileRef = E264FBD723190992008E0DB5 /* four.strings */; };
E264FBDD231909F6008E0DB5 /* five.strings in Resources */ = {isa = PBXBuildFile; fileRef = E264FBDB231909F6008E0DB5 /* five.strings */; };
E264FBE223190A19008E0DB5 /* six.strings in Resources */ = {isa = PBXBuildFile; fileRef = E264FBE023190A19008E0DB5 /* six.strings */; };
E264FBE623190A2F008E0DB5 /* seven.strings in Resources */ = {isa = PBXBuildFile; fileRef = E264FBE423190A2F008E0DB5 /* seven.strings */; };
E264FBEB23190A49008E0DB5 /* eight.strings in Resources */ = {isa = PBXBuildFile; fileRef = E264FBE923190A49008E0DB5 /* eight.strings */; };
E264FBF4231A7335008E0DB5 /* nine.strings in Resources */ = {isa = PBXBuildFile; fileRef = E264FBF6231A7335008E0DB5 /* nine.strings */; };
E2E58371291D3AC2006E17D9 /* RswiftLibrary in Frameworks */ = {isa = PBXBuildFile; productRef = E2E58370291D3AC2006E17D9 /* RswiftLibrary */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
E264FBB42319055D008E0DB5 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = E264FB952319055A008E0DB5 /* Project object */;
proxyType = 1;
remoteGlobalIDString = E264FB9C2319055A008E0DB5;
remoteInfo = LocalizedStringApp;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
E258099A29325C1F008EA19C /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = fr; path = fr.lproj/ten.stringsdict; sourceTree = "<group>"; };
E258099C29325C29008EA19C /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = nl; path = nl.lproj/ten.stringsdict; sourceTree = "<group>"; };
E264FB9D2319055A008E0DB5 /* LocalizedStringApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LocalizedStringApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
E264FBA02319055A008E0DB5 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
E264FBAE2319055D008E0DB5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
E264FBB32319055D008E0DB5 /* LocalizedStringAppTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LocalizedStringAppTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
E264FBB72319055D008E0DB5 /* LocalizedStringAppTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalizedStringAppTests.swift; sourceTree = "<group>"; };
E264FBB92319055D008E0DB5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
E264FBCE2319082E008E0DB5 /* one.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; path = one.strings; sourceTree = "<group>"; };
E264FBD12319083B008E0DB5 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/two.strings; sourceTree = "<group>"; };
E264FBD423190962008E0DB5 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/three.strings; sourceTree = "<group>"; };
E264FBD62319096F008E0DB5 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/three.strings; sourceTree = "<group>"; };
E264FBD823190992008E0DB5 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/four.strings; sourceTree = "<group>"; };
E264FBDA231909D3008E0DB5 /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/four.strings; sourceTree = "<group>"; };
E264FBDC231909F6008E0DB5 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/five.strings; sourceTree = "<group>"; };
E264FBDE231909FD008E0DB5 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/five.strings"; sourceTree = "<group>"; };
E264FBDF231909FF008E0DB5 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/five.strings; sourceTree = "<group>"; };
E264FBE123190A19008E0DB5 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/six.strings; sourceTree = "<group>"; };
E264FBE323190A1F008E0DB5 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/six.strings"; sourceTree = "<group>"; };
E264FBE523190A2F008E0DB5 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/seven.strings; sourceTree = "<group>"; };
E264FBE723190A38008E0DB5 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/seven.strings; sourceTree = "<group>"; };
E264FBE823190A3C008E0DB5 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/seven.strings; sourceTree = "<group>"; };
E264FBEA23190A49008E0DB5 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/eight.strings; sourceTree = "<group>"; };
E264FBEC23190A5A008E0DB5 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/eight.strings; sourceTree = "<group>"; };
E264FBED23190A65008E0DB5 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/eight.strings; sourceTree = "<group>"; };
E264FBF1231A6984008E0DB5 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/five.strings"; sourceTree = "<group>"; };
E264FBF5231A7335008E0DB5 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/nine.strings; sourceTree = "<group>"; };
E264FBF7231A7371008E0DB5 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/nine.strings; sourceTree = "<group>"; };
E264FBF8231A7392008E0DB5 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/nine.strings; sourceTree = "<group>"; };
E264FBF9231A73BA008E0DB5 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/nine.strings; sourceTree = "<group>"; };
E2E5836E291D3AB5006E17D9 /* R.swift */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = R.swift; path = ../..; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
E264FB9A2319055A008E0DB5 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
E2E58371291D3AC2006E17D9 /* RswiftLibrary in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
E264FBB02319055D008E0DB5 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
E264FB942319055A008E0DB5 = {
isa = PBXGroup;
children = (
E2E5836D291D3AB5006E17D9 /* Packages */,
E264FB9F2319055A008E0DB5 /* LocalizedStringApp */,
E264FBB62319055D008E0DB5 /* LocalizedStringAppTests */,
E264FB9E2319055A008E0DB5 /* Products */,
E2E5836F291D3AC2006E17D9 /* Frameworks */,
);
indentWidth = 2;
sourceTree = "<group>";
tabWidth = 2;
};
E264FB9E2319055A008E0DB5 /* Products */ = {
isa = PBXGroup;
children = (
E264FB9D2319055A008E0DB5 /* LocalizedStringApp.app */,
E264FBB32319055D008E0DB5 /* LocalizedStringAppTests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
E264FB9F2319055A008E0DB5 /* LocalizedStringApp */ = {
isa = PBXGroup;
children = (
E264FBA02319055A008E0DB5 /* AppDelegate.swift */,
E264FBAE2319055D008E0DB5 /* Info.plist */,
E264FBCE2319082E008E0DB5 /* one.strings */,
E264FBD02319083B008E0DB5 /* two.strings */,
E264FBD323190962008E0DB5 /* three.strings */,
E264FBD723190992008E0DB5 /* four.strings */,
E264FBDB231909F6008E0DB5 /* five.strings */,
E264FBE023190A19008E0DB5 /* six.strings */,
E264FBE423190A2F008E0DB5 /* seven.strings */,
E264FBE923190A49008E0DB5 /* eight.strings */,
E264FBF6231A7335008E0DB5 /* nine.strings */,
E258099929325C1F008EA19C /* ten.stringsdict */,
);
path = LocalizedStringApp;
sourceTree = "<group>";
};
E264FBB62319055D008E0DB5 /* LocalizedStringAppTests */ = {
isa = PBXGroup;
children = (
E264FBB72319055D008E0DB5 /* LocalizedStringAppTests.swift */,
E264FBB92319055D008E0DB5 /* Info.plist */,
);
path = LocalizedStringAppTests;
sourceTree = "<group>";
};
E2E5836D291D3AB5006E17D9 /* Packages */ = {
isa = PBXGroup;
children = (
E2E5836E291D3AB5006E17D9 /* R.swift */,
);
name = Packages;
sourceTree = "<group>";
};
E2E5836F291D3AC2006E17D9 /* Frameworks */ = {
isa = PBXGroup;
children = (
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
E264FB9C2319055A008E0DB5 /* LocalizedStringApp */ = {
isa = PBXNativeTarget;
buildConfigurationList = E264FBBC2319055D008E0DB5 /* Build configuration list for PBXNativeTarget "LocalizedStringApp" */;
buildPhases = (
E264FB992319055A008E0DB5 /* Sources */,
E264FB9A2319055A008E0DB5 /* Frameworks */,
E264FB9B2319055A008E0DB5 /* Resources */,
);
buildRules = (
);
dependencies = (
E2E58373291D3AD4006E17D9 /* PBXTargetDependency */,
);
name = LocalizedStringApp;
packageProductDependencies = (
E2E58370291D3AC2006E17D9 /* RswiftLibrary */,
);
productName = LocalizedStringApp;
productReference = E264FB9D2319055A008E0DB5 /* LocalizedStringApp.app */;
productType = "com.apple.product-type.application";
};
E264FBB22319055D008E0DB5 /* LocalizedStringAppTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = E264FBBF2319055D008E0DB5 /* Build configuration list for PBXNativeTarget "LocalizedStringAppTests" */;
buildPhases = (
E264FBAF2319055D008E0DB5 /* Sources */,
E264FBB02319055D008E0DB5 /* Frameworks */,
E264FBB12319055D008E0DB5 /* Resources */,
);
buildRules = (
);
dependencies = (
E264FBB52319055D008E0DB5 /* PBXTargetDependency */,
);
name = LocalizedStringAppTests;
productName = LocalizedStringAppTests;
productReference = E264FBB32319055D008E0DB5 /* LocalizedStringAppTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
E264FB952319055A008E0DB5 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1100;
LastUpgradeCheck = 1410;
ORGANIZATIONNAME = R.swift;
TargetAttributes = {
E264FB9C2319055A008E0DB5 = {
CreatedOnToolsVersion = 11.0;
};
E264FBB22319055D008E0DB5 = {
CreatedOnToolsVersion = 11.0;
TestTargetID = E264FB9C2319055A008E0DB5;
};
};
};
buildConfigurationList = E264FB982319055A008E0DB5 /* Build configuration list for PBXProject "LocalizedStringApp" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = fr;
hasScannedForEncodings = 0;
knownRegions = (
ca,
en,
nl,
fr,
"fr-CA",
Base,
"en-GB",
);
mainGroup = E264FB942319055A008E0DB5;
productRefGroup = E264FB9E2319055A008E0DB5 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
E264FB9C2319055A008E0DB5 /* LocalizedStringApp */,
E264FBB22319055D008E0DB5 /* LocalizedStringAppTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
E264FB9B2319055A008E0DB5 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
E264FBD923190992008E0DB5 /* four.strings in Resources */,
E264FBE223190A19008E0DB5 /* six.strings in Resources */,
E264FBF4231A7335008E0DB5 /* nine.strings in Resources */,
E264FBCF2319082F008E0DB5 /* one.strings in Resources */,
E258099B29325C1F008EA19C /* ten.stringsdict in Resources */,
E264FBD22319083B008E0DB5 /* two.strings in Resources */,
E264FBDD231909F6008E0DB5 /* five.strings in Resources */,
E264FBE623190A2F008E0DB5 /* seven.strings in Resources */,
E264FBEB23190A49008E0DB5 /* eight.strings in Resources */,
E264FBD523190962008E0DB5 /* three.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
E264FBB12319055D008E0DB5 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
E264FB992319055A008E0DB5 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
E264FBA12319055A008E0DB5 /* AppDelegate.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
E264FBAF2319055D008E0DB5 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
E264FBB82319055D008E0DB5 /* LocalizedStringAppTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
E264FBB52319055D008E0DB5 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = E264FB9C2319055A008E0DB5 /* LocalizedStringApp */;
targetProxy = E264FBB42319055D008E0DB5 /* PBXContainerItemProxy */;
};
E2E58373291D3AD4006E17D9 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
productRef = E2E58372291D3AD4006E17D9 /* RswiftGenerateInternalResources */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
E258099929325C1F008EA19C /* ten.stringsdict */ = {
isa = PBXVariantGroup;
children = (
E258099A29325C1F008EA19C /* fr */,
E258099C29325C29008EA19C /* nl */,
);
name = ten.stringsdict;
sourceTree = "<group>";
};
E264FBD02319083B008E0DB5 /* two.strings */ = {
isa = PBXVariantGroup;
children = (
E264FBD12319083B008E0DB5 /* en */,
);
name = two.strings;
sourceTree = "<group>";
};
E264FBD323190962008E0DB5 /* three.strings */ = {
isa = PBXVariantGroup;
children = (
E264FBD423190962008E0DB5 /* en */,
E264FBD62319096F008E0DB5 /* nl */,
);
name = three.strings;
sourceTree = "<group>";
};
E264FBD723190992008E0DB5 /* four.strings */ = {
isa = PBXVariantGroup;
children = (
E264FBD823190992008E0DB5 /* nl */,
E264FBDA231909D3008E0DB5 /* ca */,
);
name = four.strings;
sourceTree = "<group>";
};
E264FBDB231909F6008E0DB5 /* five.strings */ = {
isa = PBXVariantGroup;
children = (
E264FBDC231909F6008E0DB5 /* fr */,
E264FBDE231909FD008E0DB5 /* fr-CA */,
E264FBDF231909FF008E0DB5 /* en */,
E264FBF1231A6984008E0DB5 /* en-GB */,
);
name = five.strings;
sourceTree = "<group>";
};
E264FBE023190A19008E0DB5 /* six.strings */ = {
isa = PBXVariantGroup;
children = (
E264FBE123190A19008E0DB5 /* fr */,
E264FBE323190A1F008E0DB5 /* fr-CA */,
);
name = six.strings;
sourceTree = "<group>";
};
E264FBE423190A2F008E0DB5 /* seven.strings */ = {
isa = PBXVariantGroup;
children = (
E264FBE523190A2F008E0DB5 /* nl */,
E264FBE723190A38008E0DB5 /* en */,
E264FBE823190A3C008E0DB5 /* fr */,
);
name = seven.strings;
sourceTree = "<group>";
};
E264FBE923190A49008E0DB5 /* eight.strings */ = {
isa = PBXVariantGroup;
children = (
E264FBEA23190A49008E0DB5 /* fr */,
E264FBEC23190A5A008E0DB5 /* Base */,
E264FBED23190A65008E0DB5 /* nl */,
);
name = eight.strings;
sourceTree = "<group>";
};
E264FBF6231A7335008E0DB5 /* nine.strings */ = {
isa = PBXVariantGroup;
children = (
E264FBF5231A7335008E0DB5 /* fr */,
E264FBF7231A7371008E0DB5 /* Base */,
E264FBF8231A7392008E0DB5 /* nl */,
E264FBF9231A73BA008E0DB5 /* en */,
);
name = nine.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
E264FBBA2319055D008E0DB5 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
};
name = Debug;
};
E264FBBB2319055D008E0DB5 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
E264FBBD2319055D008E0DB5 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = LC3Y92HQQ3;
INFOPLIST_FILE = LocalizedStringApp/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.LocalizedStringApp;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
E264FBBE2319055D008E0DB5 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = LC3Y92HQQ3;
INFOPLIST_FILE = LocalizedStringApp/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.LocalizedStringApp;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
E264FBC02319055D008E0DB5 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = LocalizedStringAppTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.LocalizedStringAppTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LocalizedStringApp.app/LocalizedStringApp";
};
name = Debug;
};
E264FBC12319055D008E0DB5 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = LocalizedStringAppTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.LocalizedStringAppTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LocalizedStringApp.app/LocalizedStringApp";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
E264FB982319055A008E0DB5 /* Build configuration list for PBXProject "LocalizedStringApp" */ = {
isa = XCConfigurationList;
buildConfigurations = (
E264FBBA2319055D008E0DB5 /* Debug */,
E264FBBB2319055D008E0DB5 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
E264FBBC2319055D008E0DB5 /* Build configuration list for PBXNativeTarget "LocalizedStringApp" */ = {
isa = XCConfigurationList;
buildConfigurations = (
E264FBBD2319055D008E0DB5 /* Debug */,
E264FBBE2319055D008E0DB5 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
E264FBBF2319055D008E0DB5 /* Build configuration list for PBXNativeTarget "LocalizedStringAppTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
E264FBC02319055D008E0DB5 /* Debug */,
E264FBC12319055D008E0DB5 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
/* Begin XCSwiftPackageProductDependency section */
E2E58370291D3AC2006E17D9 /* RswiftLibrary */ = {
isa = XCSwiftPackageProductDependency;
productName = RswiftLibrary;
};
E2E58372291D3AD4006E17D9 /* RswiftGenerateInternalResources */ = {
isa = XCSwiftPackageProductDependency;
productName = "plugin:RswiftGenerateInternalResources";
};
/* End XCSwiftPackageProductDependency section */
};
rootObject = E264FB952319055A008E0DB5 /* Project object */;
}
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
================================================
{
"pins" : [
{
"identity" : "swift-argument-parser",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-argument-parser",
"state" : {
"revision" : "fddd1c00396eed152c45a46bea9f47b98e59301d",
"version" : "1.2.0"
}
},
{
"identity" : "xcodeedit",
"kind" : "remoteSourceControl",
"location" : "https://github.com/tomlokhorst/XcodeEdit",
"state" : {
"revision" : "cd466d6e8c5ffd2f2b61165d37b0646f09068e1e",
"version" : "2.9.0"
}
}
],
"version" : 2
}
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/xcshareddata/xcschemes/LocalizedStringApp Dutch.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1410"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
language = "nl">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FBB22319055D008E0DB5"
BuildableName = "LocalizedStringAppTests.xctest"
BlueprintName = "LocalizedStringAppTests"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = "nl"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/xcshareddata/xcschemes/LocalizedStringApp English (GB).xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1410"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
language = "en">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FBB22319055D008E0DB5"
BuildableName = "LocalizedStringAppTests.xctest"
BlueprintName = "LocalizedStringAppTests"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = "en-GB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/xcshareddata/xcschemes/LocalizedStringApp English.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1410"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
language = "en">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FBB22319055D008E0DB5"
BuildableName = "LocalizedStringAppTests.xctest"
BlueprintName = "LocalizedStringAppTests"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = "en"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/xcshareddata/xcschemes/LocalizedStringApp French (Canada).xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1410"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
language = "fr-CA">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FBB22319055D008E0DB5"
BuildableName = "LocalizedStringAppTests.xctest"
BlueprintName = "LocalizedStringAppTests"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = "fr-CA"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/xcshareddata/xcschemes/LocalizedStringApp French.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1410"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
language = "fr">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FBB22319055D008E0DB5"
BuildableName = "LocalizedStringAppTests.xctest"
BlueprintName = "LocalizedStringAppTests"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = "fr"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/xcshareddata/xcschemes/LocalizedStringApp Turkish.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1410"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
language = "tr">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FBB22319055D008E0DB5"
BuildableName = "LocalizedStringAppTests.xctest"
BlueprintName = "LocalizedStringAppTests"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = "tr"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/xcshareddata/xcschemes/LocalizedStringApp.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1410"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FBB22319055D008E0DB5"
BuildableName = "LocalizedStringAppTests.xctest"
BlueprintName = "LocalizedStringAppTests"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E264FB9C2319055A008E0DB5"
BuildableName = "LocalizedStringApp.app"
BlueprintName = "LocalizedStringApp"
ReferencedContainer = "container:LocalizedStringApp.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringAppTests/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>
================================================
FILE: Examples/LocalizedStringApp/LocalizedStringAppTests/LocalizedStringAppTests.swift
================================================
//
// LocalizedStringAppTests.swift
// LocalizedStringAppTests
//
// Created by Tom Lokhorst on 2019-08-30.
// Copyright © 2019 R.swift. All rights reserved.
//
import XCTest
@testable import LocalizedStringApp
class LocalizedStringAppTests: XCTestCase {
func testDefault() {
/* one */
XCTAssertEqual(
R.string.one.one1(),
NSLocalizedString("one1", tableName: "one", comment: "")
)
XCTAssertEqual(
R.string.one.one2(),
NSLocalizedString("one2", tableName: "one", comment: "")
)
XCTAssertEqual(
R.string.one.oneArg("ARG"),
String(format: NSLocalizedString("oneArg", tableName: "one", comment: ""), "ARG")
)
/* two */
XCTAssertEqual(
R.string.two.two1(),
NSLocalizedString("two1", tableName: "two", comment: "")
)
XCTAssertEqual(
R.string.two.two2("Hello"),
String(format: NSLocalizedString("two2", tableName: "two", comment: ""), locale: Locale.current, "Hello")
)
/* three */
XCTAssertEqual(
R.string.three.three1(),
NSLocalizedString("three1", tableName: "three", comment: "")
)
XCTAssertEqual(
R.string.three.three2(),
NSLocalizedString("three2", tableName: "three", comment: "")
)
XCTAssertEqual(
R.string.three.three3(),
NSLocalizedString("three3", tableName: "three", comment: "")
)
XCTAssertEqual(
R.string.three.threeArg1("ARG"),
String(format: NSLocalizedString("threeArg1", tableName: "three", comment: ""), "ARG")
)
XCTAssertEqual(
R.string.three.threeArg2("ARG"),
String(format: NSLocalizedString("threeArg2", tableName: "three", comment: ""), "ARG")
)
XCTAssertEqual(
R.string.three.threeArg3("ARG"),
String(format: NSLocalizedString("threeArg3", tableName: "three", comment: ""), "ARG")
)
/* four */
XCTAssertEqual(
R.string.four.four1(),
NSLocalizedString("four1", tableName: "four", comment: "")
)
XCTAssertEqual(
R.string.four.fourArg("ARG"),
String(format: NSLocalizedString("fourArg", tableName: "four", comment: ""), "ARG")
)
/* five */
XCTAssertEqual(
R.string.five.five1(),
NSLocalizedString("five1", tableName: "five", comment: "")
)
XCTAssertEqual(
R.string.five.five2(),
NSLocalizedString("five2", tableName: "five", value: "five 2, localized french", comment: "")
)
XCTAssertEqual(
R.string.five.five4(),
NSLocalizedString("five4", tableName: "five", value: "five 4, localized french", comment: "")
)
XCTAssertEqual(
R.string.five.fiveArg1("ARG"),
String(format: NSLocalizedString("fiveArg1", tableName: "five", comment: ""), "ARG")
)
XCTAssertEqual(
R.string.five.fiveArg2("ARG"),
String(format: NSLocalizedString("fiveArg2", tableName: "five", value: "five 2 %@, localized french", comment: ""), "ARG")
)
XCTAssertEqual(
R.string.five.fiveArg4("ARG"),
String(format: NSLocalizedString("fiveArg4", tableName: "five", value: "five 4 %@, localized french", comment: ""), "ARG")
)
/* six */
XCTAssertEqual(
R.string.six.six1(),
NSLocalizedString("six1", tableName: "six", comment: "")
)
XCTAssertEqual(
R.string.six.six2(),
NSLocalizedString("six2", tableName: "six", value: "six 2, localized french", comment: "")
)
XCTAssertEqual(
R.string.six.sixArg1("ARG"),
String(format: NSLocalizedString("sixArg1", tableName: "six", comment: ""), "ARG")
)
XCTAssertEqual(
R.string.six.sixArg2("ARG"),
String(format: NSLocalizedString("sixArg2", tableName: "six", value: "six 2 %@, localized french", comment: ""), "ARG")
)
/* seven */
XCTAssertEqual(
R.string.seven.seven1(),
NSLocalizedString("seven1", tableName: "seven", comment: "")
)
XCTAssertEqual(
R.string.seven.seven2(),
NSLocalizedString("seven2", tableName: "seven", value: "seven 2, localized french", comment: "")
)
XCTAssertEqual(
R.string.seven.seven3(),
NSLocalizedString("seven3", tableName: "seven", value: "seven 3, localized french", comment: "")
)
XCTAssertEqual(
R.string.seven.seven4(),
NSLocalizedString("seven4", tableName: "seven", value: "seven 4, localized french", comment: "")
)
XCTAssertEqual(
R.string.seven.sevenArg1("ARG"),
String(format: NSLocalizedString("sevenArg1", tableName: "seven", comment: ""), "ARG")
)
XCTAssertEqual(
R.string.seven.sevenArg2("ARG"),
String(format: NSLocalizedString("sevenArg2", tableName: "seven", value: "seven 2 %@, localized french", comment: ""), "ARG")
)
XCTAssertEqual(
R.string.seven.sevenArg3("ARG"),
String(format: NSLocalizedString("sevenArg3", tableName: "seven", value: "seven 3 %@, localized french", comment: ""), "ARG")
)
XCTAssertEqual(
R.string.seven.sevenArg4("ARG"),
String(format: NSLocalizedString("sevenArg4", tableName: "seven", value: "seven 4 %@, localized french", comment: ""), "ARG")
)
/* eight */
XCTAssertEqual(
R.string.eight.eight1(),
NSLocalizedString("eight1", tableName: "eight", comment: "")
)
XCTAssertEqual(
R.string.eight.eight2(),
NSLocalizedString("eight2", tableName: "eight", value: "eight 2, localized french", comment: "")
)
XCTAssertEqual(
R.string.eight.eight3(),
NSLocalizedString("eight3", tableName: "eight", comment: "")
)
XCTAssertEqual(
R.string.eight.eightArg1("ARG"),
String(format: NSLocalizedString("eightArg1", tableName: "eight", comment: ""), "ARG")
)
XCTAssertEqual(
R.string.eight.eightArg2("ARG"),
String(format: NSLocalizedString("eightArg2", tableName: "eight", value: "eight 2 %@, localized french", comment: ""), "ARG")
)
XCTAssertEqual(
R.string.eight.eightArg3("ARG"),
String(format: NSLocalizedString("eightArg3", tableName: "eight", comment: ""), "ARG")
)
/* nine */
XCTAssertEqual(
R.string.nine.nine1(),
NSLocalizedString("nine1", tableName: "nine", comment: "")
)
XCTAssertEqual(
R.string.nine.nine2(),
NSLocalizedString("nine2", tableName: "nine", value: "nine 2, localized french", comment: "")
)
XCTAssertEqual(
R.string.nine.nine3(),
NSLocalizedString("nine3", tableName: "nine", comment: "")
)
XCTAssertEqual(
R.string.nine.nineArg1("ARG"),
String(format: NSLocalizedString("nineArg1", tableName: "nine", comment: ""), "ARG")
)
XCTAssertEqual(
R.string.nine.nineArg2("ARG"),
String(format: NSLocalizedString("nineArg2", tableName: "nine", value: "nine 2 %@, localized french", comment: ""), "ARG")
)
XCTAssertEqual(
R.string.nine.nineArg3("ARG"),
String(format: NSLocalizedString("nineArg3", tableName: "nine", comment: ""), "ARG")
)
/* ten */
XCTAssertEqual(
R.string.ten.ten1(things: 1),
String(format: NSLocalizedString("ten1", tableName: "ten", comment: ""), 1)
)
}
func testTurkish() {
let myprefs = ["tr"]
testPrefferedLanguages(myprefs: myprefs)
let strings = R.string(preferredLanguages: myprefs)
/* one */
XCTAssertEqual(strings.one.one1(),
"one 1, not localized")
XCTAssertEqual(strings.one.one2(),
"one 2, not localized")
XCTAssertEqual(strings.one.oneArg("ARG"),
"one ARG, not localized")
/* two */
XCTAssertEqual(strings.two.two1(),
"two1")
XCTAssertEqual(strings.two.two2("Hello"),
"two2")
/* three */
XCTAssertEqual(strings.three.three1(),
"three1")
XCTAssertEqual(strings.three.three2(),
"three2")
XCTAssertEqual(strings.three.three3(),
"three3")
XCTAssertEqual(strings.three.threeArg1("ARG"),
"threeArg1")
XCTAssertEqual(strings.three.threeArg2("ARG"),
"threeArg2")
XCTAssertEqual(strings.three.threeArg3("ARG"),
"threeArg3")
/* four */
XCTAssertEqual(strings.four.four1(),
"four1")
XCTAssertEqual(strings.four.fourArg("ARG"),
"fourArg")
/* five */
XCTAssertEqual(strings.five.five1(),
"five 1, localized french")
XCTAssertEqual(strings.five.five2(),
"five 2, localized french")
XCTAssertEqual(strings.five.five4(),
"five 4, localized french")
XCTAssertEqual(strings.five.fiveArg1("ARG"),
"five 1 ARG, localized french")
XCTAssertEqual(strings.five.fiveArg2("ARG"),
"five 2 ARG, localized french")
XCTAssertEqual(strings.five.fiveArg4("ARG"),
"five 4 ARG, localized french")
/* six */
XCTAssertEqual(strings.six.six1(),
"six 1, localized french")
XCTAssertEqual(strings.six.six2(),
"six 2, localized french")
XCTAssertEqual(strings.six.sixArg1("ARG"),
"six 1 ARG, localized french")
XCTAssertEqual(strings.six.sixArg2("ARG"),
"six 2 ARG, localized french")
/* seven */
XCTAssertEqual(strings.seven.seven1(),
"seven 1, localized french")
XCTAssertEqual(strings.seven.seven2(),
"seven 2, localized french")
XCTAssertEqual(strings.seven.seven3(),
"seven 3, localized french")
XCTAssertEqual(strings.seven.seven4(),
"seven 4, localized french")
XCTAssertEqual(strings.seven.sevenArg1("ARG"),
"seven 1 ARG, localized french")
XCTAssertEqual(strings.seven.sevenArg2("ARG"),
"seven 2 ARG, localized french")
XCTAssertEqual(strings.seven.sevenArg3("ARG"),
"seven 3 ARG, localized french")
XCTAssertEqual(strings.seven.sevenArg4("ARG"),
"seven 4 ARG, localized french")
/* eight */
XCTAssertEqual(strings.eight.eight1(),
"eight 1, localized french")
XCTAssertEqual(strings.eight.eight2(),
"eight 2, localized french")
XCTAssertEqual(strings.eight.eight3(),
"eight3")
XCTAssertEqual(strings.eight.eightArg1("ARG"),
"eight 1 ARG, localized french")
XCTAssertEqual(strings.eight.eightArg2("ARG"),
"eight 2 ARG, localized french")
XCTAssertEqual(strings.eight.eightArg3("ARG"),
"eightArg3")
/* nine */
XCTAssertEqual(strings.nine.nine1(),
"nine 1, localized french")
XCTAssertEqual(strings.nine.nine2(),
"nine 2, localized french")
XCTAssertEqual(strings.nine.nine3(),
"nine3")
XCTAssertEqual(strings.nine.nineArg1("ARG"),
"nine 1 ARG, localized french")
XCTAssertEqual(strings.nine.nineArg2("ARG"),
"nine 2 ARG, localized french")
XCTAssertEqual(strings.nine.nineArg3("ARG"),
"nineArg3")
/* ten */
XCTAssertEqual(strings.ten.ten1(things: 1),
"ten 1 - 1 thing, localized french")
}
func testDutch() {
let myprefs = ["nl"]
testPrefferedLanguages(myprefs: myprefs)
let strings = R.string(preferredLanguages: myprefs)
/* one */
XCTAssertEqual(strings.one.one1(),
"one 1, not localized")
XCTAssertEqual(strings.one.one2(),
"one 2, not localized")
XCTAssertEqual(strings.one.oneArg("ARG"),
"one ARG, not localized")
/* two */
XCTAssertEqual(strings.two.two1(),
"two1")
XCTAssertEqual(strings.two.two2("Hello"),
"two2")
/* three */
XCTAssertEqual(strings.three.three1(),
"three 1, localized dutch")
XCTAssertEqual(strings.three.three2(),
"three2")
XCTAssertEqual(strings.three.three3(),
"three 3, localized dutch")
XCTAssertEqual(strings.three.threeArg1("ARG"),
"three 1 ARG, localized dutch")
XCTAssertEqual(strings.three.threeArg2("ARG"),
"threeArg2")
XCTAssertEqual(strings.three.threeArg3("ARG"),
"three 3 ARG, localized dutch")
/* four */
XCTAssertEqual(strings.four.four1(),
"four 1, localized dutch")
XCTAssertEqual(strings.four.fourArg("ARG"),
"four ARG, localized dutch")
/* five */
XCTAssertEqual(strings.five.five1(),
"five 1, localized french")
XCTAssertEqual(strings.five.five2(),
"five 2, localized french")
XCTAssertEqual(strings.five.five4(),
"five 4, localized french")
XCTAssertEqual(strings.five.fiveArg1("ARG"),
"five 1 ARG, localized french")
XCTAssertEqual(strings.five.fiveArg2("ARG"),
"five 2 ARG, localized french")
XCTAssertEqual(strings.five.fiveArg4("ARG"),
"five 4 ARG, localized french")
/* six */
XCTAssertEqual(strings.six.six1(),
"six 1, localized french")
XCTAssertEqual(strings.six.six2(),
"six 2, localized french")
XCTAssertEqual(strings.six.sixArg1("ARG"),
"six 1 ARG, localized french")
XCTAssertEqual(strings.six.sixArg2("ARG"),
"six 2 ARG, localized french")
/* seven */
XCTAssertEqual(strings.seven.seven1(),
"seven 1, localized dutch")
XCTAssertEqual(strings.seven.seven2(),
"seven2")
XCTAssertEqual(strings.seven.seven3(),
"seven3")
XCTAssertEqual(strings.seven.seven4(),
"seven 4, localized dutch")
XCTAssertEqual(strings.seven.sevenArg1("ARG"),
"seven 1 ARG, localized dutch")
XCTAssertEqual(strings.seven.sevenArg2("ARG"),
"sevenArg2")
XCTAssertEqual(strings.seven.sevenArg3("ARG"),
"sevenArg3")
XCTAssertEqual(strings.seven.sevenArg4("ARG"),
"seven 4 ARG, localized dutch")
/* eight */
XCTAssertEqual(strings.eight.eight1(),
"eight 1, localized dutch")
XCTAssertEqual(strings.eight.eight2(),
"eight2")
XCTAssertEqual(strings.eight.eight3(),
"eight3")
XCTAssertEqual(strings.eight.eightArg1("ARG"),
"eight 1 ARG, localized dutch")
XCTAssertEqual(strings.eight.eightArg2("ARG"),
"eightArg2")
XCTAssertEqual(strings.eight.eightArg3("ARG"),
"eightArg3")
/* nine */
XCTAssertEqual(strings.nine.nine1(),
"nine 1, localized dutch")
XCTAssertEqual(strings.nine.nine2(),
"nine2")
XCTAssertEqual(strings.nine.nine3(),
"nine3")
XCTAssertEqual(strings.nine.nineArg1("ARG"),
"nine 1 ARG, localized dutch")
XCTAssertEqual(strings.nine.nineArg2("ARG"),
"nineArg2")
XCTAssertEqual(strings.nine.nineArg3("ARG"),
"nineArg3")
/* ten */
XCTAssertEqual(strings.ten.ten1(things: 1),
"ten 1 - 1 thing, localized dutch")
}
func testEnglish() {
let myprefs = ["en"]
testPrefferedLanguages(myprefs: myprefs)
let strings = R.string(preferredLanguages: myprefs)
/* one */
XCTAssertEqual(strings.one.one1(),
"one 1, not localized")
XCTAssertEqual(strings.one.one2(),
"one 2, not localized")
XCTAssertEqual(strings.one.oneArg("ARG"),
"one ARG, not localized")
/* two */
XCTAssertEqual(strings.two.two1(),
"two 1, localized english")
XCTAssertEqual(strings.two.two2("Hello"),
"two 2, Hello localized english")
/* three */
XCTAssertEqual(strings.three.three1(),
"three 1, localized english")
XCTAssertEqual(strings.three.three2(),
"three 2, localized english")
XCTAssertEqual(strings.three.three3(),
"three3")
XCTAssertEqual(strings.three.threeArg1("ARG"),
"three 1 ARG, localized english")
XCTAssertEqual(strings.three.threeArg2("ARG"),
"three 2 ARG, localized english")
XCTAssertEqual(strings.three.threeArg3("ARG"),
"threeArg3")
/* four */
XCTAssertEqual(strings.four.four1(),
"four1")
XCTAssertEqual(strings.four.fourArg("ARG"),
"fourArg")
/* five */
XCTAssertEqual(strings.five.five1(),
"five 1, localized english")
XCTAssertEqual(strings.five.five2(),
"five 2, localized english")
XCTAssertEqual(strings.five.five4(),
"five4")
XCTAssertEqual(strings.five.fiveArg1("ARG"),
"five 1 ARG, localized english")
XCTAssertEqual(strings.five.fiveArg2("ARG"),
"five 2 ARG, localized english")
XCTAssertEqual(strings.five.fiveArg4("ARG"),
"fiveArg4")
/* six */
XCTAssertEqual(strings.six.six1(),
"six 1, localized french")
XCTAssertEqual(strings.six.six2(),
"six 2, localized french")
XCTAssertEqual(strings.six.sixArg1("ARG"),
"six 1 ARG, localized french")
XCTAssertEqual(strings.six.sixArg2("ARG"),
"six 2 ARG, localized french")
/* seven */
XCTAssertEqual(strings.seven.seven1(),
"seven 1, localized english")
XCTAssertEqual(strings.seven.seven2(),
"seven 2, localized english")
XCTAssertEqual(strings.seven.seven3(),
"seven3")
XCTAssertEqual(strings.seven.seven4(),
"seven4")
XCTAssertEqual(strings.seven.sevenArg1("ARG"),
"seven 1 ARG, localized english")
XCTAssertEqual(strings.seven.sevenArg2("ARG"),
"seven 2 ARG, localized english")
XCTAssertEqual(strings.seven.sevenArg3("ARG"),
"sevenArg3")
XCTAssertEqual(strings.seven.sevenArg4("ARG"),
"sevenArg4")
/* eight */
XCTAssertEqual(strings.eight.eight1(),
"eight 1, localized base")
XCTAssertEqual(strings.eight.eight2(),
"eight 2, localized base")
XCTAssertEqual(strings.eight.eight3(),
"eight 3, localized base")
XCTAssertEqual(strings.eight.eightArg1("ARG"),
"eight 1 ARG, localized base")
XCTAssertEqual(strings.eight.eightArg2("ARG"),
"eight 2 ARG, localized base")
XCTAssertEqual(strings.eight.eightArg3("ARG"),
"eight 3 ARG, localized base")
/* nine */
XCTAssertEqual(strings.nine.nine1(),
"nine 1, localized english")
XCTAssertEqual(strings.nine.nine2(),
"nine 2, localized english")
XCTAssertEqual(strings.nine.nine3(),
"nine3")
XCTAssertEqual(strings.nine.nineArg1("ARG"),
"nine 1 ARG, localized english")
XCTAssertEqual(strings.nine.nineArg2("ARG"),
"nine 2 ARG, localized english")
XCTAssertEqual(strings.nine.nineArg3("ARG"),
"nineArg3")
/* ten */
XCTAssertEqual(strings.ten.ten1(things: 1),
"ten 1 - 1 thing, localized french")
}
func testEnglishGB() {
let myprefs = ["en-GB"]
testPrefferedLanguages(myprefs: myprefs)
let strings = R.string(preferredLanguages: myprefs)
/* one */
XCTAssertEqual(strings.one.one1(),
"one 1, not localized")
XCTAssertEqual(strings.one.one2(),
"one 2, not localized")
XCTAssertEqual(strings.one.oneArg("ARG"),
"one ARG, not localized")
/* two */
XCTAssertEqual(strings.two.two1(),
"two 1, localized english")
XCTAssertEqual(strings.two.two2("Hello"),
"two 2, Hello localized english")
/* three */
XCTAssertEqual(strings.three.three1(),
"three 1, localized english")
XCTAssertEqual(strings.three.three2(),
"three 2, localized english")
XCTAssertEqual(strings.three.three3(),
"three3")
XCTAssertEqual(strings.three.threeArg1("ARG"),
"three 1 ARG, localized english")
XCTAssertEqual(strings.three.threeArg2("ARG"),
"three 2 ARG, localized english")
XCTAssertEqual(strings.three.threeArg3("ARG"),
"threeArg3")
/* four */
XCTAssertEqual(strings.four.four1(),
"four1")
XCTAssertEqual(strings.four.fourArg("ARG"),
"fourArg")
/* five */
XCTAssertEqual(strings.five.five1(),
"five 1, localized english gb")
XCTAssertEqual(strings.five.five2(),
"five2")
XCTAssertEqual(strings.five.five4(),
"five4")
XCTAssertEqual(strings.five.fiveArg1("ARG"),
"five 1 ARG, localized english gb")
XCTAssertEqual(strings.five.fiveArg2("ARG"),
"fiveArg2")
XCTAssertEqual(strings.five.fiveArg4("ARG"),
"fiveArg4")
/* six */
XCTAssertEqual(strings.six.six1(),
"six 1, localized french")
XCTAssertEqual(strings.six.six2(),
"six 2, localized french")
XCTAssertEqual(strings.six.sixArg1("ARG"),
"six 1 ARG, localized french")
XCTAssertEqual(strings.six.sixArg2("ARG"),
"six 2 ARG, localized french")
/* seven */
XCTAssertEqual(strings.seven.seven1(),
"seven 1, localized english")
XCTAssertEqual(strings.seven.seven2(),
"seven 2, localized english")
XCTAssertEqual(strings.seven.seven3(),
"seven3")
XCTAssertEqual(strings.seven.seven4(),
"seven4")
XCTAssertEqual(strings.seven.sevenArg1("ARG"),
"seven 1 ARG, localized english")
XCTAssertEqual(strings.seven.sevenArg2("ARG"),
"seven 2 ARG, localized english")
XCTAssertEqual(strings.seven.sevenArg3("ARG"),
"sevenArg3")
XCTAssertEqual(strings.seven.sevenArg4("ARG"),
"sevenArg4")
/* eight */
XCTAssertEqual(strings.eight.eight1(),
"eight 1, localized base")
XCTAssertEqual(strings.eight.eight2(),
"eight 2, localized base")
XCTAssertEqual(strings.eight.eight3(),
"eight 3, localized base")
XCTAssertEqual(strings.eight.eightArg1("ARG"),
"eight 1 ARG, localized base")
XCTAssertEqual(strings.eight.eightArg2("ARG"),
"eight 2 ARG, localized base")
XCTAssertEqual(strings.eight.eightArg3("ARG"),
"eight 3 ARG, localized base")
/* nine */
XCTAssertEqual(strings.nine.nine1(),
"nine 1, localized base")
XCTAssertEqual(strings.nine.nine2(),
"nine 2, localized base")
XCTAssertEqual(strings.nine.nine3(),
"nine 3, localized base")
XCTAssertEqual(strings.nine.nineArg1("ARG"),
"nine 1 ARG, localized base")
XCTAssertEqual(strings.nine.nineArg2("ARG"),
"nine 2 ARG, localized base")
XCTAssertEqual(strings.nine.nineArg3("ARG"),
"nine 3 ARG, localized base")
/* ten */
XCTAssertEqual(strings.ten.ten1(things: 1),
"ten 1 - 1 thing, localized french")
}
func testFrench() {
let myprefs = ["fr"]
testPrefferedLanguages(myprefs: myprefs)
let strings = R.string(preferredLanguages: myprefs)
/* one */
XCTAssertEqual(strings.one.one1(),
"one 1, not localized")
XCTAssertEqual(strings.one.one2(),
"one 2, not localized")
XCTAssertEqual(strings.one.oneArg("ARG"),
"one ARG, not localized")
/* two */
XCTAssertEqual(strings.two.two1(),
"two1")
XCTAssertEqual(strings.two.two2("Hello"),
"two2")
/* three */
XCTAssertEqual(strings.three.three1(),
"three1")
XCTAssertEqual(strings.three.three2(),
"three2")
XCTAssertEqual(strings.three.three3(),
"three3")
XCTAssertEqual(strings.three.threeArg1("ARG"),
"threeArg1")
XCTAssertEqual(strings.three.threeArg2("ARG"),
"threeArg2")
XCTAssertEqual(strings.three.threeArg3("ARG"),
"threeArg3")
/* four */
XCTAssertEqual(strings.four.four1(),
"four1")
XCTAssertEqual(strings.four.fourArg("ARG"),
"fourArg")
/* five */
XCTAssertEqual(strings.five.five1(),
"five 1, localized french")
XCTAssertEqual(strings.five.five2(),
"five 2, localized french")
XCTAssertEqual(strings.five.five4(),
"five 4, localized french")
XCTAssertEqual(strings.five.fiveArg1("ARG"),
"five 1 ARG, localized french")
XCTAssertEqual(strings.five.fiveArg2("ARG"),
"five 2 ARG, localized french")
XCTAssertEqual(strings.five.fiveArg4("ARG"),
"five 4 ARG, localized french")
/* six */
XCTAssertEqual(strings.six.six1(),
"six 1, localized french")
XCTAssertEqual(strings.six.six2(),
"six 2, localized french")
XCTAssertEqual(strings.six.sixArg1("ARG"),
"six 1 ARG, localized french")
XCTAssertEqual(strings.six.sixArg2("ARG"),
"six 2 ARG, localized french")
/* seven */
XCTAssertEqual(strings.seven.seven1(),
"seven 1, localized french")
XCTAssertEqual(strings.seven.seven2(),
"seven 2, localized french")
XCTAssertEqual(strings.seven.seven3(),
"seven 3, localized french")
XCTAssertEqual(strings.seven.seven4(),
"seven 4, localized french")
XCTAssertEqual(strings.seven.sevenArg1("ARG"),
"seven 1 ARG, localized french")
XCTAssertEqual(strings.seven.sevenArg2("ARG"),
"seven 2 ARG, localized french")
XCTAssertEqual(strings.seven.sevenArg3("ARG"),
"seven 3 ARG, localized french")
XCTAssertEqual(strings.seven.sevenArg4("ARG"),
"seven 4 ARG, localized french")
/* eight */
XCTAssertEqual(strings.eight.eight1(),
"eight 1, localized french")
XCTAssertEqual(strings.eight.eight2(),
"eight 2, localized french")
XCTAssertEqual(strings.eight.eight3(),
"eight3")
XCTAssertEqual(strings.eight.eightArg1("ARG"),
"eight 1 ARG, localized french")
XCTAssertEqual(strings.eight.eightArg2("ARG"),
"eight 2 ARG, localized french")
XCTAssertEqual(strings.eight.eightArg3("ARG"),
"eightArg3")
/* nine */
XCTAssertEqual(strings.nine.nine1(),
"nine 1, localized french")
XCTAssertEqual(strings.nine.nine2(),
"nine 2, localized french")
XCTAssertEqual(strings.nine.nine3(),
"nine3")
XCTAssertEqual(strings.nine.nineArg1("ARG"),
"nine 1 ARG, localized french")
XCTAssertEqual(strings.nine.nineArg2("ARG"),
"nine 2 ARG, localized french")
XCTAssertEqual(strings.nine.nineArg3("ARG"),
"nineArg3")
/* ten */
XCTAssertEqual(strings.ten.ten1(things: 1),
"ten 1 - 1 thing, localized french")
}
func testFrenchCanada() {
let myprefs = ["fr-CA"]
testPrefferedLanguages(myprefs: myprefs)
let strings = R.string(preferredLanguages: myprefs)
/* one */
XCTAssertEqual(strings.one.one1(),
"one 1, not localized")
XCTAssertEqual(strings.one.one2(),
"one 2, not localized")
XCTAssertEqual(strings.one.oneArg("ARG"),
"one ARG, not localized")
/* two */
XCTAssertEqual(strings.two.two1(),
"two1")
XCTAssertEqual(strings.two.two2("Hello"),
"two2")
/* three */
XCTAssertEqual(strings.three.three1(),
"three1")
XCTAssertEqual(strings.three.three2(),
"three2")
XCTAssertEqual(strings.three.three3(),
"three3")
XCTAssertEqual(strings.three.threeArg1("ARG"),
"threeArg1")
XCTAssertEqual(strings.three.threeArg2("ARG"),
"threeArg2")
XCTAssertEqual(strings.three.threeArg3("ARG"),
"threeArg3")
/* four */
XCTAssertEqual(strings.four.four1(),
"four1")
XCTAssertEqual(strings.four.fourArg("ARG"),
"fourArg")
/* five */
XCTAssertEqual(strings.five.five1(),
"five 1, localized french canada")
XCTAssertEqual(strings.five.five2(),
"five2")
XCTAssertEqual(strings.five.five4(),
"five4")
XCTAssertEqual(strings.five.fiveArg1("ARG"),
"five 1 ARG, localized french canada")
XCTAssertEqual(strings.five.fiveArg2("ARG"),
"fiveArg2")
XCTAssertEqual(strings.five.fiveArg4("ARG"),
"fiveArg4")
/* six */
XCTAssertEqual(strings.six.six1(),
"six 1, localized french canada")
XCTAssertEqual(strings.six.six2(),
"six2")
XCTAssertEqual(strings.six.sixArg1("ARG"),
"six 1 ARG, localized french canada")
XCTAssertEqual(strings.six.sixArg2("ARG"),
"sixArg2")
/* seven */
XCTAssertEqual(strings.seven.seven1(),
"seven 1, localized french")
XCTAssertEqual(strings.seven.seven2(),
"seven 2, localized french")
XCTAssertEqual(strings.seven.seven3(),
"seven 3, localized french")
XCTAssertEqual(strings.seven.seven4(),
"seven 4, localized french")
XCTAssertEqual(strings.seven.sevenArg1("ARG"),
"seven 1 ARG, localized french")
XCTAssertEqual(strings.seven.sevenArg2("ARG"),
"seven 2 ARG, localized french")
XCTAssertEqual(strings.seven.sevenArg3("ARG"),
"seven 3 ARG, localized french")
XCTAssertEqual(strings.seven.sevenArg4("ARG"),
"seven 4 ARG, localized french")
/* eight */
XCTAssertEqual(strings.eight.eight1(),
"eight 1, localized base")
XCTAssertEqual(strings.eight.eight2(),
"eight 2, localized base")
XCTAssertEqual(strings.eight.eight3(),
"eight 3, localized base")
XCTAssertEqual(strings.eight.eightArg1("ARG"),
"eight 1 ARG, localized base")
XCTAssertEqual(strings.eight.eightArg2("ARG"),
"eight 2 ARG, localized base")
XCTAssertEqual(strings.eight.eightArg3("ARG"),
"eight 3 ARG, localized base")
/* nine */
XCTAssertEqual(strings.nine.nine1(),
"nine 1, localized base")
XCTAssertEqual(strings.nine.nine2(),
"nine 2, localized base")
XCTAssertEqual(strings.nine.nine3(),
"nine 3, localized base")
XCTAssertEqual(strings.nine.nineArg1("ARG"),
"nine 1 ARG, localized base")
XCTAssertEqual(strings.nine.nineArg2("ARG"),
"nine 2 ARG, localized base")
XCTAssertEqual(strings.nine.nineArg3("ARG"),
"nine 3 ARG, localized base")
/* ten */
XCTAssertEqual(strings.ten.ten1(things: 1),
"ten 1 - 1 thing, localized french")
}
func testPrefferedLanguages(myprefs: [String]) {
/* one */
XCTAssertEqual(R.string.one.one1(preferredLanguages: myprefs),
R.string.one(preferredLanguages: myprefs).one1())
XCTAssertEqual(R.string.one.one2(preferredLanguages: myprefs),
R.string.one(preferredLanguages: myprefs).one2())
XCTAssertEqual(R.string.one.oneArg("ARG", preferredLanguages: myprefs),
R.string.one(preferredLanguages: myprefs).oneArg("ARG"))
/* two */
XCTAssertEqual(R.string.two.two1(preferredLanguages: myprefs),
R.string.two(preferredLanguages: myprefs).two1())
XCTAssertEqual(R.string.two.two2("Hello", preferredLanguages: myprefs),
R.string.two(preferredLanguages: myprefs).two2("Hello"))
/* three */
XCTAssertEqual(R.string.three.three1(preferredLanguages: myprefs),
R.string.three(preferredLanguages: myprefs).three1())
XCTAssertEqual(R.string.three.three2(preferredLanguages: myprefs),
R.string.three(preferredLanguages: myprefs).three2())
XCTAssertEqual(R.string.three.three3(preferredLanguages: myprefs),
R.string.three(preferredLanguages: myprefs).three3())
XCTAssertEqual(R.string.three.threeArg1("ARG", preferredLanguages: myprefs),
R.string.three(preferredLanguages: myprefs).threeArg1("ARG"))
XCTAssertEqual(R.string.three.threeArg2("ARG", preferredLanguages: myprefs),
R.string.three(preferredLanguages: myprefs).threeArg2("ARG"))
XCTAssertEqual(R.string.three.threeArg3("ARG", preferredLanguages: myprefs),
R.string.three(preferredLanguages: myprefs).threeArg3("ARG"))
/* four */
XCTAssertEqual(R.string.four.four1(preferredLanguages: myprefs),
R.string.four(preferredLanguages: myprefs).four1())
XCTAssertEqual(R.string.four.fourArg("ARG", preferredLanguages: myprefs),
R.string.four(preferredLanguages: myprefs).fourArg("ARG"))
/* five */
XCTAssertEqual(R.string.five.five1(preferredLanguages: myprefs),
R.string.five(preferredLanguages: myprefs).five1())
XCTAssertEqual(R.string.five.five2(preferredLanguages: myprefs),
R.string.five(preferredLanguages: myprefs).five2())
XCTAssertEqual(R.string.five.five4(preferredLanguages: myprefs),
R.string.five(preferredLanguages: myprefs).five4())
XCTAssertEqual(R.string.five.fiveArg1("ARG", preferredLanguages: myprefs),
R.string.five(preferredLanguages: myprefs).fiveArg1("ARG"))
XCTAssertEqual(R.string.five.fiveArg2("ARG", preferredLanguages: myprefs),
R.string.five(preferredLanguages: myprefs).fiveArg2("ARG"))
XCTAssertEqual(R.string.five.fiveArg4("ARG", preferredLanguages: myprefs),
R.string.five(preferredLanguages: myprefs).fiveArg4("ARG"))
/* six */
XCTAssertEqual(R.string.six.six1(preferredLanguages: myprefs),
R.string.six(preferredLanguages: myprefs).six1())
XCTAssertEqual(R.string.six.six2(preferredLanguages: myprefs),
R.string.six(preferredLanguages: myprefs).six2())
XCTAssertEqual(R.string.six.sixArg1("ARG", preferredLanguages: myprefs),
R.string.six(preferredLanguages: myprefs).sixArg1("ARG"))
XCTAssertEqual(R.string.six.sixArg2("ARG", preferredLanguages: myprefs),
R.string.six(preferredLanguages: myprefs).sixArg2("ARG"))
/* seven */
XCTAssertEqual(R.string.seven.seven1(preferredLanguages: myprefs),
R.string.seven(preferredLanguages: myprefs).seven1())
XCTAssertEqual(R.string.seven.seven2(preferredLanguages: myprefs),
R.string.seven(preferredLanguages: myprefs).seven2())
XCTAssertEqual(R.string.seven.seven3(preferredLanguages: myprefs),
R.string.seven(preferredLanguages: myprefs).seven3())
XCTAssertEqual(R.string.seven.seven4(preferredLanguages: myprefs),
R.string.seven(preferredLanguages: myprefs).seven4())
XCTAssertEqual(R.string.seven.sevenArg1("ARG", preferredLanguages: myprefs),
R.string.seven(preferredLanguages: myprefs).sevenArg1("ARG"))
XCTAssertEqual(R.string.seven.sevenArg2("ARG", preferredLanguages: myprefs),
R.string.seven(preferredLanguages: myprefs).sevenArg2("ARG"))
XCTAssertEqual(R.string.seven.sevenArg3("ARG", preferredLanguages: myprefs),
R.string.seven(preferredLanguages: myprefs).sevenArg3("ARG"))
XCTAssertEqual(R.string.seven.sevenArg4("ARG", preferredLanguages: myprefs),
R.string.seven(preferredLanguages: myprefs).sevenArg4("ARG"))
/* eight */
XCTAssertEqual(R.string.eight.eight1(preferredLanguages: myprefs),
R.string.eight(preferredLanguages: myprefs).eight1())
XCTAssertEqual(R.string.eight.eight2(preferredLanguages: myprefs),
R.string.eight(preferredLanguages: myprefs).eight2())
XCTAssertEqual(R.string.eight.eight3(preferredLanguages: myprefs),
R.string.eight(preferredLanguages: myprefs).eight3())
XCTAssertEqual(R.string.eight.eightArg1("ARG", preferredLanguages: myprefs),
R.string.eight(preferredLanguages: myprefs).eightArg1("ARG"))
XCTAssertEqual(R.string.eight.eightArg2("ARG", preferredLanguages: myprefs),
R.string.eight(preferredLanguages: myprefs).eightArg2("ARG"))
XCTAssertEqual(R.string.eight.eightArg3("ARG", preferredLanguages: myprefs),
R.string.eight(preferredLanguages: myprefs).eightArg3("ARG"))
/* nine */
XCTAssertEqual(R.string.nine.nine1(preferredLanguages: myprefs),
R.string.nine(preferredLanguages: myprefs).nine1())
XCTAssertEqual(R.string.nine.nine2(preferredLanguages: myprefs),
R.string.nine(preferredLanguages: myprefs).nine2())
XCTAssertEqual(R.string.nine.nine3(preferredLanguages: myprefs),
R.string.nine(preferredLanguages: myprefs).nine3())
XCTAssertEqual(R.string.nine.nineArg1("ARG", preferredLanguages: myprefs),
R.string.nine(preferredLanguages: myprefs).nineArg1("ARG"))
XCTAssertEqual(R.string.nine.nineArg2("ARG", preferredLanguages: myprefs),
R.string.nine(preferredLanguages
gitextract_98a7l1sm/
├── .github/
│ └── workflows/
│ ├── checks.yml
│ └── release.yml
├── .gitignore
├── Documentation/
│ ├── Contribute.md
│ ├── Examples.md
│ ├── Ignoring.md
│ ├── Migration.md
│ ├── QandA.md
│ └── Readme.md
├── Examples/
│ ├── FileSystemSynchronized/
│ │ ├── FileSystemSynchronized.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ └── project.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ └── IDEWorkspaceChecks.plist
│ │ ├── MainUI/
│ │ │ ├── Assets.xcassets/
│ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ └── hand.ignoreme.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── Base.lproj/
│ │ │ │ └── MyStoryboard.storyboard
│ │ │ ├── ContentView.swift
│ │ │ ├── Info.plist
│ │ │ ├── MainUI.entitlements
│ │ │ ├── MainUIApp.swift
│ │ │ ├── Preview Content/
│ │ │ │ └── Preview Assets.xcassets/
│ │ │ │ └── Contents.json
│ │ │ ├── View.xib
│ │ │ └── nl.lproj/
│ │ │ └── MyStoryboard.strings
│ │ └── TheAppClip/
│ │ ├── ClipAssets.xcassets/
│ │ │ ├── Contents.json
│ │ │ └── MyColor.colorset/
│ │ │ └── Contents.json
│ │ ├── ContentView.swift
│ │ ├── Group1/
│ │ │ ├── Base.lproj/
│ │ │ │ └── MySiriIntents.intentdefinition
│ │ │ ├── Folder1/
│ │ │ │ └── .gitkeep
│ │ │ └── nl.lproj/
│ │ │ └── MySiriIntents.strings
│ │ ├── Info.plist
│ │ ├── Preview Content/
│ │ │ └── Preview Assets.xcassets/
│ │ │ └── Contents.json
│ │ ├── TheAppClip.entitlements
│ │ ├── TheAppClipApp.swift
│ │ ├── en.lproj/
│ │ │ └── Localizable.strings
│ │ └── nl.lproj/
│ │ └── Localizable.strings
│ ├── LocalizedStringApp/
│ │ ├── LocalizedStringApp/
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Base.lproj/
│ │ │ │ ├── eight.strings
│ │ │ │ └── nine.strings
│ │ │ ├── Info.plist
│ │ │ ├── ca.lproj/
│ │ │ │ └── four.strings
│ │ │ ├── en-GB.lproj/
│ │ │ │ └── five.strings
│ │ │ ├── en.lproj/
│ │ │ │ ├── MyStoryboard.storyboard
│ │ │ │ ├── five.strings
│ │ │ │ ├── nine.strings
│ │ │ │ ├── seven.strings
│ │ │ │ ├── three.strings
│ │ │ │ └── two.strings
│ │ │ ├── fr-CA.lproj/
│ │ │ │ ├── five.strings
│ │ │ │ └── six.strings
│ │ │ ├── fr.lproj/
│ │ │ │ ├── eight.strings
│ │ │ │ ├── five.strings
│ │ │ │ ├── nine.strings
│ │ │ │ ├── seven.strings
│ │ │ │ ├── six.strings
│ │ │ │ └── ten.stringsdict
│ │ │ ├── nl.lproj/
│ │ │ │ ├── eight.strings
│ │ │ │ ├── four.strings
│ │ │ │ ├── nine.strings
│ │ │ │ ├── seven.strings
│ │ │ │ ├── ten.stringsdict
│ │ │ │ └── three.strings
│ │ │ └── one.strings
│ │ ├── LocalizedStringApp.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace/
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata/
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── swiftpm/
│ │ │ │ └── Package.resolved
│ │ │ └── xcshareddata/
│ │ │ └── xcschemes/
│ │ │ ├── LocalizedStringApp Dutch.xcscheme
│ │ │ ├── LocalizedStringApp English (GB).xcscheme
│ │ │ ├── LocalizedStringApp English.xcscheme
│ │ │ ├── LocalizedStringApp French (Canada).xcscheme
│ │ │ ├── LocalizedStringApp French.xcscheme
│ │ │ ├── LocalizedStringApp Turkish.xcscheme
│ │ │ └── LocalizedStringApp.xcscheme
│ │ └── LocalizedStringAppTests/
│ │ ├── Info.plist
│ │ └── LocalizedStringAppTests.swift
│ ├── ResourceApp/
│ │ ├── .rswiftignore
│ │ ├── Podfile
│ │ ├── ResourceApp/
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Base.lproj/
│ │ │ │ ├── LaunchScreen.xib
│ │ │ │ ├── Main.storyboard
│ │ │ │ └── Secondary.storyboard
│ │ │ ├── CellCollectionView.xib
│ │ │ ├── CellView.xib
│ │ │ ├── CustomSegue.swift
│ │ │ ├── Duplicate/
│ │ │ │ ├── ADuplicateCellView.xib
│ │ │ │ ├── duplicate.storyboard
│ │ │ │ └── duplicate.xib
│ │ │ ├── Duplicate.storyboard
│ │ │ ├── Duplicate.xib
│ │ │ ├── DuplicateCellView.xib
│ │ │ ├── Files/
│ │ │ │ ├── #column
│ │ │ │ ├── Duplicate.json
│ │ │ │ ├── Some.json
│ │ │ │ ├── __FILE__
│ │ │ │ ├── associatedtype
│ │ │ │ └── duplicateJson
│ │ │ ├── FirstViewController.swift
│ │ │ ├── Images/
│ │ │ │ └── Sky.tiff
│ │ │ ├── Images.xcassets/
│ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ ├── My Red.colorset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Namespace/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── Second.imageset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── first.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Second.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Some Folder/
│ │ │ │ │ ├── A Nested Folder/
│ │ │ │ │ │ ├── first nested.imageset/
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ └── second nested.imageset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── eerste.imageset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── second.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── TheAppIcon.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── first.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── Images2.xcassets/
│ │ │ │ ├── Conflicting.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Namespace 1/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── Inner/
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── Namespace 2/
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── Folder/
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── first.imageset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── Second.imageset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── third.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Namespace-/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── Inner/
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── Namespace/
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── Folder/
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── first.imageset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── Second.imageset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── third.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── conflicting/
│ │ │ │ ├── Contents.json
│ │ │ │ └── first.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── Info.plist
│ │ │ ├── Localized/
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ └── hello.txt
│ │ │ │ ├── es.lproj/
│ │ │ │ │ └── hello.txt
│ │ │ │ └── nl.lproj/
│ │ │ │ └── hello.txt
│ │ │ ├── Media.xcassets/
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Folder/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── Not dupe.colorset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Keyboard Focus Indicator color.colorset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── My Red.colorset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Not dupe.colorset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Slightly transparant.colorset/
│ │ │ │ └── Contents.json
│ │ │ ├── My View.xib
│ │ │ ├── MyViewController.swift
│ │ │ ├── References.storyboard
│ │ │ ├── Relative To Project/
│ │ │ │ └── RelativeToProject.xib
│ │ │ ├── SceneDelegate.swift
│ │ │ ├── SecondViewController.swift
│ │ │ ├── SegueIdentifiers.storyboard
│ │ │ ├── Settings.bundle/
│ │ │ │ ├── Root.plist
│ │ │ │ └── en.lproj/
│ │ │ │ └── Root.strings
│ │ │ ├── Specials.storyboard
│ │ │ ├── Strings/
│ │ │ │ ├── @@.strings
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ ├── Settings.strings
│ │ │ │ │ └── Settings.stringsdict
│ │ │ │ ├── Duplicate#.strings
│ │ │ │ ├── Duplicate.strings
│ │ │ │ ├── Generic.strings
│ │ │ │ ├── Generic.stringsdict
│ │ │ │ ├── en.lproj/
│ │ │ │ │ └── Localizable.strings
│ │ │ │ ├── es.lproj/
│ │ │ │ │ └── Localizable.strings
│ │ │ │ ├── ja.lproj/
│ │ │ │ │ └── Localizable.strings
│ │ │ │ └── nl.lproj/
│ │ │ │ ├── Settings.strings
│ │ │ │ └── Settings.stringsdict
│ │ │ ├── SupplementaryElement.xib
│ │ │ ├── TabBarItem.storyboard
│ │ │ ├── WhitespaceReuseIdentifer.xib
│ │ │ └── Xib with ViewController.xib
│ │ ├── ResourceApp.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace/
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata/
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── swiftpm/
│ │ │ │ └── Package.resolved
│ │ │ └── xcshareddata/
│ │ │ └── xcschemes/
│ │ │ └── ResourceApp.xcscheme
│ │ ├── ResourceApp.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── swiftpm/
│ │ │ └── Package.resolved
│ │ └── ResourceAppTests/
│ │ ├── FilesTests.swift
│ │ ├── FontsTests.swift
│ │ ├── IgnoreTests.swift
│ │ ├── Info.plist
│ │ ├── InfoPlistTests.swift
│ │ ├── NibTests.swift
│ │ ├── ResourceAppTests.swift
│ │ ├── SegueTests.swift
│ │ ├── StoryboardTests.swift
│ │ ├── StringsTests.swift
│ │ └── ValidationTests.swift
│ ├── RswiftAppWithStaticFrameworks/
│ │ ├── App/
│ │ │ ├── Info.plist
│ │ │ ├── Resources/
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ ├── AccentColor.colorset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Base.lproj/
│ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ └── Main.storyboard
│ │ │ └── Sources/
│ │ │ ├── AppDelegate.swift
│ │ │ ├── SceneDelegate.swift
│ │ │ └── ViewController.swift
│ │ ├── AppTests/
│ │ │ └── AppTests.swift
│ │ ├── Bar/
│ │ │ ├── Info.plist
│ │ │ └── Sources/
│ │ │ └── Bar.swift
│ │ ├── Foo/
│ │ │ ├── Info.plist
│ │ │ └── Sources/
│ │ │ └── Foo.swift
│ │ ├── RswiftAppWithStaticFrameworks.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace/
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata/
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── swiftpm/
│ │ │ │ └── Package.resolved
│ │ │ └── xcshareddata/
│ │ │ └── xcschemes/
│ │ │ ├── App.xcscheme
│ │ │ ├── Bar.xcscheme
│ │ │ └── Foo.xcscheme
│ │ └── copy_bundles.sh
│ ├── RswiftUI/
│ │ ├── RswiftUI/
│ │ │ ├── Assets.xcassets/
│ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ └── hand.ignoreme.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ContentView.swift
│ │ │ ├── Info.plist
│ │ │ ├── Preview Content/
│ │ │ │ └── Preview Assets.xcassets/
│ │ │ │ └── Contents.json
│ │ │ └── RswiftUIApp.swift
│ │ ├── RswiftUI.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ └── project.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── swiftpm/
│ │ │ └── Package.resolved
│ │ └── RswiftUIAppClip/
│ │ ├── ClipAssets.xcassets/
│ │ │ ├── Contents.json
│ │ │ └── MyColor.colorset/
│ │ │ └── Contents.json
│ │ ├── ContentView.swift
│ │ ├── Info.plist
│ │ ├── Preview Content/
│ │ │ └── Preview Assets.xcassets/
│ │ │ └── Contents.json
│ │ ├── RswiftUIAppClip.entitlements
│ │ └── RswiftUIAppClipApp.swift
│ ├── RtvApp/
│ │ ├── .rswiftignore
│ │ ├── ResourceApp-tvOS/
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Assets.xcassets/
│ │ │ │ ├── Brand Assets.brandassets/
│ │ │ │ │ ├── App Icon - Large.imagestack/
│ │ │ │ │ │ ├── Back.imagestacklayer/
│ │ │ │ │ │ │ ├── Content.imageset/
│ │ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Front.imagestacklayer/
│ │ │ │ │ │ │ ├── Content.imageset/
│ │ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ └── Middle.imagestacklayer/
│ │ │ │ │ │ ├── Content.imageset/
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── App Icon - Small.imagestack/
│ │ │ │ │ │ ├── Back.imagestacklayer/
│ │ │ │ │ │ │ ├── Content.imageset/
│ │ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Front.imagestacklayer/
│ │ │ │ │ │ │ ├── Content.imageset/
│ │ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ └── Middle.imagestacklayer/
│ │ │ │ │ │ ├── Content.imageset/
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── Top Shelf Image Wide.imageset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Top Shelf Image.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── BrightWhite.colorset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ ├── ImageStackAsset.imagestack/
│ │ │ │ │ ├── Back.imagestacklayer/
│ │ │ │ │ │ ├── Content.imageset/
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── Front.imagestacklayer/
│ │ │ │ │ │ ├── Content.imageset/
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Middle.imagestacklayer/
│ │ │ │ │ ├── Content.imageset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ │ └── LaunchImage.launchimage/
│ │ │ │ └── Contents.json
│ │ │ ├── Base.lproj/
│ │ │ │ └── Main.storyboard
│ │ │ └── Info.plist
│ │ ├── ResourceAppTests-tvOS/
│ │ │ ├── ImageTests.swift
│ │ │ ├── Info.plist
│ │ │ └── ValidationTests.swift
│ │ └── RtvApp.xcodeproj/
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── swiftpm/
│ │ │ └── Package.resolved
│ │ └── xcshareddata/
│ │ └── xcschemes/
│ │ ├── ResourceApp-tvOS.xcscheme
│ │ └── ResourceAppTests-tvOS.xcscheme
│ └── RwatchApp/
│ ├── .rswiftignore
│ ├── ResourceApp-watchOS/
│ │ ├── Assets.xcassets/
│ │ │ ├── AppIcon.appiconset/
│ │ │ │ └── Contents.json
│ │ │ └── Contents.json
│ │ ├── Base.lproj/
│ │ │ └── Interface.storyboard
│ │ └── Info.plist
│ ├── ResourceApp-watchOS-Extension/
│ │ ├── Assets.xcassets/
│ │ │ ├── Complication.complicationset/
│ │ │ │ ├── Circular.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Extra Large.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Graphic Bezel.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Graphic Circular.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Graphic Corner.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Graphic Extra Large.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Graphic Large Rectangular.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Modular.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Utilitarian.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── Contents.json
│ │ │ ├── MyColor.colorset/
│ │ │ │ └── Contents.json
│ │ │ └── hand.ignoreme.imageset/
│ │ │ └── Contents.json
│ │ ├── ExtensionDelegate.swift
│ │ ├── Info.plist
│ │ ├── InterfaceController.swift
│ │ ├── NotificationController.swift
│ │ ├── PushNotificationPayload.apns
│ │ └── Strings/
│ │ ├── en.lproj/
│ │ │ └── Localizable.strings
│ │ ├── es.lproj/
│ │ │ └── Localizable.strings
│ │ └── ja.lproj/
│ │ └── Localizable.strings
│ └── RwatchApp.xcodeproj/
│ ├── project.pbxproj
│ ├── project.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── swiftpm/
│ │ └── Package.resolved
│ └── xcshareddata/
│ └── xcschemes/
│ ├── ResourceApp-watchOS (Notification).xcscheme
│ └── ResourceApp-watchOS.xcscheme
├── License
├── Package.resolved
├── Package.swift
├── Plugins/
│ ├── RswiftGenerateInternalResources/
│ │ └── RswiftGenerateInternalResources.swift
│ ├── RswiftGeneratePublicResources/
│ │ └── RswiftGeneratePublicResources.swift
│ ├── RswiftGenerateResourcesCommand/
│ │ └── RswiftGenerateResourcesCommand.swift
│ └── RswiftModifyXcodePackages/
│ └── RswiftModifyXcodePackages.swift
├── R.swift.podspec
├── README.md
├── Sources/
│ ├── RswiftGenerators/
│ │ ├── AccessibilityIdentifier+Generator.swift
│ │ ├── AssetCatalog+Generator.swift
│ │ ├── Extensions/
│ │ │ ├── Array+Extensions.swift
│ │ │ └── String+Extensions.swift
│ │ ├── FileResource+Generator.swift
│ │ ├── FontResource+Generator.swift
│ │ ├── Nib+Generator.swift
│ │ ├── PropertyListResource+Generator.swift
│ │ ├── ReuseIdentifier+Generator.swift
│ │ ├── Segue+Generator.swift
│ │ ├── Shared/
│ │ │ ├── AssetCatalogMergedNamespaces.swift
│ │ │ ├── LocaleReference+Generator.swift
│ │ │ ├── SwiftIdentifier.swift
│ │ │ └── TypeReference+Generator.swift
│ │ ├── Storyboard+Generator.swift
│ │ ├── StringsTable+Generator.swift
│ │ ├── SwiftSyntax/
│ │ │ ├── Struct.swift
│ │ │ └── StructMembersBuilder.swift
│ │ └── XcodeProject+Generator.swift
│ ├── RswiftParsers/
│ │ ├── ProjectResources.swift
│ │ ├── Resources/
│ │ │ ├── AssetCatalog+Parser.swift
│ │ │ ├── FileResource+Parser.swift
│ │ │ ├── FontResource+Parser.swift
│ │ │ ├── ImageResource+Parser.swift
│ │ │ ├── Nib+Parser.swift
│ │ │ ├── PropertyList+Parser.swift
│ │ │ ├── Storyboard+Parser.swift
│ │ │ └── StringsTable+Parser.swift
│ │ └── Shared/
│ │ ├── Bundle+Extensions.swift
│ │ ├── DeploymentTarget+Parser.swift
│ │ ├── FormatPart+Extensions.swift
│ │ ├── GeneratedId.swift
│ │ ├── Glob.swift
│ │ ├── IgnoreFile.swift
│ │ ├── ResourceParsingError.swift
│ │ ├── SourceTreeURLs.swift
│ │ ├── SupportedExtensions.swift
│ │ ├── TypeReference+Extensions.swift
│ │ ├── URL+Extensions.swift
│ │ └── Xcodeproj.swift
│ ├── RswiftResources/
│ │ ├── AssetCatalog.swift
│ │ ├── ColorResource.swift
│ │ ├── DataResource.swift
│ │ ├── FileResource.swift
│ │ ├── FontResource.swift
│ │ ├── ImageResource.swift
│ │ ├── Integrations/
│ │ │ ├── Bundle+Extensions.swift
│ │ │ ├── ColorResource+Integrations.swift
│ │ │ ├── DataResource+Integrations.swift
│ │ │ ├── FileResource+Integrations.swift
│ │ │ ├── FontResource+Integrations.swift
│ │ │ ├── ImageResource+Integrations.swift
│ │ │ ├── NibReference+Integrations.swift
│ │ │ ├── ReuseIdentifier+Integrations.swift
│ │ │ ├── SegueIdentifier+Integrations.swift
│ │ │ ├── StoryboardReference+Integrations.swift
│ │ │ └── StringResource+Integrations.swift
│ │ ├── NibResource.swift
│ │ ├── PropertyListResource.swift
│ │ ├── Shared/
│ │ │ ├── DeploymentTarget.swift
│ │ │ ├── LocaleReference.swift
│ │ │ ├── ModuleReference.swift
│ │ │ ├── NameCatalog.swift
│ │ │ ├── Reusable.swift
│ │ │ ├── StoryboardReference.swift
│ │ │ ├── StringParam+Extensions.swift
│ │ │ ├── StringParam.swift
│ │ │ ├── StringsTable.swift
│ │ │ ├── TypeReference.swift
│ │ │ ├── Unifiable.swift
│ │ │ └── ValidationError.swift
│ │ ├── StoryboardResource.swift
│ │ └── StringResource.swift
│ └── rswift/
│ ├── App.swift
│ ├── Config.swift
│ └── RswiftCore.swift
└── Tests/
├── RswiftGeneratorsTests/
│ └── MainTests.swift
└── RswiftParsersTests/
├── GlobTests.swift
└── NibParserDelegateTests.swift
Condensed preview — 385 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,010K chars).
[
{
"path": ".github/workflows/checks.yml",
"chars": 4449,
"preview": "name: Checks\n\non:\n push:\n branches: [ main ]\n pull_request:\n branches: '*'\n\nenv:\n DEVELOPER_DIR: /Applications/"
},
{
"path": ".github/workflows/release.yml",
"chars": 6894,
"preview": "name: Release\n\non:\n release:\n types: created\n\nenv:\n DEVELOPER_DIR: /Applications/Xcode-16.0.0.app/Contents/Develope"
},
{
"path": ".gitignore",
"chars": 253,
"preview": ".DS_Store\nxcuserdata\nDerivedData\nPods\n*.xccheckout\n*.generated.swift\n\nfastlane/test_output\nfastlane/README.md\nfastlane/r"
},
{
"path": "Documentation/Contribute.md",
"chars": 1934,
"preview": "# Thank you!\n\nThank you for taking some of your precious time helping this project move forward. Really great that you'r"
},
{
"path": "Documentation/Examples.md",
"chars": 8895,
"preview": "# Examples\n\nOn this page you'll find examples of the kind of resources R.swift supports and how you can use them. We aim"
},
{
"path": "Documentation/Ignoring.md",
"chars": 2002,
"preview": "# Ignoring resources\n\nR.swift will discover resources used in your project automatically. To make sure you can continue "
},
{
"path": "Documentation/Migration.md",
"chars": 7735,
"preview": "# Migration\n\nPointers for migration between major versions.\n\n## Upgrading to 7.0\n\n[Demo video: Updating from R.swift 6 t"
},
{
"path": "Documentation/QandA.md",
"chars": 3324,
"preview": "# Questions and Answers\n\n## Why was R.swift created?\n\nSwift is a beautiful language and one of it's main advantages is i"
},
{
"path": "Documentation/Readme.md",
"chars": 235,
"preview": "# Documentation for R.swift\n\n- [Questions and Answers](QandA.md)\n- [Usage examples](Examples.md)\n- [Ignoring resources]("
},
{
"path": "Examples/FileSystemSynchronized/FileSystemSynchronized.xcodeproj/project.pbxproj",
"chars": 26123,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 74;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "Examples/FileSystemSynchronized/FileSystemSynchronized.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
"chars": 135,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"self:\">\n </FileRef"
},
{
"path": "Examples/FileSystemSynchronized/FileSystemSynchronized.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Examples/FileSystemSynchronized/MainUI/Assets.xcassets/AppIcon.appiconset/Contents.json",
"chars": 1591,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"iphone\",\n \"scale\" : \"2x\",\n \"size\" : \"20x20\"\n },\n {\n \"idiom\""
},
{
"path": "Examples/FileSystemSynchronized/MainUI/Assets.xcassets/Contents.json",
"chars": 63,
"preview": "{\n \"info\" : {\n \"author\" : \"xcode\",\n \"version\" : 1\n }\n}\n"
},
{
"path": "Examples/FileSystemSynchronized/MainUI/Assets.xcassets/hand.ignoreme.imageset/Contents.json",
"chars": 163,
"preview": "{\n \"images\" : [\n {\n \"filename\" : \"hand.ignoreme.png\",\n \"idiom\" : \"universal\"\n }\n ],\n \"info\" : {\n \""
},
{
"path": "Examples/FileSystemSynchronized/MainUI/Base.lproj/MyStoryboard.storyboard",
"chars": 3745,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
},
{
"path": "Examples/FileSystemSynchronized/MainUI/ContentView.swift",
"chars": 477,
"preview": "//\n// ContentView.swift\n// MainUI\n//\n// Created by Tom Lokhorst on 2020-09-15.\n//\n\nimport SwiftUI\n\nstruct ContentView"
},
{
"path": "Examples/FileSystemSynchronized/MainUI/Info.plist",
"chars": 1668,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Examples/FileSystemSynchronized/MainUI/MainUI.entitlements",
"chars": 248,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Examples/FileSystemSynchronized/MainUI/MainUIApp.swift",
"chars": 1044,
"preview": "//\n// MainUIApp.swift\n// MainUI\n//\n// Created by Tom Lokhorst on 2020-09-15.\n//\n\nimport SwiftUI\n\n@main\nstruct MainUIA"
},
{
"path": "Examples/FileSystemSynchronized/MainUI/Preview Content/Preview Assets.xcassets/Contents.json",
"chars": 63,
"preview": "{\n \"info\" : {\n \"author\" : \"xcode\",\n \"version\" : 1\n }\n}\n"
},
{
"path": "Examples/FileSystemSynchronized/MainUI/View.xib",
"chars": 1712,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVe"
},
{
"path": "Examples/FileSystemSynchronized/MainUI/nl.lproj/MyStoryboard.strings",
"chars": 214,
"preview": "\n/* Class = \"UILabel\"; text = \"Second label\"; ObjectID = \"cgd-Ta-I3o\"; */\n\"cgd-Ta-I3o.text\" = \"Tweede label\";\n\n/* Class "
},
{
"path": "Examples/FileSystemSynchronized/TheAppClip/ClipAssets.xcassets/Contents.json",
"chars": 63,
"preview": "{\n \"info\" : {\n \"author\" : \"xcode\",\n \"version\" : 1\n }\n}\n"
},
{
"path": "Examples/FileSystemSynchronized/TheAppClip/ClipAssets.xcassets/MyColor.colorset/Contents.json",
"chars": 475,
"preview": "{\n \"colors\" : [\n {\n \"color\" : {\n \"platform\" : \"ios\",\n \"reference\" : \"systemTealColor\"\n },\n "
},
{
"path": "Examples/FileSystemSynchronized/TheAppClip/ContentView.swift",
"chars": 522,
"preview": "//\n// ContentView.swift\n// TheAppClip\n//\n// Created by Tom Lokhorst on 2020-09-15.\n//\n\nimport SwiftUI\n\nstruct Content"
},
{
"path": "Examples/FileSystemSynchronized/TheAppClip/Group1/Base.lproj/MySiriIntents.intentdefinition",
"chars": 2058,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Examples/FileSystemSynchronized/TheAppClip/Group1/Folder1/.gitkeep",
"chars": 0,
"preview": ""
},
{
"path": "Examples/FileSystemSynchronized/TheAppClip/Group1/nl.lproj/MySiriIntents.strings",
"chars": 60,
"preview": "\"0yVZNa\" = \"de omschrijving\";\n\n\"YPNLgh\" = \"Eerste Intent\";\n\n"
},
{
"path": "Examples/FileSystemSynchronized/TheAppClip/Info.plist",
"chars": 1725,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Examples/FileSystemSynchronized/TheAppClip/Preview Content/Preview Assets.xcassets/Contents.json",
"chars": 63,
"preview": "{\n \"info\" : {\n \"author\" : \"xcode\",\n \"version\" : 1\n }\n}\n"
},
{
"path": "Examples/FileSystemSynchronized/TheAppClip/TheAppClip.entitlements",
"chars": 335,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Examples/FileSystemSynchronized/TheAppClip/TheAppClipApp.swift",
"chars": 1179,
"preview": "//\n// TheAppClipApp.swift\n// TheAppClip\n//\n// Created by Tom Lokhorst on 2020-09-15.\n//\n\nimport SwiftUI\n\n@main\nstruct"
},
{
"path": "Examples/FileSystemSynchronized/TheAppClip/en.lproj/Localizable.strings",
"chars": 131,
"preview": "/* \n Localizable.strings\n FileSystemSynchronized\n\n Created by Tom Lokhorst on 2024-11-03.\n \n*/\n\n\"hello.world\" = \"Hel"
},
{
"path": "Examples/FileSystemSynchronized/TheAppClip/nl.lproj/Localizable.strings",
"chars": 132,
"preview": "/* \n Localizable.strings\n FileSystemSynchronized\n\n Created by Tom Lokhorst on 2024-11-03.\n \n*/\n\n\"hello.world\" = \"Hal"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/AppDelegate.swift",
"chars": 4814,
"preview": "//\n// AppDelegate.swift\n// LocalizedStringApp\n//\n// Created by Tom Lokhorst on 2019-08-30.\n// Copyright © 2019 R.swi"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/Base.lproj/eight.strings",
"chars": 383,
"preview": "/* \n eight.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-26.\n Copyright © 2019 R.swift. All right"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/Base.lproj/nine.strings",
"chars": 370,
"preview": "/* \n nine.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-31.\n Copyright © 2019 R.swift. All rights"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/Info.plist",
"chars": 1490,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/ca.lproj/four.strings",
"chars": 216,
"preview": "/* \n four.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-21.\n Copyright © 2019 R.swift. All rights"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/en-GB.lproj/five.strings",
"chars": 228,
"preview": "/* \n five.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-21.\n Copyright © 2019 R.swift. All rights"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/en.lproj/MyStoryboard.storyboard",
"chars": 1790,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/en.lproj/five.strings",
"chars": 388,
"preview": "/* \n five.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-21.\n Copyright © 2019 R.swift. All rights"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/en.lproj/nine.strings",
"chars": 305,
"preview": "/* \n nine.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-31.\n Copyright © 2019 R.swift. All rights"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/en.lproj/seven.strings",
"chars": 314,
"preview": "/* \n seven.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-22.\n Copyright © 2019 R.swift. All right"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/en.lproj/three.strings",
"chars": 313,
"preview": "/* \n three.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-21.\n Copyright © 2019 R.swift. All right"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/en.lproj/two.strings",
"chars": 211,
"preview": "/* \n two.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-21.\n Copyright © 2019 R.swift. All rights "
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/fr-CA.lproj/five.strings",
"chars": 234,
"preview": "/* \n five.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-21.\n Copyright © 2019 R.swift. All rights"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/fr-CA.lproj/six.strings",
"chars": 227,
"preview": "/* \n six.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-21.\n Copyright © 2019 R.swift. All rights "
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/fr.lproj/eight.strings",
"chars": 310,
"preview": "/* \n eight.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-26.\n Copyright © 2019 R.swift. All right"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/fr.lproj/five.strings",
"chars": 383,
"preview": "/* \n five.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-21.\n Copyright © 2019 R.swift. All rights"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/fr.lproj/nine.strings",
"chars": 301,
"preview": "/* \n nine.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-31.\n Copyright © 2019 R.swift. All rights"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/fr.lproj/seven.strings",
"chars": 480,
"preview": "/* \n seven.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-22.\n Copyright © 2019 R.swift. All right"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/fr.lproj/six.strings",
"chars": 290,
"preview": "/* \n six.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-21.\n Copyright © 2019 R.swift. All rights "
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/fr.lproj/ten.stringsdict",
"chars": 630,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/nl.lproj/eight.strings",
"chars": 308,
"preview": "/* \n eight.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-26.\n Copyright © 2019 R.swift. All right"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/nl.lproj/four.strings",
"chars": 212,
"preview": "/* \n four.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-21.\n Copyright © 2019 R.swift. All rights"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/nl.lproj/nine.strings",
"chars": 299,
"preview": "/* \n nine.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-31.\n Copyright © 2019 R.swift. All rights"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/nl.lproj/seven.strings",
"chars": 308,
"preview": "/* \n seven.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-22.\n Copyright © 2019 R.swift. All right"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/nl.lproj/ten.stringsdict",
"chars": 636,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/nl.lproj/three.strings",
"chars": 306,
"preview": "/* \n three.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-21.\n Copyright © 2019 R.swift. All right"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp/one.strings",
"chars": 236,
"preview": "/* \n one.strings\n LocalizedStringApp\n\n Created by Tom Lokhorst on 2019-08-21.\n Copyright © 2019 R.swift. All rights "
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/project.pbxproj",
"chars": 26171,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 52;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
"chars": 135,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"self:\">\n </FileRef"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved",
"chars": 585,
"preview": "{\n \"pins\" : [\n {\n \"identity\" : \"swift-argument-parser\",\n \"kind\" : \"remoteSourceControl\",\n \"location\" "
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/xcshareddata/xcschemes/LocalizedStringApp Dutch.xcscheme",
"chars": 3446,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1410\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/xcshareddata/xcschemes/LocalizedStringApp English (GB).xcscheme",
"chars": 3449,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1410\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/xcshareddata/xcschemes/LocalizedStringApp English.xcscheme",
"chars": 3446,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1410\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/xcshareddata/xcschemes/LocalizedStringApp French (Canada).xcscheme",
"chars": 3452,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1410\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/xcshareddata/xcschemes/LocalizedStringApp French.xcscheme",
"chars": 3446,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1410\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/xcshareddata/xcschemes/LocalizedStringApp Turkish.xcscheme",
"chars": 3446,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1410\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringApp.xcodeproj/xcshareddata/xcschemes/LocalizedStringApp.xcscheme",
"chars": 3402,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1410\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringAppTests/Info.plist",
"chars": 727,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Examples/LocalizedStringApp/LocalizedStringAppTests/LocalizedStringAppTests.swift",
"chars": 39117,
"preview": "//\n// LocalizedStringAppTests.swift\n// LocalizedStringAppTests\n//\n// Created by Tom Lokhorst on 2019-08-30.\n// Copyr"
},
{
"path": "Examples/ResourceApp/.rswiftignore",
"chars": 288,
"preview": "# Filtering single file\nResourceApp/Images/Sky.tiff\n\n # Corrupt line\n\n# Ignore all files containing '.ignoreme.'\n**/*.ig"
},
{
"path": "Examples/ResourceApp/Podfile",
"chars": 359,
"preview": "use_frameworks!\nworkspace 'ResourceApp'\n\ntarget 'ResourceApp' do\n platform :ios, '12.0'\n project 'ResourceApp'\n\n pod "
},
{
"path": "Examples/ResourceApp/ResourceApp/AppDelegate.swift",
"chars": 3320,
"preview": "//\n// AppDelegate.swift\n// ResourceApp\n//\n// Created by Mathijs Kadijk on 20-07-15.\n// Copyright (c) 2015 Mathijs Ka"
},
{
"path": "Examples/ResourceApp/ResourceApp/Base.lproj/LaunchScreen.xib",
"chars": 3731,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" versi"
},
{
"path": "Examples/ResourceApp/ResourceApp/Base.lproj/Main.storyboard",
"chars": 19999,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
},
{
"path": "Examples/ResourceApp/ResourceApp/Base.lproj/Secondary.storyboard",
"chars": 15782,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
},
{
"path": "Examples/ResourceApp/ResourceApp/CellCollectionView.xib",
"chars": 1422,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVe"
},
{
"path": "Examples/ResourceApp/ResourceApp/CellView.xib",
"chars": 1590,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVe"
},
{
"path": "Examples/ResourceApp/ResourceApp/CustomSegue.swift",
"chars": 204,
"preview": "//\n// CustomSegue.swift\n// ResourceApp\n//\n// Created by Tom Lokhorst on 2019-06-10.\n// Copyright © 2019 Mathijs Kadi"
},
{
"path": "Examples/ResourceApp/ResourceApp/Duplicate/ADuplicateCellView.xib",
"chars": 1460,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVe"
},
{
"path": "Examples/ResourceApp/ResourceApp/Duplicate/duplicate.storyboard",
"chars": 448,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
},
{
"path": "Examples/ResourceApp/ResourceApp/Duplicate/duplicate.xib",
"chars": 647,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVe"
},
{
"path": "Examples/ResourceApp/ResourceApp/Duplicate.storyboard",
"chars": 577,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
},
{
"path": "Examples/ResourceApp/ResourceApp/Duplicate.xib",
"chars": 647,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVe"
},
{
"path": "Examples/ResourceApp/ResourceApp/DuplicateCellView.xib",
"chars": 1460,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVe"
},
{
"path": "Examples/ResourceApp/ResourceApp/Files/#column",
"chars": 42,
"preview": "#column is a Swift keyword as of Swift 2.2"
},
{
"path": "Examples/ResourceApp/ResourceApp/Files/Duplicate.json",
"chars": 18,
"preview": "{ \"some\": \"json\" }"
},
{
"path": "Examples/ResourceApp/ResourceApp/Files/Some.json",
"chars": 18,
"preview": "{ \"some\": \"json\" }"
},
{
"path": "Examples/ResourceApp/ResourceApp/Files/__FILE__",
"chars": 39,
"preview": "__FILE__ is a reserved keyword in Swift"
},
{
"path": "Examples/ResourceApp/ResourceApp/Files/associatedtype",
"chars": 49,
"preview": "associatedtype is a Swift keyword as of Swift 2.2"
},
{
"path": "Examples/ResourceApp/ResourceApp/Files/duplicateJson",
"chars": 18,
"preview": "{ \"some\": \"json\" }"
},
{
"path": "Examples/ResourceApp/ResourceApp/FirstViewController.swift",
"chars": 649,
"preview": "//\n// FirstViewController.swift\n// ResourceApp\n//\n// Created by Mathijs Kadijk on 20-07-15.\n// Copyright (c) 2015 Ma"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images.xcassets/AppIcon.appiconset/Contents.json",
"chars": 1732,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"iphone\",\n \"size\" : \"20x20\",\n \"scale\" : \"2x\"\n },\n {\n \"idiom\""
},
{
"path": "Examples/ResourceApp/ResourceApp/Images.xcassets/Contents.json",
"chars": 62,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n }\n}"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images.xcassets/My Red.colorset/Contents.json",
"chars": 332,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n },\n \"colors\" : [\n {\n \"idiom\" : \"universal\",\n \"c"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images.xcassets/Namespace/Contents.json",
"chars": 118,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n },\n \"properties\" : {\n \"provides-namespace\" : true\n }\n}"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images.xcassets/Namespace/Second.imageset/Contents.json",
"chars": 155,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"second.pdf\"\n }\n ],\n \"info\" : {\n \"version"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images.xcassets/Namespace/first.imageset/Contents.json",
"chars": 154,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"first.pdf\"\n }\n ],\n \"info\" : {\n \"version\""
},
{
"path": "Examples/ResourceApp/ResourceApp/Images.xcassets/Second.imageset/Contents.json",
"chars": 155,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"second.pdf\"\n }\n ],\n \"info\" : {\n \"version"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images.xcassets/Some Folder/A Nested Folder/first nested.imageset/Contents.json",
"chars": 154,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"first.pdf\"\n }\n ],\n \"info\" : {\n \"version\""
},
{
"path": "Examples/ResourceApp/ResourceApp/Images.xcassets/Some Folder/A Nested Folder/second nested.imageset/Contents.json",
"chars": 155,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"second.pdf\"\n }\n ],\n \"info\" : {\n \"version"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images.xcassets/Some Folder/eerste.imageset/Contents.json",
"chars": 154,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"first.pdf\"\n }\n ],\n \"info\" : {\n \"version\""
},
{
"path": "Examples/ResourceApp/ResourceApp/Images.xcassets/Some Folder/second.imageset/Contents.json",
"chars": 155,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"second.pdf\"\n }\n ],\n \"info\" : {\n \"version"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images.xcassets/TheAppIcon.imageset/Contents.json",
"chars": 309,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"The App Icon.png\",\n \"scale\" : \"1x\"\n },\n "
},
{
"path": "Examples/ResourceApp/ResourceApp/Images.xcassets/first.imageset/Contents.json",
"chars": 154,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"first.pdf\"\n }\n ],\n \"info\" : {\n \"version\""
},
{
"path": "Examples/ResourceApp/ResourceApp/Images2.xcassets/Conflicting.imageset/Contents.json",
"chars": 154,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"first.pdf\"\n }\n ],\n \"info\" : {\n \"version\""
},
{
"path": "Examples/ResourceApp/ResourceApp/Images2.xcassets/Contents.json",
"chars": 63,
"preview": "{\n \"info\" : {\n \"author\" : \"xcode\",\n \"version\" : 1\n }\n}\n"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images2.xcassets/Namespace 1/Contents.json",
"chars": 118,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n },\n \"properties\" : {\n \"provides-namespace\" : true\n }\n}"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images2.xcassets/Namespace 1/Inner/Contents.json",
"chars": 119,
"preview": "{\n \"info\" : {\n \"author\" : \"xcode\",\n \"version\" : 1\n },\n \"properties\" : {\n \"provides-namespace\" : true\n }\n}\n"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images2.xcassets/Namespace 1/Inner/Namespace 2/Contents.json",
"chars": 118,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n },\n \"properties\" : {\n \"provides-namespace\" : true\n }\n}"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images2.xcassets/Namespace 1/Inner/Namespace 2/Folder/Contents.json",
"chars": 62,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n }\n}"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images2.xcassets/Namespace 1/Inner/Namespace 2/Folder/first.imageset/Contents.json",
"chars": 154,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"first.pdf\"\n }\n ],\n \"info\" : {\n \"version\""
},
{
"path": "Examples/ResourceApp/ResourceApp/Images2.xcassets/Namespace 1/Second.imageset/Contents.json",
"chars": 155,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"second.pdf\"\n }\n ],\n \"info\" : {\n \"version"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images2.xcassets/Namespace 1/third.imageset/Contents.json",
"chars": 154,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"first.pdf\"\n }\n ],\n \"info\" : {\n \"version\""
},
{
"path": "Examples/ResourceApp/ResourceApp/Images2.xcassets/Namespace-/Contents.json",
"chars": 118,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n },\n \"properties\" : {\n \"provides-namespace\" : true\n }\n}"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images2.xcassets/Namespace-/Inner/Contents.json",
"chars": 118,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n },\n \"properties\" : {\n \"provides-namespace\" : true\n }\n}"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images2.xcassets/Namespace-/Inner/Namespace/Contents.json",
"chars": 118,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n },\n \"properties\" : {\n \"provides-namespace\" : true\n }\n}"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images2.xcassets/Namespace-/Inner/Namespace/Folder/Contents.json",
"chars": 62,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n }\n}"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images2.xcassets/Namespace-/Inner/Namespace/Folder/first.imageset/Contents.json",
"chars": 154,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"first.pdf\"\n }\n ],\n \"info\" : {\n \"version\""
},
{
"path": "Examples/ResourceApp/ResourceApp/Images2.xcassets/Namespace-/Second.imageset/Contents.json",
"chars": 155,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"second.pdf\"\n }\n ],\n \"info\" : {\n \"version"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images2.xcassets/Namespace-/third.imageset/Contents.json",
"chars": 154,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"first.pdf\"\n }\n ],\n \"info\" : {\n \"version\""
},
{
"path": "Examples/ResourceApp/ResourceApp/Images2.xcassets/conflicting/Contents.json",
"chars": 118,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n },\n \"properties\" : {\n \"provides-namespace\" : true\n }\n}"
},
{
"path": "Examples/ResourceApp/ResourceApp/Images2.xcassets/conflicting/first.imageset/Contents.json",
"chars": 154,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"first.pdf\"\n }\n ],\n \"info\" : {\n \"version\""
},
{
"path": "Examples/ResourceApp/ResourceApp/Info.plist",
"chars": 4213,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Examples/ResourceApp/ResourceApp/Localized/Base.lproj/hello.txt",
"chars": 14,
"preview": "Hello, World!\n"
},
{
"path": "Examples/ResourceApp/ResourceApp/Localized/es.lproj/hello.txt",
"chars": 13,
"preview": "¡Hola Mundo!\n"
},
{
"path": "Examples/ResourceApp/ResourceApp/Localized/nl.lproj/hello.txt",
"chars": 15,
"preview": "Hallo, Wereld!\n"
},
{
"path": "Examples/ResourceApp/ResourceApp/Media.xcassets/Contents.json",
"chars": 62,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n }\n}"
},
{
"path": "Examples/ResourceApp/ResourceApp/Media.xcassets/Folder/Contents.json",
"chars": 118,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n },\n \"properties\" : {\n \"provides-namespace\" : true\n }\n}"
},
{
"path": "Examples/ResourceApp/ResourceApp/Media.xcassets/Folder/Not dupe.colorset/Contents.json",
"chars": 315,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n },\n \"colors\" : [\n {\n \"idiom\" : \"universal\",\n \"c"
},
{
"path": "Examples/ResourceApp/ResourceApp/Media.xcassets/Keyboard Focus Indicator color.colorset/Contents.json",
"chars": 340,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n },\n \"colors\" : [\n {\n \"idiom\" : \"universal\",\n \"c"
},
{
"path": "Examples/ResourceApp/ResourceApp/Media.xcassets/My Red.colorset/Contents.json",
"chars": 350,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n },\n \"colors\" : [\n {\n \"idiom\" : \"universal\",\n \"c"
},
{
"path": "Examples/ResourceApp/ResourceApp/Media.xcassets/Not dupe.colorset/Contents.json",
"chars": 321,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n },\n \"colors\" : [\n {\n \"idiom\" : \"universal\",\n \"c"
},
{
"path": "Examples/ResourceApp/ResourceApp/Media.xcassets/Slightly transparant.colorset/Contents.json",
"chars": 272,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n },\n \"colors\" : [\n {\n \"idiom\" : \"universal\",\n \"c"
},
{
"path": "Examples/ResourceApp/ResourceApp/My View.xib",
"chars": 2357,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVe"
},
{
"path": "Examples/ResourceApp/ResourceApp/MyViewController.swift",
"chars": 879,
"preview": "//\n// MyViewController.swift\n// ResourceApp\n//\n// Created by Mathijs Kadijk on 08-08-15.\n// Copyright © 2015 Mathijs"
},
{
"path": "Examples/ResourceApp/ResourceApp/References.storyboard",
"chars": 4558,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
},
{
"path": "Examples/ResourceApp/ResourceApp/Relative To Project/RelativeToProject.xib",
"chars": 1949,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" versi"
},
{
"path": "Examples/ResourceApp/ResourceApp/SceneDelegate.swift",
"chars": 2591,
"preview": "//\n// SceneDelegate.swift\n// ResourceApp\n//\n// Created by Tom Lokhorst on 2020-04-20.\n// Copyright © 2020 Mathijs Ka"
},
{
"path": "Examples/ResourceApp/ResourceApp/SecondViewController.swift",
"chars": 627,
"preview": "//\n// SecondViewController.swift\n// ResourceApp\n//\n// Created by Mathijs Kadijk on 20-07-15.\n// Copyright (c) 2015 M"
},
{
"path": "Examples/ResourceApp/ResourceApp/SegueIdentifiers.storyboard",
"chars": 5088,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
},
{
"path": "Examples/ResourceApp/ResourceApp/Settings.bundle/Root.plist",
"chars": 1456,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Examples/ResourceApp/ResourceApp/Specials.storyboard",
"chars": 2504,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
},
{
"path": "Examples/ResourceApp/ResourceApp/Strings/@@.strings",
"chars": 145,
"preview": "/* \n @@.strings\n ResourceApp\n\n Created by Tom Lokhorst on 2016-04-17.\n Copyright © 2016 Mathijs Kadijk. All rights r"
},
{
"path": "Examples/ResourceApp/ResourceApp/Strings/Base.lproj/Settings.strings",
"chars": 772,
"preview": "/* \n Settings.strings\n ResourceApp\n\n Created by Tom Lokhorst on 2016-04-17.\n Copyright © 2016 Mathijs Kadijk. All ri"
},
{
"path": "Examples/ResourceApp/ResourceApp/Strings/Base.lproj/Settings.stringsdict",
"chars": 2208,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.c"
},
{
"path": "Examples/ResourceApp/ResourceApp/Strings/Duplicate#.strings",
"chars": 171,
"preview": "/* \n Duplicate_.strings\n ResourceApp\n\n Created by Tom Lokhorst on 2016-04-17.\n Copyright © 2016 Mathijs Kadijk. All "
},
{
"path": "Examples/ResourceApp/ResourceApp/Strings/Duplicate.strings",
"chars": 170,
"preview": "/* \n Duplicate.strings\n ResourceApp\n\n Created by Tom Lokhorst on 2016-04-17.\n Copyright © 2016 Mathijs Kadijk. All r"
},
{
"path": "Examples/ResourceApp/ResourceApp/Strings/Generic.strings",
"chars": 469,
"preview": "/* \n Generic.strings\n ResourceApp\n\n Created by Tom Lokhorst on 2016-04-17.\n Copyright © 2016 Mathijs Kadijk. All rig"
},
{
"path": "Examples/ResourceApp/ResourceApp/Strings/Generic.stringsdict",
"chars": 9630,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.c"
},
{
"path": "Examples/ResourceApp/ResourceApp/Strings/en.lproj/Localizable.strings",
"chars": 353,
"preview": "//\n// Localizable.strings\n// ResourceApp\n//\n// Created by Nolan Warner on 2016/03/01.\n// Copyright © 2016 Nolan Warn"
},
{
"path": "Examples/ResourceApp/ResourceApp/Strings/es.lproj/Localizable.strings",
"chars": 267,
"preview": "//\n// Localizable.strings\n// ResourceApp\n//\n// Created by Nolan Warner on 2016/03/01.\n// Copyright © 2016 Nolan Warn"
},
{
"path": "Examples/ResourceApp/ResourceApp/Strings/ja.lproj/Localizable.strings",
"chars": 343,
"preview": "//\n// Localizable.strings\n// ResourceApp\n//\n// Created by Nolan Warner on 2016/03/01.\n// Copyright © 2016 Nolan Warn"
},
{
"path": "Examples/ResourceApp/ResourceApp/Strings/nl.lproj/Settings.strings",
"chars": 870,
"preview": "/* \n Settings.strings\n ResourceApp\n\n Created by Tom Lokhorst on 2016-04-17.\n Copyright © 2016 Mathijs Kadijk. All ri"
},
{
"path": "Examples/ResourceApp/ResourceApp/Strings/nl.lproj/Settings.stringsdict",
"chars": 1958,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.c"
},
{
"path": "Examples/ResourceApp/ResourceApp/SupplementaryElement.xib",
"chars": 1330,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVe"
},
{
"path": "Examples/ResourceApp/ResourceApp/TabBarItem.storyboard",
"chars": 2156,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
},
{
"path": "Examples/ResourceApp/ResourceApp/WhitespaceReuseIdentifer.xib",
"chars": 1359,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" versi"
},
{
"path": "Examples/ResourceApp/ResourceApp/Xib with ViewController.xib",
"chars": 4668,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVe"
},
{
"path": "Examples/ResourceApp/ResourceApp.xcodeproj/project.pbxproj",
"chars": 60818,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 54;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "Examples/ResourceApp/ResourceApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
"chars": 135,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"self:\">\n </FileRef"
},
{
"path": "Examples/ResourceApp/ResourceApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Examples/ResourceApp/ResourceApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved",
"chars": 585,
"preview": "{\n \"pins\" : [\n {\n \"identity\" : \"swift-argument-parser\",\n \"kind\" : \"remoteSourceControl\",\n \"location\" "
},
{
"path": "Examples/ResourceApp/ResourceApp.xcodeproj/xcshareddata/xcschemes/ResourceApp.xcscheme",
"chars": 3732,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1500\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "Examples/ResourceApp/ResourceApp.xcworkspace/contents.xcworkspacedata",
"chars": 229,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"group:ResourceApp.xc"
},
{
"path": "Examples/ResourceApp/ResourceApp.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Examples/ResourceApp/ResourceApp.xcworkspace/xcshareddata/swiftpm/Package.resolved",
"chars": 586,
"preview": "{\n \"pins\" : [\n {\n \"identity\" : \"swift-argument-parser\",\n \"kind\" : \"remoteSourceControl\",\n \"location\" "
},
{
"path": "Examples/ResourceApp/ResourceAppTests/FilesTests.swift",
"chars": 316,
"preview": "//\n// FilesTests.swift\n// ResourceApp\n//\n// Created by Mathijs Kadijk on 25-09-15.\n// Copyright © 2015 Mathijs Kadij"
},
{
"path": "Examples/ResourceApp/ResourceAppTests/FontsTests.swift",
"chars": 848,
"preview": "//\n// FontsTests.swift\n// ResourceApp\n//\n// Created by Mathijs Kadijk on 26-08-15.\n// Copyright © 2015 Mathijs Kadij"
},
{
"path": "Examples/ResourceApp/ResourceAppTests/IgnoreTests.swift",
"chars": 356,
"preview": "//\n// IgnoreTests.swift\n// ResourceAppTests\n//\n// Created by Mathijs Kadijk on 15-06-18.\n// Copyright © 2018 Mathijs"
},
{
"path": "Examples/ResourceApp/ResourceAppTests/Info.plist",
"chars": 733,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Examples/ResourceApp/ResourceAppTests/InfoPlistTests.swift",
"chars": 2604,
"preview": "//\n// InfoPlistTests.swift\n// ResourceAppTests\n//\n// Created by Tom Lokhorst on 2019-09-20.\n// Copyright © 2019 Math"
},
{
"path": "Examples/ResourceApp/ResourceAppTests/NibTests.swift",
"chars": 653,
"preview": "//\n// NibTests.swift\n// ResourceApp\n//\n// Created by Mathijs Kadijk on 27-08-15.\n// Copyright © 2015 Mathijs Kadijk."
},
{
"path": "Examples/ResourceApp/ResourceAppTests/ResourceAppTests.swift",
"chars": 5499,
"preview": "//\n// ResourceAppTests.swift\n// ResourceAppTests\n//\n// Created by Mathijs Kadijk on 20-07-15.\n// Copyright (c) 2015 "
},
{
"path": "Examples/ResourceApp/ResourceAppTests/SegueTests.swift",
"chars": 617,
"preview": "//\n// SegueTests.swift\n// ResourceApp\n//\n// Created by Tom Lokhorst on 2016-08-08.\n// Copyright © 2016 Mathijs Kadij"
},
{
"path": "Examples/ResourceApp/ResourceAppTests/StoryboardTests.swift",
"chars": 968,
"preview": "//\n// StoryboardTests.swift\n// ResourceApp\n//\n// Created by Mathijs Kadijk on 10-01-16.\n// Copyright © 2016 Mathijs "
},
{
"path": "Examples/ResourceApp/ResourceAppTests/StringsTests.swift",
"chars": 4007,
"preview": "//\n// StringsTests.swift\n// ResourceApp\n//\n// Created by Nolan Warner on 26-08-15.\n// Copyright © 2015 Nolan Warner."
},
{
"path": "Examples/ResourceApp/ResourceAppTests/ValidationTests.swift",
"chars": 1090,
"preview": "//\n// ValidationTests.swift\n// ResourceAppTests\n//\n// Created by Mathijs Kadijk on 20-07-15.\n// Copyright (c) 2015 M"
},
{
"path": "Examples/RswiftAppWithStaticFrameworks/App/Info.plist",
"chars": 2067,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Examples/RswiftAppWithStaticFrameworks/App/Resources/Assets.xcassets/AccentColor.colorset/Contents.json",
"chars": 123,
"preview": "{\n \"colors\" : [\n {\n \"idiom\" : \"universal\"\n }\n ],\n \"info\" : {\n \"author\" : \"xcode\",\n \"version\" : 1\n }"
},
{
"path": "Examples/RswiftAppWithStaticFrameworks/App/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json",
"chars": 1591,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"iphone\",\n \"scale\" : \"2x\",\n \"size\" : \"20x20\"\n },\n {\n \"idiom\""
},
{
"path": "Examples/RswiftAppWithStaticFrameworks/App/Resources/Assets.xcassets/Contents.json",
"chars": 63,
"preview": "{\n \"info\" : {\n \"author\" : \"xcode\",\n \"version\" : 1\n }\n}\n"
},
{
"path": "Examples/RswiftAppWithStaticFrameworks/App/Resources/Base.lproj/LaunchScreen.storyboard",
"chars": 1665,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
},
{
"path": "Examples/RswiftAppWithStaticFrameworks/App/Resources/Base.lproj/Main.storyboard",
"chars": 4365,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
},
{
"path": "Examples/RswiftAppWithStaticFrameworks/App/Sources/AppDelegate.swift",
"chars": 341,
"preview": "import UIKit\nimport Foo\nimport Bar\n\n@main\nfinal class AppDelegate: UIResponder, UIApplicationDelegate {\n \n func ap"
},
{
"path": "Examples/RswiftAppWithStaticFrameworks/App/Sources/SceneDelegate.swift",
"chars": 2296,
"preview": "//\n// SceneDelegate.swift\n// FooBar\n//\n// Created by Maciej Piotrowski on 04/01/2021.\n//\n\nimport UIKit\n\nclass SceneDe"
},
{
"path": "Examples/RswiftAppWithStaticFrameworks/App/Sources/ViewController.swift",
"chars": 367,
"preview": "import UIKit\nimport Foo\nimport Bar\n\nfinal class ViewController: UIViewController {\n\n @IBOutlet weak var fooImageView:"
},
{
"path": "Examples/RswiftAppWithStaticFrameworks/AppTests/AppTests.swift",
"chars": 651,
"preview": "//\n// AppTests.swift\n// AppTests\n//\n// Created by Tom Lokhorst on 2022-11-10.\n//\n\nimport XCTest\n@testable import Foo\n"
},
{
"path": "Examples/RswiftAppWithStaticFrameworks/Bar/Info.plist",
"chars": 726,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Examples/RswiftAppWithStaticFrameworks/Bar/Sources/Bar.swift",
"chars": 315,
"preview": "import UIKit\n\nlet bundle = Bundle.main.path(forResource: \"Bar\", ofType: \"bundle\").flatMap(Bundle.init(path:))!\n\npublic f"
},
{
"path": "Examples/RswiftAppWithStaticFrameworks/Foo/Info.plist",
"chars": 726,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Examples/RswiftAppWithStaticFrameworks/Foo/Sources/Foo.swift",
"chars": 310,
"preview": "import UIKit\n\nlet bundle = Bundle.main.path(forResource: \"Foo\", ofType: \"bundle\").flatMap(Bundle.init(path:))!\n\npublic f"
},
{
"path": "Examples/RswiftAppWithStaticFrameworks/RswiftAppWithStaticFrameworks.xcodeproj/project.pbxproj",
"chars": 38685,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 54;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "Examples/RswiftAppWithStaticFrameworks/RswiftAppWithStaticFrameworks.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
"chars": 135,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"self:\">\n </FileRef"
},
{
"path": "Examples/RswiftAppWithStaticFrameworks/RswiftAppWithStaticFrameworks.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
}
]
// ... and 185 more files (download for full content)
About this extraction
This page contains the full source code of the mac-cain13/R.swift GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 385 files (890.5 KB), approximately 259.9k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.