diff --git a/Tetris.xcodeproj/project.pbxproj b/Tetris.xcodeproj/project.pbxproj new file mode 100644 index 0000000..572f683 --- /dev/null +++ b/Tetris.xcodeproj/project.pbxproj @@ -0,0 +1,1988 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + D608557923550372005BE4BC /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D608557823550372005BE4BC /* AppDelegate.swift */; }; + D608557B23550372005BE4BC /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D608557A23550372005BE4BC /* SceneDelegate.swift */; }; + D608557D23550372005BE4BC /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D608557C23550372005BE4BC /* ContentView.swift */; }; + D608557F23550373005BE4BC /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D608557E23550373005BE4BC /* Assets.xcassets */; }; + D608558223550373005BE4BC /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D608558123550373005BE4BC /* Preview Assets.xcassets */; }; + D608558523550373005BE4BC /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D608558323550373005BE4BC /* LaunchScreen.storyboard */; }; + D608558A23550373005BE4BC /* Tetris WatchKit App.app in Embed Watch Content */ = {isa = PBXBuildFile; fileRef = D608558923550373005BE4BC /* Tetris WatchKit App.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + D608559023550373005BE4BC /* Interface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D608558E23550373005BE4BC /* Interface.storyboard */; }; + D608559223550374005BE4BC /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D608559123550374005BE4BC /* Assets.xcassets */; }; + D608559923550374005BE4BC /* Tetris WatchKit Extension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = D608559823550374005BE4BC /* Tetris WatchKit Extension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + D608559E23550374005BE4BC /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D608559D23550374005BE4BC /* ContentView.swift */; }; + D60855A023550374005BE4BC /* HostingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D608559F23550374005BE4BC /* HostingController.swift */; }; + D60855A223550374005BE4BC /* ExtensionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855A123550374005BE4BC /* ExtensionDelegate.swift */; }; + D60855A423550374005BE4BC /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D60855A323550374005BE4BC /* Assets.xcassets */; }; + D60855A723550374005BE4BC /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D60855A623550374005BE4BC /* Preview Assets.xcassets */; }; + D60855BF23550442005BE4BC /* TetrisKit.h in Headers */ = {isa = PBXBuildFile; fileRef = D60855BD23550442005BE4BC /* TetrisKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D60855C223550442005BE4BC /* TetrisKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D60855BB23550442005BE4BC /* TetrisKit.framework */; }; + D60855C323550442005BE4BC /* TetrisKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D60855BB23550442005BE4BC /* TetrisKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D60855D5235504E3005BE4BC /* TetrisKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D60855CE235504E3005BE4BC /* TetrisKit.framework */; }; + D60855D6235504E3005BE4BC /* TetrisKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D60855CE235504E3005BE4BC /* TetrisKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D60855DB235504E9005BE4BC /* TetrisKit.h in Headers */ = {isa = PBXBuildFile; fileRef = D60855BD23550442005BE4BC /* TetrisKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D60855E8235505CB005BE4BC /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855E7235505CB005BE4BC /* main.swift */; }; + D60855F1235505E5005BE4BC /* GamePiece.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855EC235505E5005BE4BC /* GamePiece.swift */; }; + D60855F2235505E5005BE4BC /* GamePiece.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855EC235505E5005BE4BC /* GamePiece.swift */; }; + D60855F3235505E5005BE4BC /* GamePiece.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855EC235505E5005BE4BC /* GamePiece.swift */; }; + D60855F4235505E5005BE4BC /* Tetromino.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855ED235505E5005BE4BC /* Tetromino.swift */; }; + D60855F5235505E5005BE4BC /* Tetromino.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855ED235505E5005BE4BC /* Tetromino.swift */; }; + D60855F6235505E5005BE4BC /* Tetromino.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855ED235505E5005BE4BC /* Tetromino.swift */; }; + D60855F7235505E5005BE4BC /* GameController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855EE235505E5005BE4BC /* GameController.swift */; }; + D60855F8235505E5005BE4BC /* GameController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855EE235505E5005BE4BC /* GameController.swift */; }; + D60855F9235505E5005BE4BC /* GameController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855EE235505E5005BE4BC /* GameController.swift */; }; + D60855FA235505E5005BE4BC /* GameBoard.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855EF235505E5005BE4BC /* GameBoard.swift */; }; + D60855FB235505E5005BE4BC /* GameBoard.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855EF235505E5005BE4BC /* GameBoard.swift */; }; + D60855FC235505E5005BE4BC /* GameBoard.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855EF235505E5005BE4BC /* GameBoard.swift */; }; + D60855FD235505E5005BE4BC /* Array+Rotation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855F0235505E5005BE4BC /* Array+Rotation.swift */; }; + D60855FE235505E5005BE4BC /* Array+Rotation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855F0235505E5005BE4BC /* Array+Rotation.swift */; }; + D60855FF235505E5005BE4BC /* Array+Rotation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855F0235505E5005BE4BC /* Array+Rotation.swift */; }; + D608560923550D3A005BE4BC /* TetrisUI.h in Headers */ = {isa = PBXBuildFile; fileRef = D608560723550D3A005BE4BC /* TetrisUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D608561E23550D58005BE4BC /* TetrisUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D608561723550D58005BE4BC /* TetrisUI.framework */; }; + D608561F23550D58005BE4BC /* TetrisUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D608561723550D58005BE4BC /* TetrisUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D608562323550D81005BE4BC /* TetrisUI.h in Headers */ = {isa = PBXBuildFile; fileRef = D608560723550D3A005BE4BC /* TetrisUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D608562B23550FA0005BE4BC /* TetrisUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D608560523550D3A005BE4BC /* TetrisUI.framework */; }; + D608562C23550FA0005BE4BC /* TetrisUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D608560523550D3A005BE4BC /* TetrisUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D60856332355128F005BE4BC /* TilesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D608562F23551269005BE4BC /* TilesView.swift */; }; + D60856342355128F005BE4BC /* TilesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D608562F23551269005BE4BC /* TilesView.swift */; }; + D608563F23551520005BE4BC /* TetrisKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D60855CE235504E3005BE4BC /* TetrisKit.framework */; }; + D608564023551520005BE4BC /* TetrisKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D60855CE235504E3005BE4BC /* TetrisKit.framework */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + D608564223551527005BE4BC /* TetrisKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D60855BB23550442005BE4BC /* TetrisKit.framework */; }; + D608564323551527005BE4BC /* TetrisKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D60855BB23550442005BE4BC /* TetrisKit.framework */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + D608564623551602005BE4BC /* BoardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D608564523551602005BE4BC /* BoardView.swift */; }; + D608564723551602005BE4BC /* BoardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D608564523551602005BE4BC /* BoardView.swift */; }; + D608564923551BAC005BE4BC /* GridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D608564823551BAC005BE4BC /* GridView.swift */; }; + D608564A23551BAC005BE4BC /* GridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D608564823551BAC005BE4BC /* GridView.swift */; }; + D6D84DED23551E5E002968FB /* CurrentPieceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6D84DEB23551E37002968FB /* CurrentPieceView.swift */; }; + D6D84DEE23551E5E002968FB /* CurrentPieceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6D84DEB23551E37002968FB /* CurrentPieceView.swift */; }; + D6D84DF523567415002968FB /* Tetromino+Color.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6D84DF323567231002968FB /* Tetromino+Color.swift */; }; + D6D84DF623567415002968FB /* Tetromino+Color.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6D84DF323567231002968FB /* Tetromino+Color.swift */; }; + D6D84DF92356B903002968FB /* TetrominoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6D84DF72356B8F0002968FB /* TetrominoView.swift */; }; + D6D84DFA2356B903002968FB /* TetrominoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6D84DF72356B8F0002968FB /* TetrominoView.swift */; }; + D6DC0E9423575D7C008A0A98 /* DPadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6DC0E9323575D7C008A0A98 /* DPadView.swift */; }; + D6DC0E9923579A4D008A0A98 /* NextTetrominoesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6DC0E9823579A4D008A0A98 /* NextTetrominoesView.swift */; }; + D6DC0E9A23579A4D008A0A98 /* NextTetrominoesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6DC0E9823579A4D008A0A98 /* NextTetrominoesView.swift */; }; + D6E560332357C8AF00BF9ACF /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6E560322357C8AF00BF9ACF /* AppDelegate.swift */; }; + D6E560352357C8AF00BF9ACF /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6E560342357C8AF00BF9ACF /* ContentView.swift */; }; + D6E560372357C8B100BF9ACF /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D6E560362357C8B100BF9ACF /* Assets.xcassets */; }; + D6E5603A2357C8B100BF9ACF /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D6E560392357C8B100BF9ACF /* Preview Assets.xcassets */; }; + D6E5603D2357C8B100BF9ACF /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D6E5603B2357C8B100BF9ACF /* Main.storyboard */; }; + D6E5604F2357D5D300BF9ACF /* TetrisKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D6E560482357D5D300BF9ACF /* TetrisKit.framework */; }; + D6E560502357D5D300BF9ACF /* TetrisKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D6E560482357D5D300BF9ACF /* TetrisKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D6E560552357D5FE00BF9ACF /* TetrisKit.h in Headers */ = {isa = PBXBuildFile; fileRef = D60855BD23550442005BE4BC /* TetrisKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D6E560562357D5FE00BF9ACF /* Array+Rotation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855F0235505E5005BE4BC /* Array+Rotation.swift */; }; + D6E560572357D5FE00BF9ACF /* GameBoard.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855EF235505E5005BE4BC /* GameBoard.swift */; }; + D6E560582357D5FE00BF9ACF /* GameController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855EE235505E5005BE4BC /* GameController.swift */; }; + D6E560592357D5FE00BF9ACF /* GamePiece.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855EC235505E5005BE4BC /* GamePiece.swift */; }; + D6E5605A2357D5FE00BF9ACF /* Tetromino.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60855ED235505E5005BE4BC /* Tetromino.swift */; }; + D6E560672357D63E00BF9ACF /* TetrisUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D6E560602357D63E00BF9ACF /* TetrisUI.framework */; }; + D6E560682357D63E00BF9ACF /* TetrisUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D6E560602357D63E00BF9ACF /* TetrisUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D6E5606C2357D65700BF9ACF /* TetrisUI.h in Headers */ = {isa = PBXBuildFile; fileRef = D608560723550D3A005BE4BC /* TetrisUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D6E5606D2357D65700BF9ACF /* GridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D608564823551BAC005BE4BC /* GridView.swift */; }; + D6E5606E2357D65700BF9ACF /* TilesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D608562F23551269005BE4BC /* TilesView.swift */; }; + D6E5606F2357D65700BF9ACF /* CurrentPieceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6D84DEB23551E37002968FB /* CurrentPieceView.swift */; }; + D6E560702357D65700BF9ACF /* BoardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D608564523551602005BE4BC /* BoardView.swift */; }; + D6E560712357D65700BF9ACF /* TetrominoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6D84DF72356B8F0002968FB /* TetrominoView.swift */; }; + D6E560722357D65700BF9ACF /* NextTetrominoesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6DC0E9823579A4D008A0A98 /* NextTetrominoesView.swift */; }; + D6E560732357D65700BF9ACF /* Tetromino+Color.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6D84DF323567231002968FB /* Tetromino+Color.swift */; }; + D6E560772357DF7D00BF9ACF /* TetrisViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6E560762357DF7D00BF9ACF /* TetrisViewController.swift */; }; + D6E560792357E1EC00BF9ACF /* TetrisHostingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6E560782357E1EC00BF9ACF /* TetrisHostingView.swift */; }; + D6E5609C2358C50A00BF9ACF /* Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D6E5609B2358C50A00BF9ACF /* Media.xcassets */; }; + D6E5609D2358C50A00BF9ACF /* Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D6E5609B2358C50A00BF9ACF /* Media.xcassets */; }; + D6E5609E2358C50A00BF9ACF /* Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D6E5609B2358C50A00BF9ACF /* Media.xcassets */; }; + D6E560A02358C68C00BF9ACF /* BundleHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6E5609F2358C68C00BF9ACF /* BundleHelper.swift */; }; + D6E560A12358C68C00BF9ACF /* BundleHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6E5609F2358C68C00BF9ACF /* BundleHelper.swift */; }; + D6E560A22358C68C00BF9ACF /* BundleHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6E5609F2358C68C00BF9ACF /* BundleHelper.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + D608558B23550373005BE4BC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D608556D23550372005BE4BC /* Project object */; + proxyType = 1; + remoteGlobalIDString = D608558823550373005BE4BC; + remoteInfo = "Tetris WatchKit App"; + }; + D608559A23550374005BE4BC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D608556D23550372005BE4BC /* Project object */; + proxyType = 1; + remoteGlobalIDString = D608559723550374005BE4BC; + remoteInfo = "Tetris WatchKit Extension"; + }; + D60855C023550442005BE4BC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D608556D23550372005BE4BC /* Project object */; + proxyType = 1; + remoteGlobalIDString = D60855BA23550442005BE4BC; + remoteInfo = "TetrisKit iOS"; + }; + D60855D3235504E3005BE4BC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D608556D23550372005BE4BC /* Project object */; + proxyType = 1; + remoteGlobalIDString = D60855CD235504E3005BE4BC; + remoteInfo = "TetrisKit watchOS"; + }; + D608561C23550D58005BE4BC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D608556D23550372005BE4BC /* Project object */; + proxyType = 1; + remoteGlobalIDString = D608561623550D58005BE4BC; + remoteInfo = "TetrisUI watchOS"; + }; + D608562D23550FA0005BE4BC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D608556D23550372005BE4BC /* Project object */; + proxyType = 1; + remoteGlobalIDString = D608560423550D3A005BE4BC; + remoteInfo = "TetrisUI iOS"; + }; + D6085637235514DD005BE4BC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D608556D23550372005BE4BC /* Project object */; + proxyType = 1; + remoteGlobalIDString = D60855BA23550442005BE4BC; + remoteInfo = "TetrisKit iOS"; + }; + D608563C235514E8005BE4BC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D608556D23550372005BE4BC /* Project object */; + proxyType = 1; + remoteGlobalIDString = D60855CD235504E3005BE4BC; + remoteInfo = "TetrisKit watchOS"; + }; + D6E5604D2357D5D300BF9ACF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D608556D23550372005BE4BC /* Project object */; + proxyType = 1; + remoteGlobalIDString = D6E560472357D5D300BF9ACF; + remoteInfo = "TetrisKit Mac"; + }; + D6E560652357D63E00BF9ACF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D608556D23550372005BE4BC /* Project object */; + proxyType = 1; + remoteGlobalIDString = D6E5605F2357D63E00BF9ACF; + remoteInfo = "TetrisUI Mac"; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + D60855AE23550374005BE4BC /* Embed App Extensions */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 13; + files = ( + D608559923550374005BE4BC /* Tetris WatchKit Extension.appex in Embed App Extensions */, + ); + name = "Embed App Extensions"; + runOnlyForDeploymentPostprocessing = 0; + }; + D60855B223550374005BE4BC /* Embed Watch Content */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "$(CONTENTS_FOLDER_PATH)/Watch"; + dstSubfolderSpec = 16; + files = ( + D608558A23550373005BE4BC /* Tetris WatchKit App.app in Embed Watch Content */, + ); + name = "Embed Watch Content"; + runOnlyForDeploymentPostprocessing = 0; + }; + D60855C723550442005BE4BC /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + D60855C323550442005BE4BC /* TetrisKit.framework in Embed Frameworks */, + D608562C23550FA0005BE4BC /* TetrisUI.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + D60855DA235504E3005BE4BC /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + D60855D6235504E3005BE4BC /* TetrisKit.framework in Embed Frameworks */, + D608561F23550D58005BE4BC /* TetrisUI.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + D60855E3235505CB005BE4BC /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + D608564123551520005BE4BC /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + D608564023551520005BE4BC /* TetrisKit.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + D608564423551527005BE4BC /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + D608564323551527005BE4BC /* TetrisKit.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + D6E560542357D5D300BF9ACF /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + D6E560502357D5D300BF9ACF /* TetrisKit.framework in Embed Frameworks */, + D6E560682357D63E00BF9ACF /* TetrisUI.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + D608557523550372005BE4BC /* Tetris.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Tetris.app; sourceTree = BUILT_PRODUCTS_DIR; }; + D608557823550372005BE4BC /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + D608557A23550372005BE4BC /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + D608557C23550372005BE4BC /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + D608557E23550373005BE4BC /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + D608558123550373005BE4BC /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + D608558423550373005BE4BC /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + D608558623550373005BE4BC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D608558923550373005BE4BC /* Tetris WatchKit App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Tetris WatchKit App.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + D608558F23550373005BE4BC /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Interface.storyboard; sourceTree = ""; }; + D608559123550374005BE4BC /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + D608559323550374005BE4BC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D608559823550374005BE4BC /* Tetris WatchKit Extension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "Tetris WatchKit Extension.appex"; sourceTree = BUILT_PRODUCTS_DIR; }; + D608559D23550374005BE4BC /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + D608559F23550374005BE4BC /* HostingController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HostingController.swift; sourceTree = ""; }; + D60855A123550374005BE4BC /* ExtensionDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionDelegate.swift; sourceTree = ""; }; + D60855A323550374005BE4BC /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + D60855A623550374005BE4BC /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + D60855A823550374005BE4BC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D60855BB23550442005BE4BC /* TetrisKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TetrisKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D60855BD23550442005BE4BC /* TetrisKit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TetrisKit.h; sourceTree = ""; }; + D60855BE23550442005BE4BC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D60855CE235504E3005BE4BC /* TetrisKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TetrisKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D60855E5235505CB005BE4BC /* tetriscli */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = tetriscli; sourceTree = BUILT_PRODUCTS_DIR; }; + D60855E7235505CB005BE4BC /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; + D60855EC235505E5005BE4BC /* GamePiece.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GamePiece.swift; sourceTree = ""; }; + D60855ED235505E5005BE4BC /* Tetromino.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Tetromino.swift; sourceTree = ""; }; + D60855EE235505E5005BE4BC /* GameController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GameController.swift; sourceTree = ""; }; + D60855EF235505E5005BE4BC /* GameBoard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GameBoard.swift; sourceTree = ""; }; + D60855F0235505E5005BE4BC /* Array+Rotation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Array+Rotation.swift"; sourceTree = ""; }; + D608560523550D3A005BE4BC /* TetrisUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TetrisUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D608560723550D3A005BE4BC /* TetrisUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TetrisUI.h; sourceTree = ""; }; + D608560823550D3A005BE4BC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D608561723550D58005BE4BC /* TetrisUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TetrisUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D608562F23551269005BE4BC /* TilesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TilesView.swift; sourceTree = ""; }; + D608564523551602005BE4BC /* BoardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BoardView.swift; sourceTree = ""; }; + D608564823551BAC005BE4BC /* GridView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GridView.swift; sourceTree = ""; }; + D6D84DEB23551E37002968FB /* CurrentPieceView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrentPieceView.swift; sourceTree = ""; }; + D6D84DF323567231002968FB /* Tetromino+Color.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Tetromino+Color.swift"; sourceTree = ""; }; + D6D84DF72356B8F0002968FB /* TetrominoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TetrominoView.swift; sourceTree = ""; }; + D6DC0E9323575D7C008A0A98 /* DPadView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DPadView.swift; sourceTree = ""; }; + D6DC0E9823579A4D008A0A98 /* NextTetrominoesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NextTetrominoesView.swift; sourceTree = ""; }; + D6E560302357C8AF00BF9ACF /* Tetris Mac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Tetris Mac.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + D6E560322357C8AF00BF9ACF /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + D6E560342357C8AF00BF9ACF /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + D6E560362357C8B100BF9ACF /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + D6E560392357C8B100BF9ACF /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + D6E5603C2357C8B100BF9ACF /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + D6E5603E2357C8B100BF9ACF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D6E5603F2357C8B100BF9ACF /* Tetris_Mac.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Tetris_Mac.entitlements; sourceTree = ""; }; + D6E560482357D5D300BF9ACF /* TetrisKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TetrisKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D6E560602357D63E00BF9ACF /* TetrisUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TetrisUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D6E560762357DF7D00BF9ACF /* TetrisViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TetrisViewController.swift; sourceTree = ""; }; + D6E560782357E1EC00BF9ACF /* TetrisHostingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TetrisHostingView.swift; sourceTree = ""; }; + D6E5609B2358C50A00BF9ACF /* Media.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Media.xcassets; sourceTree = ""; }; + D6E5609F2358C68C00BF9ACF /* BundleHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BundleHelper.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + D608557223550372005BE4BC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D60855C223550442005BE4BC /* TetrisKit.framework in Frameworks */, + D608562B23550FA0005BE4BC /* TetrisUI.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D608559523550374005BE4BC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D60855D5235504E3005BE4BC /* TetrisKit.framework in Frameworks */, + D608561E23550D58005BE4BC /* TetrisUI.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D60855B823550442005BE4BC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D60855CB235504E3005BE4BC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D60855E2235505CB005BE4BC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D608560223550D3A005BE4BC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D608564223551527005BE4BC /* TetrisKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D608561423550D58005BE4BC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D608563F23551520005BE4BC /* TetrisKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D6E5602D2357C8AF00BF9ACF /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D6E5604F2357D5D300BF9ACF /* TetrisKit.framework in Frameworks */, + D6E560672357D63E00BF9ACF /* TetrisUI.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D6E560452357D5D300BF9ACF /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D6E5605D2357D63E00BF9ACF /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + D608556C23550372005BE4BC = { + isa = PBXGroup; + children = ( + D608557723550372005BE4BC /* Tetris */, + D608558D23550373005BE4BC /* Tetris WatchKit App */, + D608559C23550374005BE4BC /* Tetris WatchKit Extension */, + D6E560312357C8AF00BF9ACF /* Tetris Mac */, + D608561123550D43005BE4BC /* TetrisUI */, + D60855C82355044C005BE4BC /* TetrisKit */, + D60855E6235505CB005BE4BC /* tetriscli */, + D608557623550372005BE4BC /* Products */, + D608562A23550FA0005BE4BC /* Frameworks */, + ); + sourceTree = ""; + }; + D608557623550372005BE4BC /* Products */ = { + isa = PBXGroup; + children = ( + D608557523550372005BE4BC /* Tetris.app */, + D608558923550373005BE4BC /* Tetris WatchKit App.app */, + D608559823550374005BE4BC /* Tetris WatchKit Extension.appex */, + D60855BB23550442005BE4BC /* TetrisKit.framework */, + D60855CE235504E3005BE4BC /* TetrisKit.framework */, + D60855E5235505CB005BE4BC /* tetriscli */, + D608560523550D3A005BE4BC /* TetrisUI.framework */, + D608561723550D58005BE4BC /* TetrisUI.framework */, + D6E560302357C8AF00BF9ACF /* Tetris Mac.app */, + D6E560482357D5D300BF9ACF /* TetrisKit.framework */, + D6E560602357D63E00BF9ACF /* TetrisUI.framework */, + ); + name = Products; + sourceTree = ""; + }; + D608557723550372005BE4BC /* Tetris */ = { + isa = PBXGroup; + children = ( + D608557823550372005BE4BC /* AppDelegate.swift */, + D608557A23550372005BE4BC /* SceneDelegate.swift */, + D608557C23550372005BE4BC /* ContentView.swift */, + D6DC0E9323575D7C008A0A98 /* DPadView.swift */, + D608557E23550373005BE4BC /* Assets.xcassets */, + D608558323550373005BE4BC /* LaunchScreen.storyboard */, + D608558623550373005BE4BC /* Info.plist */, + D608558023550373005BE4BC /* Preview Content */, + ); + path = Tetris; + sourceTree = ""; + }; + D608558023550373005BE4BC /* Preview Content */ = { + isa = PBXGroup; + children = ( + D608558123550373005BE4BC /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; + D608558D23550373005BE4BC /* Tetris WatchKit App */ = { + isa = PBXGroup; + children = ( + D608558E23550373005BE4BC /* Interface.storyboard */, + D608559123550374005BE4BC /* Assets.xcassets */, + D608559323550374005BE4BC /* Info.plist */, + ); + path = "Tetris WatchKit App"; + sourceTree = ""; + }; + D608559C23550374005BE4BC /* Tetris WatchKit Extension */ = { + isa = PBXGroup; + children = ( + D608559D23550374005BE4BC /* ContentView.swift */, + D608559F23550374005BE4BC /* HostingController.swift */, + D60855A123550374005BE4BC /* ExtensionDelegate.swift */, + D60855A323550374005BE4BC /* Assets.xcassets */, + D60855A823550374005BE4BC /* Info.plist */, + D60855A523550374005BE4BC /* Preview Content */, + ); + path = "Tetris WatchKit Extension"; + sourceTree = ""; + }; + D60855A523550374005BE4BC /* Preview Content */ = { + isa = PBXGroup; + children = ( + D60855A623550374005BE4BC /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; + D60855C82355044C005BE4BC /* TetrisKit */ = { + isa = PBXGroup; + children = ( + D60855BD23550442005BE4BC /* TetrisKit.h */, + D60855BE23550442005BE4BC /* Info.plist */, + D60855F0235505E5005BE4BC /* Array+Rotation.swift */, + D60855EF235505E5005BE4BC /* GameBoard.swift */, + D60855EE235505E5005BE4BC /* GameController.swift */, + D60855EC235505E5005BE4BC /* GamePiece.swift */, + D60855ED235505E5005BE4BC /* Tetromino.swift */, + ); + path = TetrisKit; + sourceTree = ""; + }; + D60855E6235505CB005BE4BC /* tetriscli */ = { + isa = PBXGroup; + children = ( + D60855E7235505CB005BE4BC /* main.swift */, + ); + path = tetriscli; + sourceTree = ""; + }; + D608561123550D43005BE4BC /* TetrisUI */ = { + isa = PBXGroup; + children = ( + D608560723550D3A005BE4BC /* TetrisUI.h */, + D6E5609F2358C68C00BF9ACF /* BundleHelper.swift */, + D608564823551BAC005BE4BC /* GridView.swift */, + D608562F23551269005BE4BC /* TilesView.swift */, + D6D84DEB23551E37002968FB /* CurrentPieceView.swift */, + D608564523551602005BE4BC /* BoardView.swift */, + D6D84DF72356B8F0002968FB /* TetrominoView.swift */, + D6DC0E9823579A4D008A0A98 /* NextTetrominoesView.swift */, + D6D84DF323567231002968FB /* Tetromino+Color.swift */, + D6E5609B2358C50A00BF9ACF /* Media.xcassets */, + D608560823550D3A005BE4BC /* Info.plist */, + ); + path = TetrisUI; + sourceTree = ""; + }; + D608562A23550FA0005BE4BC /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; + D6E560312357C8AF00BF9ACF /* Tetris Mac */ = { + isa = PBXGroup; + children = ( + D6E560322357C8AF00BF9ACF /* AppDelegate.swift */, + D6E560762357DF7D00BF9ACF /* TetrisViewController.swift */, + D6E560782357E1EC00BF9ACF /* TetrisHostingView.swift */, + D6E560342357C8AF00BF9ACF /* ContentView.swift */, + D6E560362357C8B100BF9ACF /* Assets.xcassets */, + D6E5603B2357C8B100BF9ACF /* Main.storyboard */, + D6E5603E2357C8B100BF9ACF /* Info.plist */, + D6E5603F2357C8B100BF9ACF /* Tetris_Mac.entitlements */, + D6E560382357C8B100BF9ACF /* Preview Content */, + ); + path = "Tetris Mac"; + sourceTree = ""; + }; + D6E560382357C8B100BF9ACF /* Preview Content */ = { + isa = PBXGroup; + children = ( + D6E560392357C8B100BF9ACF /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + D60855B623550442005BE4BC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D60855BF23550442005BE4BC /* TetrisKit.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D60855C9235504E3005BE4BC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D60855DB235504E9005BE4BC /* TetrisKit.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D608560023550D3A005BE4BC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D608560923550D3A005BE4BC /* TetrisUI.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D608561223550D58005BE4BC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D608562323550D81005BE4BC /* TetrisUI.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D6E560432357D5D300BF9ACF /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D6E560552357D5FE00BF9ACF /* TetrisKit.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D6E5605B2357D63E00BF9ACF /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D6E5606C2357D65700BF9ACF /* TetrisUI.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + D608557423550372005BE4BC /* Tetris */ = { + isa = PBXNativeTarget; + buildConfigurationList = D60855B323550374005BE4BC /* Build configuration list for PBXNativeTarget "Tetris" */; + buildPhases = ( + D608557123550372005BE4BC /* Sources */, + D608557223550372005BE4BC /* Frameworks */, + D608557323550372005BE4BC /* Resources */, + D60855B223550374005BE4BC /* Embed Watch Content */, + D60855C723550442005BE4BC /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + D608558C23550373005BE4BC /* PBXTargetDependency */, + D60855C123550442005BE4BC /* PBXTargetDependency */, + D608562E23550FA0005BE4BC /* PBXTargetDependency */, + ); + name = Tetris; + productName = Tetris; + productReference = D608557523550372005BE4BC /* Tetris.app */; + productType = "com.apple.product-type.application"; + }; + D608558823550373005BE4BC /* Tetris WatchKit App */ = { + isa = PBXNativeTarget; + buildConfigurationList = D60855AF23550374005BE4BC /* Build configuration list for PBXNativeTarget "Tetris WatchKit App" */; + buildPhases = ( + D608558723550373005BE4BC /* Resources */, + D60855AE23550374005BE4BC /* Embed App Extensions */, + ); + buildRules = ( + ); + dependencies = ( + D608559B23550374005BE4BC /* PBXTargetDependency */, + ); + name = "Tetris WatchKit App"; + productName = "Tetris WatchKit App"; + productReference = D608558923550373005BE4BC /* Tetris WatchKit App.app */; + productType = "com.apple.product-type.application.watchapp2"; + }; + D608559723550374005BE4BC /* Tetris WatchKit Extension */ = { + isa = PBXNativeTarget; + buildConfigurationList = D60855AB23550374005BE4BC /* Build configuration list for PBXNativeTarget "Tetris WatchKit Extension" */; + buildPhases = ( + D608559423550374005BE4BC /* Sources */, + D608559523550374005BE4BC /* Frameworks */, + D608559623550374005BE4BC /* Resources */, + D60855DA235504E3005BE4BC /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + D60855D4235504E3005BE4BC /* PBXTargetDependency */, + D608561D23550D58005BE4BC /* PBXTargetDependency */, + ); + name = "Tetris WatchKit Extension"; + productName = "Tetris WatchKit Extension"; + productReference = D608559823550374005BE4BC /* Tetris WatchKit Extension.appex */; + productType = "com.apple.product-type.watchkit2-extension"; + }; + D60855BA23550442005BE4BC /* TetrisKit iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = D60855C423550442005BE4BC /* Build configuration list for PBXNativeTarget "TetrisKit iOS" */; + buildPhases = ( + D60855B623550442005BE4BC /* Headers */, + D60855B723550442005BE4BC /* Sources */, + D60855B823550442005BE4BC /* Frameworks */, + D60855B923550442005BE4BC /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "TetrisKit iOS"; + productName = "TetrisKit iOS"; + productReference = D60855BB23550442005BE4BC /* TetrisKit.framework */; + productType = "com.apple.product-type.framework"; + }; + D60855CD235504E3005BE4BC /* TetrisKit watchOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = D60855D7235504E3005BE4BC /* Build configuration list for PBXNativeTarget "TetrisKit watchOS" */; + buildPhases = ( + D60855C9235504E3005BE4BC /* Headers */, + D60855CA235504E3005BE4BC /* Sources */, + D60855CB235504E3005BE4BC /* Frameworks */, + D60855CC235504E3005BE4BC /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "TetrisKit watchOS"; + productName = "TetrisKit watchOS"; + productReference = D60855CE235504E3005BE4BC /* TetrisKit.framework */; + productType = "com.apple.product-type.framework"; + }; + D60855E4235505CB005BE4BC /* tetriscli */ = { + isa = PBXNativeTarget; + buildConfigurationList = D60855E9235505CB005BE4BC /* Build configuration list for PBXNativeTarget "tetriscli" */; + buildPhases = ( + D60855E1235505CB005BE4BC /* Sources */, + D60855E2235505CB005BE4BC /* Frameworks */, + D60855E3235505CB005BE4BC /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = tetriscli; + productName = tetriscli; + productReference = D60855E5235505CB005BE4BC /* tetriscli */; + productType = "com.apple.product-type.tool"; + }; + D608560423550D3A005BE4BC /* TetrisUI iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = D608560E23550D3A005BE4BC /* Build configuration list for PBXNativeTarget "TetrisUI iOS" */; + buildPhases = ( + D608560023550D3A005BE4BC /* Headers */, + D608560123550D3A005BE4BC /* Sources */, + D608560223550D3A005BE4BC /* Frameworks */, + D608560323550D3A005BE4BC /* Resources */, + D608564423551527005BE4BC /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + D6085638235514DD005BE4BC /* PBXTargetDependency */, + ); + name = "TetrisUI iOS"; + productName = "TetrisUI iOS"; + productReference = D608560523550D3A005BE4BC /* TetrisUI.framework */; + productType = "com.apple.product-type.framework"; + }; + D608561623550D58005BE4BC /* TetrisUI watchOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = D608562023550D58005BE4BC /* Build configuration list for PBXNativeTarget "TetrisUI watchOS" */; + buildPhases = ( + D608561223550D58005BE4BC /* Headers */, + D608561323550D58005BE4BC /* Sources */, + D608561423550D58005BE4BC /* Frameworks */, + D608561523550D58005BE4BC /* Resources */, + D608564123551520005BE4BC /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + D608563D235514E8005BE4BC /* PBXTargetDependency */, + ); + name = "TetrisUI watchOS"; + productName = "TetrisUI watchOS"; + productReference = D608561723550D58005BE4BC /* TetrisUI.framework */; + productType = "com.apple.product-type.framework"; + }; + D6E5602F2357C8AF00BF9ACF /* Tetris Mac */ = { + isa = PBXNativeTarget; + buildConfigurationList = D6E560422357C8B100BF9ACF /* Build configuration list for PBXNativeTarget "Tetris Mac" */; + buildPhases = ( + D6E5602C2357C8AF00BF9ACF /* Sources */, + D6E5602D2357C8AF00BF9ACF /* Frameworks */, + D6E5602E2357C8AF00BF9ACF /* Resources */, + D6E560542357D5D300BF9ACF /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + D6E5604E2357D5D300BF9ACF /* PBXTargetDependency */, + D6E560662357D63E00BF9ACF /* PBXTargetDependency */, + ); + name = "Tetris Mac"; + productName = "Tetris Mac"; + productReference = D6E560302357C8AF00BF9ACF /* Tetris Mac.app */; + productType = "com.apple.product-type.application"; + }; + D6E560472357D5D300BF9ACF /* TetrisKit Mac */ = { + isa = PBXNativeTarget; + buildConfigurationList = D6E560512357D5D300BF9ACF /* Build configuration list for PBXNativeTarget "TetrisKit Mac" */; + buildPhases = ( + D6E560432357D5D300BF9ACF /* Headers */, + D6E560442357D5D300BF9ACF /* Sources */, + D6E560452357D5D300BF9ACF /* Frameworks */, + D6E560462357D5D300BF9ACF /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "TetrisKit Mac"; + productName = "TetrisKit Mac"; + productReference = D6E560482357D5D300BF9ACF /* TetrisKit.framework */; + productType = "com.apple.product-type.framework"; + }; + D6E5605F2357D63E00BF9ACF /* TetrisUI Mac */ = { + isa = PBXNativeTarget; + buildConfigurationList = D6E560692357D63E00BF9ACF /* Build configuration list for PBXNativeTarget "TetrisUI Mac" */; + buildPhases = ( + D6E5605B2357D63E00BF9ACF /* Headers */, + D6E5605C2357D63E00BF9ACF /* Sources */, + D6E5605D2357D63E00BF9ACF /* Frameworks */, + D6E5605E2357D63E00BF9ACF /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "TetrisUI Mac"; + productName = "TetrisUI Mac"; + productReference = D6E560602357D63E00BF9ACF /* TetrisUI.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + D608556D23550372005BE4BC /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1120; + LastUpgradeCheck = 1120; + ORGANIZATIONNAME = Shadowfacts; + TargetAttributes = { + D608557423550372005BE4BC = { + CreatedOnToolsVersion = 11.2; + }; + D608558823550373005BE4BC = { + CreatedOnToolsVersion = 11.2; + }; + D608559723550374005BE4BC = { + CreatedOnToolsVersion = 11.2; + }; + D60855BA23550442005BE4BC = { + CreatedOnToolsVersion = 11.2; + LastSwiftMigration = 1120; + }; + D60855CD235504E3005BE4BC = { + CreatedOnToolsVersion = 11.2; + LastSwiftMigration = 1120; + }; + D60855E4235505CB005BE4BC = { + CreatedOnToolsVersion = 11.2; + }; + D608560423550D3A005BE4BC = { + CreatedOnToolsVersion = 11.2; + }; + D608561623550D58005BE4BC = { + CreatedOnToolsVersion = 11.2; + }; + D6E5602F2357C8AF00BF9ACF = { + CreatedOnToolsVersion = 11.2; + }; + D6E560472357D5D300BF9ACF = { + CreatedOnToolsVersion = 11.2; + }; + D6E5605F2357D63E00BF9ACF = { + CreatedOnToolsVersion = 11.2; + }; + }; + }; + buildConfigurationList = D608557023550372005BE4BC /* Build configuration list for PBXProject "Tetris" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = D608556C23550372005BE4BC; + productRefGroup = D608557623550372005BE4BC /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + D608557423550372005BE4BC /* Tetris */, + D608558823550373005BE4BC /* Tetris WatchKit App */, + D608559723550374005BE4BC /* Tetris WatchKit Extension */, + D608560423550D3A005BE4BC /* TetrisUI iOS */, + D608561623550D58005BE4BC /* TetrisUI watchOS */, + D60855BA23550442005BE4BC /* TetrisKit iOS */, + D60855CD235504E3005BE4BC /* TetrisKit watchOS */, + D60855E4235505CB005BE4BC /* tetriscli */, + D6E5602F2357C8AF00BF9ACF /* Tetris Mac */, + D6E560472357D5D300BF9ACF /* TetrisKit Mac */, + D6E5605F2357D63E00BF9ACF /* TetrisUI Mac */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + D608557323550372005BE4BC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D608558523550373005BE4BC /* LaunchScreen.storyboard in Resources */, + D608558223550373005BE4BC /* Preview Assets.xcassets in Resources */, + D608557F23550373005BE4BC /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D608558723550373005BE4BC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D608559223550374005BE4BC /* Assets.xcassets in Resources */, + D608559023550373005BE4BC /* Interface.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D608559623550374005BE4BC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D60855A723550374005BE4BC /* Preview Assets.xcassets in Resources */, + D60855A423550374005BE4BC /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D60855B923550442005BE4BC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D60855CC235504E3005BE4BC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D608560323550D3A005BE4BC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D6E5609C2358C50A00BF9ACF /* Media.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D608561523550D58005BE4BC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D6E5609D2358C50A00BF9ACF /* Media.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D6E5602E2357C8AF00BF9ACF /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D6E5603D2357C8B100BF9ACF /* Main.storyboard in Resources */, + D6E5603A2357C8B100BF9ACF /* Preview Assets.xcassets in Resources */, + D6E560372357C8B100BF9ACF /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D6E560462357D5D300BF9ACF /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D6E5605E2357D63E00BF9ACF /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D6E5609E2358C50A00BF9ACF /* Media.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + D608557123550372005BE4BC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D608557923550372005BE4BC /* AppDelegate.swift in Sources */, + D6DC0E9423575D7C008A0A98 /* DPadView.swift in Sources */, + D608557B23550372005BE4BC /* SceneDelegate.swift in Sources */, + D608557D23550372005BE4BC /* ContentView.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D608559423550374005BE4BC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D60855A023550374005BE4BC /* HostingController.swift in Sources */, + D608559E23550374005BE4BC /* ContentView.swift in Sources */, + D60855A223550374005BE4BC /* ExtensionDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D60855B723550442005BE4BC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D60855FD235505E5005BE4BC /* Array+Rotation.swift in Sources */, + D60855FA235505E5005BE4BC /* GameBoard.swift in Sources */, + D60855F1235505E5005BE4BC /* GamePiece.swift in Sources */, + D60855F7235505E5005BE4BC /* GameController.swift in Sources */, + D60855F4235505E5005BE4BC /* Tetromino.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D60855CA235504E3005BE4BC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D60855FE235505E5005BE4BC /* Array+Rotation.swift in Sources */, + D60855FB235505E5005BE4BC /* GameBoard.swift in Sources */, + D60855F2235505E5005BE4BC /* GamePiece.swift in Sources */, + D60855F8235505E5005BE4BC /* GameController.swift in Sources */, + D60855F5235505E5005BE4BC /* Tetromino.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D60855E1235505CB005BE4BC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D60855F6235505E5005BE4BC /* Tetromino.swift in Sources */, + D60855F9235505E5005BE4BC /* GameController.swift in Sources */, + D60855FC235505E5005BE4BC /* GameBoard.swift in Sources */, + D60855FF235505E5005BE4BC /* Array+Rotation.swift in Sources */, + D60855F3235505E5005BE4BC /* GamePiece.swift in Sources */, + D60855E8235505CB005BE4BC /* main.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D608560123550D3A005BE4BC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D6D84DF92356B903002968FB /* TetrominoView.swift in Sources */, + D608564623551602005BE4BC /* BoardView.swift in Sources */, + D608564923551BAC005BE4BC /* GridView.swift in Sources */, + D6DC0E9923579A4D008A0A98 /* NextTetrominoesView.swift in Sources */, + D6D84DED23551E5E002968FB /* CurrentPieceView.swift in Sources */, + D60856332355128F005BE4BC /* TilesView.swift in Sources */, + D6D84DF523567415002968FB /* Tetromino+Color.swift in Sources */, + D6E560A02358C68C00BF9ACF /* BundleHelper.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D608561323550D58005BE4BC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D6D84DFA2356B903002968FB /* TetrominoView.swift in Sources */, + D608564723551602005BE4BC /* BoardView.swift in Sources */, + D608564A23551BAC005BE4BC /* GridView.swift in Sources */, + D6DC0E9A23579A4D008A0A98 /* NextTetrominoesView.swift in Sources */, + D6D84DEE23551E5E002968FB /* CurrentPieceView.swift in Sources */, + D60856342355128F005BE4BC /* TilesView.swift in Sources */, + D6D84DF623567415002968FB /* Tetromino+Color.swift in Sources */, + D6E560A12358C68C00BF9ACF /* BundleHelper.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D6E5602C2357C8AF00BF9ACF /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D6E560792357E1EC00BF9ACF /* TetrisHostingView.swift in Sources */, + D6E560352357C8AF00BF9ACF /* ContentView.swift in Sources */, + D6E560332357C8AF00BF9ACF /* AppDelegate.swift in Sources */, + D6E560772357DF7D00BF9ACF /* TetrisViewController.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D6E560442357D5D300BF9ACF /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D6E560572357D5FE00BF9ACF /* GameBoard.swift in Sources */, + D6E560582357D5FE00BF9ACF /* GameController.swift in Sources */, + D6E560592357D5FE00BF9ACF /* GamePiece.swift in Sources */, + D6E560562357D5FE00BF9ACF /* Array+Rotation.swift in Sources */, + D6E5605A2357D5FE00BF9ACF /* Tetromino.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D6E5605C2357D63E00BF9ACF /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D6E5606E2357D65700BF9ACF /* TilesView.swift in Sources */, + D6E560722357D65700BF9ACF /* NextTetrominoesView.swift in Sources */, + D6E560732357D65700BF9ACF /* Tetromino+Color.swift in Sources */, + D6E560702357D65700BF9ACF /* BoardView.swift in Sources */, + D6E560712357D65700BF9ACF /* TetrominoView.swift in Sources */, + D6E5606F2357D65700BF9ACF /* CurrentPieceView.swift in Sources */, + D6E5606D2357D65700BF9ACF /* GridView.swift in Sources */, + D6E560A22358C68C00BF9ACF /* BundleHelper.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + D608558C23550373005BE4BC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = D608558823550373005BE4BC /* Tetris WatchKit App */; + targetProxy = D608558B23550373005BE4BC /* PBXContainerItemProxy */; + }; + D608559B23550374005BE4BC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = D608559723550374005BE4BC /* Tetris WatchKit Extension */; + targetProxy = D608559A23550374005BE4BC /* PBXContainerItemProxy */; + }; + D60855C123550442005BE4BC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = D60855BA23550442005BE4BC /* TetrisKit iOS */; + targetProxy = D60855C023550442005BE4BC /* PBXContainerItemProxy */; + }; + D60855D4235504E3005BE4BC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = D60855CD235504E3005BE4BC /* TetrisKit watchOS */; + targetProxy = D60855D3235504E3005BE4BC /* PBXContainerItemProxy */; + }; + D608561D23550D58005BE4BC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = D608561623550D58005BE4BC /* TetrisUI watchOS */; + targetProxy = D608561C23550D58005BE4BC /* PBXContainerItemProxy */; + }; + D608562E23550FA0005BE4BC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = D608560423550D3A005BE4BC /* TetrisUI iOS */; + targetProxy = D608562D23550FA0005BE4BC /* PBXContainerItemProxy */; + }; + D6085638235514DD005BE4BC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = D60855BA23550442005BE4BC /* TetrisKit iOS */; + targetProxy = D6085637235514DD005BE4BC /* PBXContainerItemProxy */; + }; + D608563D235514E8005BE4BC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = D60855CD235504E3005BE4BC /* TetrisKit watchOS */; + targetProxy = D608563C235514E8005BE4BC /* PBXContainerItemProxy */; + }; + D6E5604E2357D5D300BF9ACF /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = D6E560472357D5D300BF9ACF /* TetrisKit Mac */; + targetProxy = D6E5604D2357D5D300BF9ACF /* PBXContainerItemProxy */; + }; + D6E560662357D63E00BF9ACF /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = D6E5605F2357D63E00BF9ACF /* TetrisUI Mac */; + targetProxy = D6E560652357D63E00BF9ACF /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + D608558323550373005BE4BC /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + D608558423550373005BE4BC /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; + D608558E23550373005BE4BC /* Interface.storyboard */ = { + isa = PBXVariantGroup; + children = ( + D608558F23550373005BE4BC /* Base */, + ); + name = Interface.storyboard; + sourceTree = ""; + }; + D6E5603B2357C8B100BF9ACF /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + D6E5603C2357C8B100BF9ACF /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + D60855A923550374005BE4BC /* 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_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 = 13.2; + 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; + }; + D60855AA23550374005BE4BC /* 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_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 = 13.2; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + D60855AC23550374005BE4BC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = "\"Tetris WatchKit Extension/Preview Content\""; + DEVELOPMENT_TEAM = D9LRWNKC29; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = "Tetris WatchKit Extension/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = net.shadowfacts.Tetris.test.watchkitapp.watchkitextension; + PRODUCT_NAME = "${TARGET_NAME}"; + SDKROOT = watchos; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 4; + WATCHOS_DEPLOYMENT_TARGET = 6.1; + }; + name = Debug; + }; + D60855AD23550374005BE4BC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = "\"Tetris WatchKit Extension/Preview Content\""; + DEVELOPMENT_TEAM = D9LRWNKC29; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = "Tetris WatchKit Extension/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = net.shadowfacts.Tetris.test.watchkitapp.watchkitextension; + PRODUCT_NAME = "${TARGET_NAME}"; + SDKROOT = watchos; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 4; + WATCHOS_DEPLOYMENT_TARGET = 6.1; + }; + name = Release; + }; + D60855B023550374005BE4BC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = D9LRWNKC29; + IBSC_MODULE = Tetris_WatchKit_Extension; + INFOPLIST_FILE = "Tetris WatchKit App/Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = net.shadowfacts.Tetris.test.watchkitapp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = watchos; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 4; + WATCHOS_DEPLOYMENT_TARGET = 6.1; + }; + name = Debug; + }; + D60855B123550374005BE4BC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = D9LRWNKC29; + IBSC_MODULE = Tetris_WatchKit_Extension; + INFOPLIST_FILE = "Tetris WatchKit App/Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = net.shadowfacts.Tetris.test.watchkitapp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = watchos; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 4; + WATCHOS_DEPLOYMENT_TARGET = 6.1; + }; + name = Release; + }; + D60855B423550374005BE4BC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = "\"Tetris/Preview Content\""; + DEVELOPMENT_TEAM = D9LRWNKC29; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = Tetris/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = net.shadowfacts.Tetris; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + D60855B523550374005BE4BC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = "\"Tetris/Preview Content\""; + DEVELOPMENT_TEAM = D9LRWNKC29; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = Tetris/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = net.shadowfacts.Tetris; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + D60855C523550442005BE4BC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER = NO; + DEVELOPMENT_TEAM = D9LRWNKC29; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = TetrisKit/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "net.shadowfacts.TetrisKit-iOS"; + PRODUCT_NAME = TetrisKit; + SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = NO; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + D60855C623550442005BE4BC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER = NO; + DEVELOPMENT_TEAM = D9LRWNKC29; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = TetrisKit/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "net.shadowfacts.TetrisKit-iOS"; + PRODUCT_NAME = TetrisKit; + SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + D60855D8235504E3005BE4BC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = D9LRWNKC29; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = TetrisKit/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "net.shadowfacts.TetrisKit-watchOS"; + PRODUCT_NAME = TetrisKit; + SDKROOT = watchos; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 4; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + WATCHOS_DEPLOYMENT_TARGET = 6.1; + }; + name = Debug; + }; + D60855D9235504E3005BE4BC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = D9LRWNKC29; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = TetrisKit/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "net.shadowfacts.TetrisKit-watchOS"; + PRODUCT_NAME = TetrisKit; + SDKROOT = watchos; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 4; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + WATCHOS_DEPLOYMENT_TARGET = 6.1; + }; + name = Release; + }; + D60855EA235505CB005BE4BC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = HGYVAQA9FW; + ENABLE_HARDENED_RUNTIME = YES; + MACOSX_DEPLOYMENT_TARGET = 10.15; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + D60855EB235505CB005BE4BC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = HGYVAQA9FW; + ENABLE_HARDENED_RUNTIME = YES; + MACOSX_DEPLOYMENT_TARGET = 10.15; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + D608560F23550D3A005BE4BC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = D9LRWNKC29; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = TetrisUI/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "net.shadowfacts.TetrisUI-iOS"; + PRODUCT_NAME = TetrisUI; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + D608561023550D3A005BE4BC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = D9LRWNKC29; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = TetrisUI/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "net.shadowfacts.TetrisUI-iOS"; + PRODUCT_NAME = TetrisUI; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + D608562123550D58005BE4BC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = D9LRWNKC29; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = TetrisUI/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "net.shadowfacts.TetrisUI-watchOS"; + PRODUCT_NAME = TetrisUI; + SDKROOT = watchos; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 4; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + WATCHOS_DEPLOYMENT_TARGET = 6.1; + }; + name = Debug; + }; + D608562223550D58005BE4BC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = D9LRWNKC29; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = TetrisUI/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "net.shadowfacts.TetrisUI-watchOS"; + PRODUCT_NAME = TetrisUI; + SDKROOT = watchos; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 4; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + WATCHOS_DEPLOYMENT_TARGET = 6.1; + }; + name = Release; + }; + D6E560402357C8B100BF9ACF /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = "Tetris Mac/Tetris_Mac.entitlements"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_ASSET_PATHS = "\"Tetris Mac/Preview Content\""; + DEVELOPMENT_TEAM = HGYVAQA9FW; + ENABLE_HARDENED_RUNTIME = YES; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = "Tetris Mac/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.15; + PRODUCT_BUNDLE_IDENTIFIER = "net.shadowfacts.Tetris-Mac"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + D6E560412357C8B100BF9ACF /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = "Tetris Mac/Tetris_Mac.entitlements"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_ASSET_PATHS = "\"Tetris Mac/Preview Content\""; + DEVELOPMENT_TEAM = HGYVAQA9FW; + ENABLE_HARDENED_RUNTIME = YES; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = "Tetris Mac/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.15; + PRODUCT_BUNDLE_IDENTIFIER = "net.shadowfacts.Tetris-Mac"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + D6E560522357D5D300BF9ACF /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = HGYVAQA9FW; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = TetrisKit/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.15; + PRODUCT_BUNDLE_IDENTIFIER = "net.shadowfacts.TetrisKit-Mac"; + PRODUCT_NAME = TetrisKit; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + D6E560532357D5D300BF9ACF /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = HGYVAQA9FW; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = TetrisKit/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.15; + PRODUCT_BUNDLE_IDENTIFIER = "net.shadowfacts.TetrisKit-Mac"; + PRODUCT_NAME = TetrisKit; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + D6E5606A2357D63E00BF9ACF /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = HGYVAQA9FW; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = TetrisUI/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.15; + PRODUCT_BUNDLE_IDENTIFIER = "net.shadowfacts.TetrisUI-Mac"; + PRODUCT_NAME = TetrisUI; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + D6E5606B2357D63E00BF9ACF /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = HGYVAQA9FW; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = TetrisUI/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.15; + PRODUCT_BUNDLE_IDENTIFIER = "net.shadowfacts.TetrisUI-Mac"; + PRODUCT_NAME = TetrisUI; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + D608557023550372005BE4BC /* Build configuration list for PBXProject "Tetris" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D60855A923550374005BE4BC /* Debug */, + D60855AA23550374005BE4BC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D60855AB23550374005BE4BC /* Build configuration list for PBXNativeTarget "Tetris WatchKit Extension" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D60855AC23550374005BE4BC /* Debug */, + D60855AD23550374005BE4BC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D60855AF23550374005BE4BC /* Build configuration list for PBXNativeTarget "Tetris WatchKit App" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D60855B023550374005BE4BC /* Debug */, + D60855B123550374005BE4BC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D60855B323550374005BE4BC /* Build configuration list for PBXNativeTarget "Tetris" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D60855B423550374005BE4BC /* Debug */, + D60855B523550374005BE4BC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D60855C423550442005BE4BC /* Build configuration list for PBXNativeTarget "TetrisKit iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D60855C523550442005BE4BC /* Debug */, + D60855C623550442005BE4BC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D60855D7235504E3005BE4BC /* Build configuration list for PBXNativeTarget "TetrisKit watchOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D60855D8235504E3005BE4BC /* Debug */, + D60855D9235504E3005BE4BC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D60855E9235505CB005BE4BC /* Build configuration list for PBXNativeTarget "tetriscli" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D60855EA235505CB005BE4BC /* Debug */, + D60855EB235505CB005BE4BC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D608560E23550D3A005BE4BC /* Build configuration list for PBXNativeTarget "TetrisUI iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D608560F23550D3A005BE4BC /* Debug */, + D608561023550D3A005BE4BC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D608562023550D58005BE4BC /* Build configuration list for PBXNativeTarget "TetrisUI watchOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D608562123550D58005BE4BC /* Debug */, + D608562223550D58005BE4BC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D6E560422357C8B100BF9ACF /* Build configuration list for PBXNativeTarget "Tetris Mac" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D6E560402357C8B100BF9ACF /* Debug */, + D6E560412357C8B100BF9ACF /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D6E560512357D5D300BF9ACF /* Build configuration list for PBXNativeTarget "TetrisKit Mac" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D6E560522357D5D300BF9ACF /* Debug */, + D6E560532357D5D300BF9ACF /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D6E560692357D63E00BF9ACF /* Build configuration list for PBXNativeTarget "TetrisUI Mac" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D6E5606A2357D63E00BF9ACF /* Debug */, + D6E5606B2357D63E00BF9ACF /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = D608556D23550372005BE4BC /* Project object */; +} diff --git a/Tetris.xcodeproj/xcshareddata/xcschemes/Tetris Mac.xcscheme b/Tetris.xcodeproj/xcshareddata/xcschemes/Tetris Mac.xcscheme new file mode 100644 index 0000000..467d061 --- /dev/null +++ b/Tetris.xcodeproj/xcshareddata/xcschemes/Tetris Mac.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tetris.xcodeproj/xcshareddata/xcschemes/Tetris WatchKit App.xcscheme b/Tetris.xcodeproj/xcshareddata/xcschemes/Tetris WatchKit App.xcscheme new file mode 100644 index 0000000..230dd8b --- /dev/null +++ b/Tetris.xcodeproj/xcshareddata/xcschemes/Tetris WatchKit App.xcscheme @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tetris.xcodeproj/xcshareddata/xcschemes/Tetris.xcscheme b/Tetris.xcodeproj/xcshareddata/xcschemes/Tetris.xcscheme new file mode 100644 index 0000000..2e8bfbe --- /dev/null +++ b/Tetris.xcodeproj/xcshareddata/xcschemes/Tetris.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tetris.xcodeproj/xcshareddata/xcschemes/TetrisKit Mac.xcscheme b/Tetris.xcodeproj/xcshareddata/xcschemes/TetrisKit Mac.xcscheme new file mode 100644 index 0000000..370ef01 --- /dev/null +++ b/Tetris.xcodeproj/xcshareddata/xcschemes/TetrisKit Mac.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tetris.xcodeproj/xcshareddata/xcschemes/TetrisUI Mac.xcscheme b/Tetris.xcodeproj/xcshareddata/xcschemes/TetrisUI Mac.xcscheme new file mode 100644 index 0000000..a4a8f89 --- /dev/null +++ b/Tetris.xcodeproj/xcshareddata/xcschemes/TetrisUI Mac.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tetris.xcodeproj/xcshareddata/xcschemes/TetrisUI iOS.xcscheme b/Tetris.xcodeproj/xcshareddata/xcschemes/TetrisUI iOS.xcscheme new file mode 100644 index 0000000..6670f50 --- /dev/null +++ b/Tetris.xcodeproj/xcshareddata/xcschemes/TetrisUI iOS.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tetris.xcodeproj/xcshareddata/xcschemes/TetrisUI watchOS.xcscheme b/Tetris.xcodeproj/xcshareddata/xcschemes/TetrisUI watchOS.xcscheme new file mode 100644 index 0000000..31edaf3 --- /dev/null +++ b/Tetris.xcodeproj/xcshareddata/xcschemes/TetrisUI watchOS.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tetris.xcodeproj/xcshareddata/xcschemes/tetriscli.xcscheme b/Tetris.xcodeproj/xcshareddata/xcschemes/tetriscli.xcscheme new file mode 100644 index 0000000..dcbb131 --- /dev/null +++ b/Tetris.xcodeproj/xcshareddata/xcschemes/tetriscli.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +