diff --git a/Examples/Podfile b/Examples/Podfile
index a332fba4..77c965e1 100644
--- a/Examples/Podfile
+++ b/Examples/Podfile
@@ -30,3 +30,21 @@ target 'ResourceApp-watchOS-Extension' do
rswiftlib
end
+
+target 'App' do
+ platform :ios, '9.0'
+ project 'RswiftAppWithStaticFrameworks/RswiftAppWithStaticFrameworks'
+ rswiftlib
+end
+
+target 'Foo' do
+ platform :ios, '9.0'
+ project 'RswiftAppWithStaticFrameworks/RswiftAppWithStaticFrameworks'
+ rswiftlib
+end
+
+target 'Bar' do
+ platform :ios, '9.0'
+ project 'RswiftAppWithStaticFrameworks/RswiftAppWithStaticFrameworks'
+ rswiftlib
+end
diff --git a/Examples/Podfile.lock b/Examples/Podfile.lock
index 61ddfd61..8551664d 100644
--- a/Examples/Podfile.lock
+++ b/Examples/Podfile.lock
@@ -23,6 +23,6 @@ SPEC CHECKSUMS:
R.swift.Library: 5ba4f1631300caf9a4d890186930da85d540769d
SWRevealViewController: 6d3fd97f70112fd7cef9de14df4260eacce4c63a
-PODFILE CHECKSUM: f469d71063f69d445c904540c317082849a4d112
+PODFILE CHECKSUM: d9a891a898cc2f561fdd4b8424cb30a1e14741d9
COCOAPODS: 1.11.2
diff --git a/Examples/RswiftAppWithStaticFrameworks/App/Info.plist b/Examples/RswiftAppWithStaticFrameworks/App/Info.plist
new file mode 100644
index 00000000..5b531f7b
--- /dev/null
+++ b/Examples/RswiftAppWithStaticFrameworks/App/Info.plist
@@ -0,0 +1,66 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ $(DEVELOPMENT_LANGUAGE)
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ $(PRODUCT_BUNDLE_PACKAGE_TYPE)
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ 1
+ LSRequiresIPhoneOS
+
+ UIApplicationSceneManifest
+
+ UIApplicationSupportsMultipleScenes
+
+ UISceneConfigurations
+
+ UIWindowSceneSessionRoleApplication
+
+
+ UISceneConfigurationName
+ Default Configuration
+ UISceneDelegateClassName
+ $(PRODUCT_MODULE_NAME).SceneDelegate
+ UISceneStoryboardFile
+ Main
+
+
+
+
+ UIApplicationSupportsIndirectInputEvents
+
+ UILaunchStoryboardName
+ LaunchScreen
+ UIMainStoryboardFile
+ Main
+ UIRequiredDeviceCapabilities
+
+ armv7
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+
+
diff --git a/Examples/RswiftAppWithStaticFrameworks/App/Resources/Assets.xcassets/AccentColor.colorset/Contents.json b/Examples/RswiftAppWithStaticFrameworks/App/Resources/Assets.xcassets/AccentColor.colorset/Contents.json
new file mode 100644
index 00000000..eb878970
--- /dev/null
+++ b/Examples/RswiftAppWithStaticFrameworks/App/Resources/Assets.xcassets/AccentColor.colorset/Contents.json
@@ -0,0 +1,11 @@
+{
+ "colors" : [
+ {
+ "idiom" : "universal"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Examples/RswiftAppWithStaticFrameworks/App/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json b/Examples/RswiftAppWithStaticFrameworks/App/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 00000000..9221b9bb
--- /dev/null
+++ b/Examples/RswiftAppWithStaticFrameworks/App/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,98 @@
+{
+ "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
+ }
+}
diff --git a/Examples/RswiftAppWithStaticFrameworks/App/Resources/Assets.xcassets/Contents.json b/Examples/RswiftAppWithStaticFrameworks/App/Resources/Assets.xcassets/Contents.json
new file mode 100644
index 00000000..73c00596
--- /dev/null
+++ b/Examples/RswiftAppWithStaticFrameworks/App/Resources/Assets.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Examples/RswiftAppWithStaticFrameworks/App/Resources/Base.lproj/LaunchScreen.storyboard b/Examples/RswiftAppWithStaticFrameworks/App/Resources/Base.lproj/LaunchScreen.storyboard
new file mode 100644
index 00000000..865e9329
--- /dev/null
+++ b/Examples/RswiftAppWithStaticFrameworks/App/Resources/Base.lproj/LaunchScreen.storyboard
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Examples/RswiftAppWithStaticFrameworks/App/Resources/Base.lproj/Main.storyboard b/Examples/RswiftAppWithStaticFrameworks/App/Resources/Base.lproj/Main.storyboard
new file mode 100644
index 00000000..f26478a6
--- /dev/null
+++ b/Examples/RswiftAppWithStaticFrameworks/App/Resources/Base.lproj/Main.storyboard
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Examples/RswiftAppWithStaticFrameworks/App/Sources/AppDelegate.swift b/Examples/RswiftAppWithStaticFrameworks/App/Sources/AppDelegate.swift
new file mode 100644
index 00000000..290d2378
--- /dev/null
+++ b/Examples/RswiftAppWithStaticFrameworks/App/Sources/AppDelegate.swift
@@ -0,0 +1,14 @@
+import UIKit
+import Foo
+import Bar
+
+@main
+final class AppDelegate: UIResponder, UIApplicationDelegate {
+
+ func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
+ FooClass().foo()
+ BarClass().bar()
+ return true
+ }
+
+}
diff --git a/Examples/RswiftAppWithStaticFrameworks/App/Sources/SceneDelegate.swift b/Examples/RswiftAppWithStaticFrameworks/App/Sources/SceneDelegate.swift
new file mode 100644
index 00000000..1cb72025
--- /dev/null
+++ b/Examples/RswiftAppWithStaticFrameworks/App/Sources/SceneDelegate.swift
@@ -0,0 +1,52 @@
+//
+// SceneDelegate.swift
+// FooBar
+//
+// Created by Maciej Piotrowski on 04/01/2021.
+//
+
+import UIKit
+
+class SceneDelegate: UIResponder, UIWindowSceneDelegate {
+
+ var window: UIWindow?
+
+
+ func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
+ // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
+ // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
+ // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
+ guard let _ = (scene as? UIWindowScene) else { return }
+ }
+
+ func sceneDidDisconnect(_ scene: UIScene) {
+ // Called as the scene is being released by the system.
+ // This occurs shortly after the scene enters the background, or when its session is discarded.
+ // Release any resources associated with this scene that can be re-created the next time the scene connects.
+ // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead).
+ }
+
+ func sceneDidBecomeActive(_ scene: UIScene) {
+ // Called when the scene has moved from an inactive state to an active state.
+ // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
+ }
+
+ func sceneWillResignActive(_ scene: UIScene) {
+ // Called when the scene will move from an active state to an inactive state.
+ // This may occur due to temporary interruptions (ex. an incoming phone call).
+ }
+
+ func sceneWillEnterForeground(_ scene: UIScene) {
+ // Called as the scene transitions from the background to the foreground.
+ // Use this method to undo the changes made on entering the background.
+ }
+
+ func sceneDidEnterBackground(_ scene: UIScene) {
+ // Called as the scene transitions from the foreground to the background.
+ // Use this method to save data, release shared resources, and store enough scene-specific state information
+ // to restore the scene back to its current state.
+ }
+
+
+}
+
diff --git a/Examples/RswiftAppWithStaticFrameworks/App/Sources/ViewController.swift b/Examples/RswiftAppWithStaticFrameworks/App/Sources/ViewController.swift
new file mode 100644
index 00000000..ba532bb9
--- /dev/null
+++ b/Examples/RswiftAppWithStaticFrameworks/App/Sources/ViewController.swift
@@ -0,0 +1,15 @@
+import UIKit
+import Foo
+import Bar
+
+final class ViewController: UIViewController {
+
+ @IBOutlet weak var fooImageView: UIImageView!
+ @IBOutlet weak var barImageView: UIImageView!
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+ fooImageView.image = FooClass().sampleImage()
+ barImageView.image = BarClass().sampleImage()
+ }
+}
diff --git a/Examples/RswiftAppWithStaticFrameworks/Bar/Info.plist b/Examples/RswiftAppWithStaticFrameworks/Bar/Info.plist
new file mode 100644
index 00000000..e1fe4cfb
--- /dev/null
+++ b/Examples/RswiftAppWithStaticFrameworks/Bar/Info.plist
@@ -0,0 +1,22 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ $(DEVELOPMENT_LANGUAGE)
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ $(CURRENT_PROJECT_VERSION)
+
+
diff --git a/Examples/RswiftAppWithStaticFrameworks/Bar/Resources/Colors@3x.jpg b/Examples/RswiftAppWithStaticFrameworks/Bar/Resources/Colors@3x.jpg
new file mode 100644
index 00000000..23c056a8
Binary files /dev/null and b/Examples/RswiftAppWithStaticFrameworks/Bar/Resources/Colors@3x.jpg differ
diff --git a/Examples/RswiftAppWithStaticFrameworks/Bar/Sources/Bar.swift b/Examples/RswiftAppWithStaticFrameworks/Bar/Sources/Bar.swift
new file mode 100644
index 00000000..8376f421
--- /dev/null
+++ b/Examples/RswiftAppWithStaticFrameworks/Bar/Sources/Bar.swift
@@ -0,0 +1,12 @@
+import UIKit
+
+public final class BarClass {
+ public init() {}
+ public func bar() {
+ print("bar")
+ }
+
+ public func sampleImage() -> UIImage {
+ R.image.colorsJpg()!
+ }
+}
diff --git a/Examples/RswiftAppWithStaticFrameworks/Foo/Info.plist b/Examples/RswiftAppWithStaticFrameworks/Foo/Info.plist
new file mode 100644
index 00000000..e1fe4cfb
--- /dev/null
+++ b/Examples/RswiftAppWithStaticFrameworks/Foo/Info.plist
@@ -0,0 +1,22 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ $(DEVELOPMENT_LANGUAGE)
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ $(CURRENT_PROJECT_VERSION)
+
+
diff --git a/Examples/RswiftAppWithStaticFrameworks/Foo/Resources/User.png b/Examples/RswiftAppWithStaticFrameworks/Foo/Resources/User.png
new file mode 100644
index 00000000..4f5cafee
Binary files /dev/null and b/Examples/RswiftAppWithStaticFrameworks/Foo/Resources/User.png differ
diff --git a/Examples/RswiftAppWithStaticFrameworks/Foo/Sources/Foo.swift b/Examples/RswiftAppWithStaticFrameworks/Foo/Sources/Foo.swift
new file mode 100644
index 00000000..ac436df6
--- /dev/null
+++ b/Examples/RswiftAppWithStaticFrameworks/Foo/Sources/Foo.swift
@@ -0,0 +1,12 @@
+import UIKit
+
+public final class FooClass {
+ public init() {}
+ public func foo() {
+ print("foo")
+ }
+
+ public func sampleImage() -> UIImage {
+ R.image.user()!
+ }
+}
diff --git a/Examples/RswiftAppWithStaticFrameworks/RswiftAppWithStaticFrameworks.xcodeproj/project.pbxproj b/Examples/RswiftAppWithStaticFrameworks/RswiftAppWithStaticFrameworks.xcodeproj/project.pbxproj
new file mode 100644
index 00000000..949d1918
--- /dev/null
+++ b/Examples/RswiftAppWithStaticFrameworks/RswiftAppWithStaticFrameworks.xcodeproj/project.pbxproj
@@ -0,0 +1,1030 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 54;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 03D06D9C60AEAE8FE634454D /* Pods_Bar.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 674E867D044E13C4EE824EDA /* Pods_Bar.framework */; };
+ 23D0DE433EC1766BB2FE59C6 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3844C19EF2D85F958F010218 /* Assets.xcassets */; };
+ 37A6C8B54F86BE2228F892B5 /* Foo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71F7B7842FB9EF2B65125CA8 /* Foo.framework */; };
+ 3961A1FF3CCC8D319B5B9851 /* Pods_Foo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 101FB5471EED7CE7F1DECEB5 /* Pods_Foo.framework */; };
+ 4680E921FB7046245B234C95 /* FooBundle.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 47FFEF3E3191F365876C33B1 /* FooBundle.bundle */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+ 50D25F3E8DE46F91123C0CC5 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C0B0FCA09D48FF877E95970 /* ViewController.swift */; };
+ 637C842A03EE4A0AED304ECF /* Pods_App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9767D4BABC42FE700C878635 /* Pods_App.framework */; };
+ A025843A2D354BB0B413A717 /* R.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = D003AB83A00F5D1B9A9F9B90 /* R.generated.swift */; };
+ A14D88A4A3403DACF2DC2ECF /* R.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7750863E11F70C8B71F811A /* R.generated.swift */; };
+ A7940548A881305B7778FC55 /* Bar.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F77580EFDC1015090A2B822 /* Bar.framework */; };
+ A9A2E8F57CA32D93229A2462 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9D52D56702E90AADBC46B4EB /* LaunchScreen.storyboard */; };
+ B237F040341B112E7909766C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6ED7964632BE36BB21735A9 /* AppDelegate.swift */; };
+ B2AF344DDA24E5AE91D9D3B1 /* User.png in Resources */ = {isa = PBXBuildFile; fileRef = A51DA98728043B2D10ECA1B3 /* User.png */; };
+ C035B4491A5A10E08C72F4D4 /* Foo.swift in Sources */ = {isa = PBXBuildFile; fileRef = C541BB310FEB70B665E8E397 /* Foo.swift */; };
+ C6170449030C8F20798DFC3F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DBD12E6769ED8625AC7210E6 /* Main.storyboard */; };
+ D80E585DBD9FA2E07EB14DA2 /* BarBundle.bundle in Resources */ = {isa = PBXBuildFile; fileRef = F1DD55F25DE874A0AA75B238 /* BarBundle.bundle */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+ DD2203C09F7FD1ECB305B8C2 /* Colors@3x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 655641603F257DD75189A0F6 /* Colors@3x.jpg */; };
+ DD544B6A13EA12A2EFF14EE3 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2241208CE1C221B1E493B1CA /* SceneDelegate.swift */; };
+ F8DB9C27FD3259718C746DBA /* Bar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DA3FBEC5BB6C4FE0CF1A43A /* Bar.swift */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 1DFDF5BED3E06260DD0983D2 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C88653A8855B27A3CA0F5055 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 8F2521905D0CF087FFD375B3;
+ remoteInfo = BarBundle;
+ };
+ 4148B3991FED2CFF64E2BFB4 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C88653A8855B27A3CA0F5055 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 0328DD4A87BE56889AA0F781;
+ remoteInfo = Bar;
+ };
+ 803498BC9B607C125AE5E616 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C88653A8855B27A3CA0F5055 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 59A219B1BF6C52119E76405D;
+ remoteInfo = Foo;
+ };
+ C9A1FDF0190D9DA54DB7D4B0 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C88653A8855B27A3CA0F5055 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 8B28E1AAD3ADDC6347204D85;
+ remoteInfo = FooBundle;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 09EBE6C782F6AFDFAAAB82E4 /* App.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = App.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 101FB5471EED7CE7F1DECEB5 /* Pods_Foo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Foo.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 2241208CE1C221B1E493B1CA /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; };
+ 2DA3FBEC5BB6C4FE0CF1A43A /* Bar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Bar.swift; sourceTree = ""; };
+ 3844C19EF2D85F958F010218 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
+ 47FFEF3E3191F365876C33B1 /* FooBundle.bundle */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = "wrapper.plug-in"; name = FooBundle.bundle; path = Foo.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
+ 655641603F257DD75189A0F6 /* Colors@3x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "Colors@3x.jpg"; sourceTree = ""; };
+ 65B047577B44066BF0F03323 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
+ 674E867D044E13C4EE824EDA /* Pods_Bar.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Bar.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 71F7B7842FB9EF2B65125CA8 /* Foo.framework */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.framework; path = Foo.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 7A97E567FE57FF2A3594148E /* Pods-App.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-App.debug.xcconfig"; path = "Target Support Files/Pods-App/Pods-App.debug.xcconfig"; sourceTree = ""; };
+ 7C0B0FCA09D48FF877E95970 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
+ 7F77580EFDC1015090A2B822 /* Bar.framework */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.framework; path = Bar.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 840352C90829575A1970A01D /* Pods-Bar.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Bar.debug.xcconfig"; path = "Target Support Files/Pods-Bar/Pods-Bar.debug.xcconfig"; sourceTree = ""; };
+ 9767D4BABC42FE700C878635 /* Pods_App.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_App.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ A51DA98728043B2D10ECA1B3 /* User.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = User.png; sourceTree = ""; };
+ A9045BF2B54CD6F046235641 /* Pods-Foo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Foo.release.xcconfig"; path = "Target Support Files/Pods-Foo/Pods-Foo.release.xcconfig"; sourceTree = ""; };
+ B25A6A55A5F88D2EC3BDAFC1 /* Pods-Bar.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Bar.release.xcconfig"; path = "Target Support Files/Pods-Bar/Pods-Bar.release.xcconfig"; sourceTree = ""; };
+ B5D7765B6F9ED6E52E0C0E9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
+ C541BB310FEB70B665E8E397 /* Foo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Foo.swift; sourceTree = ""; };
+ CCFC93145C8B40C96FC845E0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; };
+ D003AB83A00F5D1B9A9F9B90 /* R.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = R.generated.swift; sourceTree = ""; };
+ D207B45CD3D109D085B96B0B /* Pods-App.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-App.release.xcconfig"; path = "Target Support Files/Pods-App/Pods-App.release.xcconfig"; sourceTree = ""; };
+ E272249ACFD5997B05D8725B /* Pods-Foo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Foo.debug.xcconfig"; path = "Target Support Files/Pods-Foo/Pods-Foo.debug.xcconfig"; sourceTree = ""; };
+ E6ED7964632BE36BB21735A9 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
+ E7750863E11F70C8B71F811A /* R.generated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = R.generated.swift; sourceTree = ""; };
+ F1DD55F25DE874A0AA75B238 /* BarBundle.bundle */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = "wrapper.plug-in"; name = BarBundle.bundle; path = Bar.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 0A731942ACBB4ECBC9AAB971 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 03D06D9C60AEAE8FE634454D /* Pods_Bar.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 2D2E9B6337E9A1F293CFEF1A /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 3961A1FF3CCC8D319B5B9851 /* Pods_Foo.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 4579F2BF429599A2B22EF7E9 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 37A6C8B54F86BE2228F892B5 /* Foo.framework in Frameworks */,
+ A7940548A881305B7778FC55 /* Bar.framework in Frameworks */,
+ 637C842A03EE4A0AED304ECF /* Pods_App.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ A9E1015776CFBF373AD544CC /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ EDBDCA658D347C739094B5A8 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 09954D985BD90D3535BA5E29 /* Bar */ = {
+ isa = PBXGroup;
+ children = (
+ A2BED99BA03167AE6623D710 /* Resources */,
+ F0B54132DA7DE455F60E7A34 /* Sources */,
+ );
+ path = Bar;
+ sourceTree = "";
+ };
+ 0E7FA1DDE8CBA9925A94C208 /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ 7A97E567FE57FF2A3594148E /* Pods-App.debug.xcconfig */,
+ D207B45CD3D109D085B96B0B /* Pods-App.release.xcconfig */,
+ 840352C90829575A1970A01D /* Pods-Bar.debug.xcconfig */,
+ B25A6A55A5F88D2EC3BDAFC1 /* Pods-Bar.release.xcconfig */,
+ E272249ACFD5997B05D8725B /* Pods-Foo.debug.xcconfig */,
+ A9045BF2B54CD6F046235641 /* Pods-Foo.release.xcconfig */,
+ );
+ name = Pods;
+ path = ../Pods;
+ sourceTree = "";
+ };
+ 370D29654D2F7D3ED5FF8790 /* App */ = {
+ isa = PBXGroup;
+ children = (
+ CCFC93145C8B40C96FC845E0 /* Info.plist */,
+ 62CE76B9A9B4F9BD5021F441 /* Resources */,
+ 848C8ADB35C45933DBD38D2E /* Sources */,
+ );
+ path = App;
+ sourceTree = "";
+ };
+ 582737745B10EC73FF0579D7 = {
+ isa = PBXGroup;
+ children = (
+ 370D29654D2F7D3ED5FF8790 /* App */,
+ 09954D985BD90D3535BA5E29 /* Bar */,
+ C59E71F563315A14B3980DA2 /* Foo */,
+ F9DDB8B557D329344CC4A0CC /* Products */,
+ 0E7FA1DDE8CBA9925A94C208 /* Pods */,
+ DD1F0A6943FFE15626FADF47 /* Frameworks */,
+ );
+ sourceTree = "";
+ };
+ 62CE76B9A9B4F9BD5021F441 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 3844C19EF2D85F958F010218 /* Assets.xcassets */,
+ 9D52D56702E90AADBC46B4EB /* LaunchScreen.storyboard */,
+ DBD12E6769ED8625AC7210E6 /* Main.storyboard */,
+ );
+ path = Resources;
+ sourceTree = "";
+ };
+ 82705CC060AFE6E95F5ADB07 /* Sources */ = {
+ isa = PBXGroup;
+ children = (
+ C541BB310FEB70B665E8E397 /* Foo.swift */,
+ D003AB83A00F5D1B9A9F9B90 /* R.generated.swift */,
+ );
+ path = Sources;
+ sourceTree = "";
+ };
+ 848C8ADB35C45933DBD38D2E /* Sources */ = {
+ isa = PBXGroup;
+ children = (
+ E6ED7964632BE36BB21735A9 /* AppDelegate.swift */,
+ 2241208CE1C221B1E493B1CA /* SceneDelegate.swift */,
+ 7C0B0FCA09D48FF877E95970 /* ViewController.swift */,
+ );
+ path = Sources;
+ sourceTree = "";
+ };
+ A2BED99BA03167AE6623D710 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 655641603F257DD75189A0F6 /* Colors@3x.jpg */,
+ );
+ path = Resources;
+ sourceTree = "";
+ };
+ AEBCA0D51F6A1C59A1517331 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ A51DA98728043B2D10ECA1B3 /* User.png */,
+ );
+ path = Resources;
+ sourceTree = "";
+ };
+ C59E71F563315A14B3980DA2 /* Foo */ = {
+ isa = PBXGroup;
+ children = (
+ AEBCA0D51F6A1C59A1517331 /* Resources */,
+ 82705CC060AFE6E95F5ADB07 /* Sources */,
+ );
+ path = Foo;
+ sourceTree = "";
+ };
+ DD1F0A6943FFE15626FADF47 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 9767D4BABC42FE700C878635 /* Pods_App.framework */,
+ 674E867D044E13C4EE824EDA /* Pods_Bar.framework */,
+ 101FB5471EED7CE7F1DECEB5 /* Pods_Foo.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ F0B54132DA7DE455F60E7A34 /* Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 2DA3FBEC5BB6C4FE0CF1A43A /* Bar.swift */,
+ E7750863E11F70C8B71F811A /* R.generated.swift */,
+ );
+ path = Sources;
+ sourceTree = "";
+ };
+ F9DDB8B557D329344CC4A0CC /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 09EBE6C782F6AFDFAAAB82E4 /* App.app */,
+ 7F77580EFDC1015090A2B822 /* Bar.framework */,
+ F1DD55F25DE874A0AA75B238 /* BarBundle.bundle */,
+ 71F7B7842FB9EF2B65125CA8 /* Foo.framework */,
+ 47FFEF3E3191F365876C33B1 /* FooBundle.bundle */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 0328DD4A87BE56889AA0F781 /* Bar */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = A0FB50A44CF6F3E23F1D04B0 /* Build configuration list for PBXNativeTarget "Bar" */;
+ buildPhases = (
+ 4367A8857BCF8C025352CB3D /* [CP] Check Pods Manifest.lock */,
+ 0B3751134FEE9BB94D60B6B8 /* R.swift */,
+ 40C7251D6D0A826CD4FC20FF /* Sources */,
+ 2690BC128C6239F7341A0E1B /* Resources */,
+ 0A731942ACBB4ECBC9AAB971 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ DF0A2FBC262B99BDB95C08AD /* PBXTargetDependency */,
+ );
+ name = Bar;
+ productName = Bar;
+ productReference = 7F77580EFDC1015090A2B822 /* Bar.framework */;
+ productType = "com.apple.product-type.framework.static";
+ };
+ 59A219B1BF6C52119E76405D /* Foo */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = CB8E0D95C8221EB66322BB76 /* Build configuration list for PBXNativeTarget "Foo" */;
+ buildPhases = (
+ 54B342B8F45B90A50273E7C3 /* [CP] Check Pods Manifest.lock */,
+ 77448D795985C19AF55A5F1F /* R.swift */,
+ 5D824023BAD1D687E5B2AD5F /* Sources */,
+ 641BD0BED6B86B8355FD746E /* Resources */,
+ 2D2E9B6337E9A1F293CFEF1A /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 47421C68E32922D308DC7D74 /* PBXTargetDependency */,
+ );
+ name = Foo;
+ productName = Foo;
+ productReference = 71F7B7842FB9EF2B65125CA8 /* Foo.framework */;
+ productType = "com.apple.product-type.framework.static";
+ };
+ 8B28E1AAD3ADDC6347204D85 /* FooBundle */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C87CE7344FD89D4A4F49943C /* Build configuration list for PBXNativeTarget "FooBundle" */;
+ buildPhases = (
+ 93F7254F4D2B16BE33DB2BDF /* Resources */,
+ EDBDCA658D347C739094B5A8 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = FooBundle;
+ productName = FooBundle;
+ productReference = 47FFEF3E3191F365876C33B1 /* FooBundle.bundle */;
+ productType = "com.apple.product-type.bundle";
+ };
+ 8F2521905D0CF087FFD375B3 /* BarBundle */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = DE89F2BC7BD62BB58420F5EC /* Build configuration list for PBXNativeTarget "BarBundle" */;
+ buildPhases = (
+ F752C24D8952745834991833 /* Resources */,
+ A9E1015776CFBF373AD544CC /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = BarBundle;
+ productName = BarBundle;
+ productReference = F1DD55F25DE874A0AA75B238 /* BarBundle.bundle */;
+ productType = "com.apple.product-type.bundle";
+ };
+ E6815CC966750C0B4B8C0903 /* App */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = B6DEF19BFDFDD330B369BBE8 /* Build configuration list for PBXNativeTarget "App" */;
+ buildPhases = (
+ 795DD9FA56EF642DB2307F41 /* [CP] Check Pods Manifest.lock */,
+ ADE3A7C6DD9F273AC89B3ED5 /* Sources */,
+ BC9CC850DB0B3548EBDC9E7D /* Resources */,
+ 4579F2BF429599A2B22EF7E9 /* Frameworks */,
+ 7F553EDAB894541615C8EB2C /* Copy Bundles */,
+ 4213D882A02A85E88A6D8CA9 /* [CP] Embed Pods Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 04CE573ED9492DE29603C7A4 /* PBXTargetDependency */,
+ 63408DB2AC810020287B7FD0 /* PBXTargetDependency */,
+ );
+ name = App;
+ productName = App;
+ productReference = 09EBE6C782F6AFDFAAAB82E4 /* App.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ C88653A8855B27A3CA0F5055 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 1200;
+ };
+ buildConfigurationList = B0168AC1C5483CCEB3271728 /* Build configuration list for PBXProject "RswiftAppWithStaticFrameworks" */;
+ compatibilityVersion = "Xcode 10.0";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ Base,
+ en,
+ );
+ mainGroup = 582737745B10EC73FF0579D7;
+ productRefGroup = F9DDB8B557D329344CC4A0CC /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ E6815CC966750C0B4B8C0903 /* App */,
+ 0328DD4A87BE56889AA0F781 /* Bar */,
+ 8F2521905D0CF087FFD375B3 /* BarBundle */,
+ 59A219B1BF6C52119E76405D /* Foo */,
+ 8B28E1AAD3ADDC6347204D85 /* FooBundle */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 2690BC128C6239F7341A0E1B /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D80E585DBD9FA2E07EB14DA2 /* BarBundle.bundle in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 641BD0BED6B86B8355FD746E /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 4680E921FB7046245B234C95 /* FooBundle.bundle in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 93F7254F4D2B16BE33DB2BDF /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ B2AF344DDA24E5AE91D9D3B1 /* User.png in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ BC9CC850DB0B3548EBDC9E7D /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 23D0DE433EC1766BB2FE59C6 /* Assets.xcassets in Resources */,
+ A9A2E8F57CA32D93229A2462 /* LaunchScreen.storyboard in Resources */,
+ C6170449030C8F20798DFC3F /* Main.storyboard in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ F752C24D8952745834991833 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ DD2203C09F7FD1ECB305B8C2 /* Colors@3x.jpg in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ 0B3751134FEE9BB94D60B6B8 /* R.swift */ = {
+ isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ name = R.swift;
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(SRCROOT)/Bar/Sources/R.generated.swift",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"$SRCROOT/../../build/Debug/rswift\" generate \"$SRCROOT/Bar/Sources/R.generated.swift\" --hostingBundle ${PRODUCT_NAME} --target ${PRODUCT_NAME}Bundle\n";
+ };
+ 4213D882A02A85E88A6D8CA9 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-App/Pods-App-frameworks-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-App/Pods-App-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-App/Pods-App-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 4367A8857BCF8C025352CB3D /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-Bar-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 54B342B8F45B90A50273E7C3 /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-Foo-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 77448D795985C19AF55A5F1F /* R.swift */ = {
+ isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ name = R.swift;
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(SRCROOT)/Foo/Sources/R.generated.swift",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"$SRCROOT/../../build/Debug/rswift\" generate \"$SRCROOT/Foo/Sources/R.generated.swift\" --hostingBundle ${PRODUCT_NAME} --target ${PRODUCT_NAME}Bundle\n";
+ };
+ 795DD9FA56EF642DB2307F41 /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-App-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 7F553EDAB894541615C8EB2C /* Copy Bundles */ = {
+ isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ name = "Copy Bundles";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "./copy_bundles.sh\n";
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 40C7251D6D0A826CD4FC20FF /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ F8DB9C27FD3259718C746DBA /* Bar.swift in Sources */,
+ A14D88A4A3403DACF2DC2ECF /* R.generated.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 5D824023BAD1D687E5B2AD5F /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C035B4491A5A10E08C72F4D4 /* Foo.swift in Sources */,
+ A025843A2D354BB0B413A717 /* R.generated.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ ADE3A7C6DD9F273AC89B3ED5 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ B237F040341B112E7909766C /* AppDelegate.swift in Sources */,
+ DD544B6A13EA12A2EFF14EE3 /* SceneDelegate.swift in Sources */,
+ 50D25F3E8DE46F91123C0CC5 /* ViewController.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 04CE573ED9492DE29603C7A4 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 59A219B1BF6C52119E76405D /* Foo */;
+ targetProxy = 803498BC9B607C125AE5E616 /* PBXContainerItemProxy */;
+ };
+ 47421C68E32922D308DC7D74 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 8B28E1AAD3ADDC6347204D85 /* FooBundle */;
+ targetProxy = C9A1FDF0190D9DA54DB7D4B0 /* PBXContainerItemProxy */;
+ };
+ 63408DB2AC810020287B7FD0 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 0328DD4A87BE56889AA0F781 /* Bar */;
+ targetProxy = 4148B3991FED2CFF64E2BFB4 /* PBXContainerItemProxy */;
+ };
+ DF0A2FBC262B99BDB95C08AD /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 8F2521905D0CF087FFD375B3 /* BarBundle */;
+ targetProxy = 1DFDF5BED3E06260DD0983D2 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+ 9D52D56702E90AADBC46B4EB /* LaunchScreen.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 65B047577B44066BF0F03323 /* Base */,
+ );
+ name = LaunchScreen.storyboard;
+ sourceTree = "";
+ };
+ DBD12E6769ED8625AC7210E6 /* Main.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ B5D7765B6F9ED6E52E0C0E9A /* Base */,
+ );
+ name = Main.storyboard;
+ sourceTree = "";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 34AE2C662C40B3A8D071F0F2 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = E272249ACFD5997B05D8725B /* Pods-Foo.debug.xcconfig */;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "";
+ CURRENT_PROJECT_VERSION = 1;
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Foo/Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "com.rswift.$(PRODUCT_NAME:c99extidentifier)";
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Debug;
+ };
+ 42F07A51D83C6D0157DE516F /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = B25A6A55A5F88D2EC3BDAFC1 /* Pods-Bar.release.xcconfig */;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "";
+ CURRENT_PROJECT_VERSION = 1;
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Bar/Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "com.rswift.$(PRODUCT_NAME:c99extidentifier)";
+ PRODUCT_NAME = Bar;
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Release;
+ };
+ 45F5BF9169D32C7AE87F0699 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = Foo/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ MACH_O_TYPE = mh_bundle;
+ PRODUCT_BUNDLE_IDENTIFIER = "com.rswift.$(PRODUCT_NAME:c99extidentifier)";
+ PRODUCT_NAME = Foo;
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Release;
+ };
+ 66BAA81A15AA74DBDAA90FD6 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 840352C90829575A1970A01D /* Pods-Bar.debug.xcconfig */;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "";
+ CURRENT_PROJECT_VERSION = 1;
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Bar/Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "com.rswift.$(PRODUCT_NAME:c99extidentifier)";
+ PRODUCT_NAME = Bar;
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Debug;
+ };
+ 887AA668D7785BA542E846E0 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = Bar/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ MACH_O_TYPE = mh_bundle;
+ PRODUCT_BUNDLE_IDENTIFIER = "com.rswift.$(PRODUCT_NAME:c99extidentifier)";
+ PRODUCT_NAME = Bar;
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Debug;
+ };
+ 8CD98AF60F03A3684AF41FF9 /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = D207B45CD3D109D085B96B0B /* Pods-App.release.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ INFOPLIST_FILE = App/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "com.rswift.$(PRODUCT_NAME:c99extidentifier)";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Release;
+ };
+ 994E34063ABAC54789FA4C14 /* 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;
+ 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;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = iphoneos;
+ SWIFT_COMPILATION_MODE = wholemodule;
+ SWIFT_OPTIMIZATION_LEVEL = "-O";
+ SWIFT_VERSION = 5.0;
+ };
+ name = Release;
+ };
+ 9F98089B10E355F2695FAD9A /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = Bar/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ MACH_O_TYPE = mh_bundle;
+ PRODUCT_BUNDLE_IDENTIFIER = "com.rswift.$(PRODUCT_NAME:c99extidentifier)";
+ PRODUCT_NAME = Bar;
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Release;
+ };
+ B00C96695DF77912869D2A02 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = Foo/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ MACH_O_TYPE = mh_bundle;
+ PRODUCT_BUNDLE_IDENTIFIER = "com.rswift.$(PRODUCT_NAME:c99extidentifier)";
+ PRODUCT_NAME = Foo;
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Debug;
+ };
+ B78B2DA0006A2053E8E8D15E /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = A9045BF2B54CD6F046235641 /* Pods-Foo.release.xcconfig */;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "";
+ CURRENT_PROJECT_VERSION = 1;
+ DEFINES_MODULE = YES;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Foo/Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "com.rswift.$(PRODUCT_NAME:c99extidentifier)";
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Release;
+ };
+ E8315FC5728EA2DB95EEA61F /* 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;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "DEBUG=1",
+ );
+ 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;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = iphoneos;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ };
+ name = Debug;
+ };
+ FD856F4445F4086EFDE59CF8 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 7A97E567FE57FF2A3594148E /* Pods-App.debug.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ INFOPLIST_FILE = App/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "com.rswift.$(PRODUCT_NAME:c99extidentifier)";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Debug;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ A0FB50A44CF6F3E23F1D04B0 /* Build configuration list for PBXNativeTarget "Bar" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 66BAA81A15AA74DBDAA90FD6 /* Debug */,
+ 42F07A51D83C6D0157DE516F /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ B0168AC1C5483CCEB3271728 /* Build configuration list for PBXProject "RswiftAppWithStaticFrameworks" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ E8315FC5728EA2DB95EEA61F /* Debug */,
+ 994E34063ABAC54789FA4C14 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ B6DEF19BFDFDD330B369BBE8 /* Build configuration list for PBXNativeTarget "App" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ FD856F4445F4086EFDE59CF8 /* Debug */,
+ 8CD98AF60F03A3684AF41FF9 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ C87CE7344FD89D4A4F49943C /* Build configuration list for PBXNativeTarget "FooBundle" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ B00C96695DF77912869D2A02 /* Debug */,
+ 45F5BF9169D32C7AE87F0699 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ CB8E0D95C8221EB66322BB76 /* Build configuration list for PBXNativeTarget "Foo" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 34AE2C662C40B3A8D071F0F2 /* Debug */,
+ B78B2DA0006A2053E8E8D15E /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ DE89F2BC7BD62BB58420F5EC /* Build configuration list for PBXNativeTarget "BarBundle" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 887AA668D7785BA542E846E0 /* Debug */,
+ 9F98089B10E355F2695FAD9A /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = C88653A8855B27A3CA0F5055 /* Project object */;
+}
diff --git a/Examples/RswiftAppWithStaticFrameworks/RswiftAppWithStaticFrameworks.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Examples/RswiftAppWithStaticFrameworks/RswiftAppWithStaticFrameworks.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 00000000..7526341e
--- /dev/null
+++ b/Examples/RswiftAppWithStaticFrameworks/RswiftAppWithStaticFrameworks.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/Examples/RswiftAppWithStaticFrameworks/RswiftAppWithStaticFrameworks.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Examples/RswiftAppWithStaticFrameworks/RswiftAppWithStaticFrameworks.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 00000000..18d98100
--- /dev/null
+++ b/Examples/RswiftAppWithStaticFrameworks/RswiftAppWithStaticFrameworks.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/Examples/RswiftAppWithStaticFrameworks/copy_bundles.sh b/Examples/RswiftAppWithStaticFrameworks/copy_bundles.sh
new file mode 100755
index 00000000..fd77b121
--- /dev/null
+++ b/Examples/RswiftAppWithStaticFrameworks/copy_bundles.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+find "${BUILT_PRODUCTS_DIR}" -d 1 -name "*.framework" | while read framework
+ do
+ find -L "${framework}" -name "*.bundle" -d 1 | while read source
+ do
+ destination="${TARGET_BUILD_DIR}/${EXECUTABLE_FOLDER_PATH}"
+ rsync -auv "${source}" "${destination}" || exit 1
+ done
+ done
+exit 0
diff --git a/Examples/RswiftExamples.xcworkspace/contents.xcworkspacedata b/Examples/RswiftExamples.xcworkspace/contents.xcworkspacedata
index fa98579f..6fdcd242 100644
--- a/Examples/RswiftExamples.xcworkspace/contents.xcworkspacedata
+++ b/Examples/RswiftExamples.xcworkspace/contents.xcworkspacedata
@@ -13,6 +13,9 @@
+
+
diff --git a/Sources/RswiftCore/CallInformation.swift b/Sources/RswiftCore/CallInformation.swift
index f44905c8..8687fd7c 100644
--- a/Sources/RswiftCore/CallInformation.swift
+++ b/Sources/RswiftCore/CallInformation.swift
@@ -14,6 +14,7 @@ public struct CallInformation {
let outputURL: URL
let uiTestOutputURL: URL?
let rswiftIgnoreURL: URL
+ let hostingBundle: String?
let generators: [Generator]
let accessLevel: AccessLevel
@@ -36,6 +37,7 @@ public struct CallInformation {
outputURL: URL,
uiTestOutputURL: URL?,
rswiftIgnoreURL: URL,
+ hostingBundle: String?,
generators: [Generator],
accessLevel: AccessLevel,
@@ -57,6 +59,7 @@ public struct CallInformation {
self.outputURL = outputURL
self.uiTestOutputURL = uiTestOutputURL
self.rswiftIgnoreURL = rswiftIgnoreURL
+ self.hostingBundle = hostingBundle
self.accessLevel = accessLevel
self.imports = imports
diff --git a/Sources/RswiftCore/RswiftCore.swift b/Sources/RswiftCore/RswiftCore.swift
index f765ba14..6e209853 100644
--- a/Sources/RswiftCore/RswiftCore.swift
+++ b/Sources/RswiftCore/RswiftCore.swift
@@ -156,7 +156,8 @@ public struct RswiftCore {
let (externalStructWithoutProperties, internalStruct) = ValidatedStructGenerator(validationSubject: aggregatedResult)
.generatedStructs(at: callInformation.accessLevel, prefix: "")
- let externalStruct = externalStructWithoutProperties.addingInternalProperties(forBundleIdentifier: callInformation.bundleIdentifier)
+ let externalStruct = externalStructWithoutProperties
+ .addingInternalProperties(forBundleIdentifier: callInformation.bundleIdentifier, hostingBundle: callInformation.hostingBundle)
let codeConvertibles: [SwiftCodeConverible?] = [
HeaderPrinter(),
diff --git a/Sources/RswiftCore/Util/Struct+InternalProperties.swift b/Sources/RswiftCore/Util/Struct+InternalProperties.swift
index 0d9f604e..7cc9eaae 100644
--- a/Sources/RswiftCore/Util/Struct+InternalProperties.swift
+++ b/Sources/RswiftCore/Util/Struct+InternalProperties.swift
@@ -9,7 +9,13 @@
import Foundation
extension Struct {
- func addingInternalProperties(forBundleIdentifier bundleIdentifier: String) -> Struct {
+ func addingInternalProperties(forBundleIdentifier bundleIdentifier: String, hostingBundle: String? = nil) -> Struct {
+ let hostingBundleValue: String
+ if let bundleName = hostingBundle, !bundleName.isEmpty {
+ hostingBundleValue = "Bundle(for: R.Class.self).path(forResource: \"\(bundleName)\", ofType: \"bundle\").flatMap(Bundle.init(path:)) ?? Bundle(for: R.Class.self)"
+ } else {
+ hostingBundleValue = "Bundle(for: R.Class.self)"
+ }
let internalProperties = [
Let(
@@ -18,7 +24,7 @@ extension Struct {
isStatic: true,
name: "hostingBundle",
typeDefinition: .inferred(Type._Bundle),
- value: "Bundle(for: R.Class.self)"),
+ value: hostingBundleValue),
Let(
comments: [],
accessModifier: .filePrivate,
diff --git a/Sources/rswift/main.swift b/Sources/rswift/main.swift
index bbf08292..38f2077c 100644
--- a/Sources/rswift/main.swift
+++ b/Sources/rswift/main.swift
@@ -111,6 +111,7 @@ struct CommanderOptions {
static let importModules = Option("import", default: "", description: "Add extra modules as import in the generated file, comma seperated")
static let accessLevel = Option("accessLevel", default: AccessLevel.internalLevel, description: "The access level [public|internal] to use for the generated R-file")
static let rswiftIgnore = Option("rswiftignore", default: ".rswiftignore", description: "Path to pattern file that describes files that should be ignored")
+ static let hostingBundle: Option = Option("hostingBundle", default: nil, description: "Override bundle from which resources are loaded")
// Project specific - Environment variable overrides
static let xcodeproj: Option = Option("xcodeproj", default: nil, description: "Defaults to environment variable \(EnvironmentKeys.xcodeproj)")
@@ -185,6 +186,7 @@ let generate = command(
CommanderOptions.importModules,
CommanderOptions.accessLevel,
CommanderOptions.rswiftIgnore,
+ CommanderOptions.hostingBundle,
CommanderOptions.xcodeproj,
CommanderOptions.target,
@@ -206,6 +208,7 @@ let generate = command(
importModules,
accessLevel,
rswiftIgnore,
+ hostingBundle,
xcodeprojOption,
targetOption,
@@ -273,6 +276,7 @@ let generate = command(
outputURL: outputURL,
uiTestOutputURL: uiTestOutputURL,
rswiftIgnoreURL: rswiftIgnoreURL,
+ hostingBundle: hostingBundle,
generators: generators,
accessLevel: accessLevel,
@@ -303,6 +307,7 @@ let printCommand = command(
CommanderOptions.importModules,
CommanderOptions.accessLevel,
CommanderOptions.rswiftIgnore,
+ CommanderOptions.hostingBundle,
CommanderArguments.outputPath
) {
@@ -313,6 +318,7 @@ let printCommand = command(
importModules,
accessLevel,
rswiftIgnore,
+ hostingBundle,
outputPath in
@@ -349,6 +355,9 @@ let printCommand = command(
if rswiftIgnore != CommanderOptions.rswiftIgnore.default {
args.append("--\(CommanderOptions.rswiftIgnore.name) \(rswiftIgnore)")
}
+ if let hostingBundle = hostingBundle {
+ args.append("--\(CommanderOptions.hostingBundle.name) \(hostingBundle)")
+ }
// Add args for environment variables
args.append("--\(CommanderOptions.target.name) \(escapePath(targetName))")