diff --git a/.gitignore b/.gitignore index 1df3e44a..274435f7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ Dist.xcconfig -Vaccor.xcconfig +Tusker.xcconfig .DS_Store MyPlayground.playground/ diff --git a/README.md b/README.md index fad1b1c1..30811891 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,12 @@ Tusker is a WIP iOS app for Mastodon and Pleroma. ## Installing for Development -Xcode 11 is required, macOS Mojave or later should work (only macOS Catalina is regularly tested). +Requirements: +- Xcode 14 1. Clone the project: `git clone https://git.shadowfacts.net/shadowfacts/Tusker.git` 2. Change directory into the project: `cd Tusker` -3. Clone the submodules: `git submodule init && git submodule update` -4. Open `Tusker.xcworkspace` in Xcode. -5. Change the code signing identity to your own. -6. Change the bundle identifier to something unique. -7. Select a target in the Tusker scheme and build & run. +3. Copy the sample xcconfig: `cp Tusker.xcconfig.example Tusker.xcconfig` +4. Edit `Tusker.xcconfig` and change the development team ID and the bundle ID prefix to your own. +5. Open `Tusker.xcodeproj` in Xcode +6. Select a target in the Tusker scheme and build & run. diff --git a/Tusker.xcconfig.example b/Tusker.xcconfig.example new file mode 100644 index 00000000..6c76aad3 --- /dev/null +++ b/Tusker.xcconfig.example @@ -0,0 +1,2 @@ +DEVELOPMENT_TEAM = YOUR_TEAM_ID +BUNDLE_ID_PREFIX = com.example diff --git a/Tusker.xcodeproj/project.pbxproj b/Tusker.xcodeproj/project.pbxproj index b4e21fb4..10e62933 100644 --- a/Tusker.xcodeproj/project.pbxproj +++ b/Tusker.xcodeproj/project.pbxproj @@ -700,7 +700,7 @@ D6D4DDF1212518A200E1C4BB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; D6D7069F29466649000827ED /* ScrollingSegmentedControl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrollingSegmentedControl.swift; sourceTree = ""; }; D6D706A62948D4D0000827ED /* TimlineState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimlineState.swift; sourceTree = ""; }; - D6D706A829498C82000827ED /* Vaccor.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Vaccor.xcconfig; sourceTree = ""; }; + D6D706A829498C82000827ED /* Tusker.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Tusker.xcconfig; sourceTree = ""; }; D6DD2A3E273C1F4900386A6C /* ComposeAttachmentImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ComposeAttachmentImage.swift; sourceTree = ""; }; D6DD2A44273D6C5700386A6C /* GIFImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GIFImageView.swift; sourceTree = ""; }; D6DD353C22F28CD000A9563A /* ContentWarningCopyMode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentWarningCopyMode.swift; sourceTree = ""; }; @@ -1437,7 +1437,7 @@ isa = PBXGroup; children = ( D63CC703290EC472000E19DE /* Dist.xcconfig */, - D6D706A829498C82000827ED /* Vaccor.xcconfig */, + D6D706A829498C82000827ED /* Tusker.xcconfig */, D674A50727F910F300BA03AC /* Pachyderm */, D6BEA243291A0C83002F4D01 /* Duckable */, D6D4DDCE212518A000E1C4BB /* Tusker */, @@ -2318,7 +2318,7 @@ ); MARKETING_VERSION = 2022.1; OTHER_CODE_SIGN_FLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = space.vaccor.Tusker; + PRODUCT_BUNDLE_IDENTIFIER = "$(BUNDLE_ID_PREFIX).Tusker"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SUPPORTS_MACCATALYST = YES; @@ -2377,7 +2377,6 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 52; - DEVELOPMENT_TEAM = V4WK9KR9U2; INFOPLIST_FILE = OpenInTusker/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.1; "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.3; @@ -2387,7 +2386,7 @@ "@executable_path/../../Frameworks", ); MARKETING_VERSION = 2022.1; - PRODUCT_BUNDLE_IDENTIFIER = space.vaccor.Tusker.OpenInTusker; + PRODUCT_BUNDLE_IDENTIFIER = "$(BUNDLE_ID_PREFIX).Tusker.OpenInTusker"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SUPPORTS_MACCATALYST = YES; @@ -2398,7 +2397,7 @@ }; D6D4DDF2212518A200E1C4BB /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D6D706A829498C82000827ED /* Vaccor.xcconfig */; + baseConfigurationReference = D6D706A829498C82000827ED /* Tusker.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; @@ -2463,7 +2462,7 @@ }; D6D4DDF3212518A200E1C4BB /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D6D706A829498C82000827ED /* Vaccor.xcconfig */; + baseConfigurationReference = D6D706A829498C82000827ED /* Tusker.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; @@ -2538,7 +2537,7 @@ MARKETING_VERSION = 2022.1; OTHER_CODE_SIGN_FLAGS = ""; OTHER_LDFLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = space.vaccor.Tusker; + PRODUCT_BUNDLE_IDENTIFIER = "$(BUNDLE_ID_PREFIX).Tusker"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SUPPORTS_MACCATALYST = YES; @@ -2565,7 +2564,7 @@ ); MARKETING_VERSION = 2022.1; OTHER_CODE_SIGN_FLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = space.vaccor.Tusker; + PRODUCT_BUNDLE_IDENTIFIER = "$(BUNDLE_ID_PREFIX).Tusker"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SUPPORTS_MACCATALYST = YES; @@ -2666,7 +2665,6 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 52; - DEVELOPMENT_TEAM = V4WK9KR9U2; INFOPLIST_FILE = OpenInTusker/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.1; "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.3; @@ -2676,7 +2674,7 @@ "@executable_path/../../Frameworks", ); MARKETING_VERSION = 2022.1; - PRODUCT_BUNDLE_IDENTIFIER = space.vaccor.Tusker.OpenInTusker; + PRODUCT_BUNDLE_IDENTIFIER = "$(BUNDLE_ID_PREFIX).Tusker.OpenInTusker"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SUPPORTS_MACCATALYST = YES; @@ -2693,7 +2691,6 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 52; - DEVELOPMENT_TEAM = V4WK9KR9U2; INFOPLIST_FILE = OpenInTusker/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.1; "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.3; @@ -2703,7 +2700,7 @@ "@executable_path/../../Frameworks", ); MARKETING_VERSION = 2022.1; - PRODUCT_BUNDLE_IDENTIFIER = space.vaccor.Tusker.OpenInTusker; + PRODUCT_BUNDLE_IDENTIFIER = "$(BUNDLE_ID_PREFIX).Tusker.OpenInTusker"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SUPPORTS_MACCATALYST = YES;