Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 0 additions & 9 deletions Packages/ConfCore/Package.resolved

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ A number of third-party libraries are used by the app:

**Building requires Xcode 16 or later.**

**Clone this branch and before opening the project, run `./bootstrap.sh`** to setup the environment. The script will ask for your Apple Developer team ID in order to configure the project. There's no need to change any code signing settings in Xcode. The bootstrap script will also install `swiftlint` for you using `brew` if you don’t have it yet.
**Clone this branch and before opening the project, run `scripts/bootstrap.sh`** to setup the environment. The script will ask for your Apple Developer team ID in order to configure the project. There's no need to change any code signing settings in Xcode. The bootstrap script will also install `swiftlint` for you using `brew` if you don’t have it yet.

Since the app uses CloudKit, when you build it yourself, all CloudKit-related functionality will be disabled.

Expand All @@ -89,6 +89,6 @@ Since the app uses CloudKit, when you build it yourself, all CloudKit-related fu

### Clearing app data during development

If you need to clear the app’s preferences and stored data during development, you can run `./cleardata.sh` or `./cleardebugdata.sh` (if using -WWDCUseDebugStorage YES) in the project folder. **This will delete all of your preferences and data like favorites, bookmarks and progress in videos, so be careful**.
If you need to clear the app’s preferences and stored data during development, you can run `scripts/cleardata.sh` or `scripts/cleardebugdata.sh` (if using -WWDCUseDebugStorage YES) in the project folder. **This will delete all of your preferences and data like favorites, bookmarks and progress in videos, so be careful**.

<a href="https://macstadium.com" title="The unofficial WWDC app is using MacStadium"><img src="./img/MacStadiumOSS.png" alt="Powered by MacStadium"></a>
<a href="https://macstadium.com" title="The unofficial WWDC app is using MacStadium"><img src="./img/MacStadiumOSS.png" alt="Powered by MacStadium"></a>
4 changes: 0 additions & 4 deletions WWDC.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -822,7 +822,6 @@
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 72X6ZPCY5L;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had previously set these to $(inherited) because Xcode kept trying to copy the value from the config into this file whenever you change a build setting through the UI. At least I’m pretty sure that got merged in.

Did Xcode overwrite $(inherited) or was there a conflict resolution where you took your side?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmmm, it looks like this was actually my fault! Gonna check on that more today.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had previously set these to $(inherited) because Xcode kept trying to copy the value from the config into this file whenever you change a build setting through the UI. At least I’m pretty sure that got merged in.

Did Xcode overwrite $(inherited) or was there a conflict resolution where you took your side?

Yeah, I tried using $(inherited), but once I opened the signing tab, and switched to the repo, actual id was overwritten

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😞 That's very frustrating! I’ve had this problems with other settings in xcconfig files before, too. I should probably take that time to create a sample project and open a Feedback.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😞 That's very frustrating! I’ve had this problems with other settings in xcconfig files before, too. I should probably take that time to create a sample project and open a Feedback.

I think it's been like this for a long time, almost every project I cloned has last team id embedded😅

ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
Expand Down Expand Up @@ -884,7 +883,6 @@
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 72X6ZPCY5L;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
Expand Down Expand Up @@ -997,7 +995,6 @@
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 72X6ZPCY5L;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
Expand Down Expand Up @@ -1090,7 +1087,6 @@
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 72X6ZPCY5L;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
Expand Down
8 changes: 6 additions & 2 deletions bootstrap.sh → scripts/bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@ fi

echo ""

./teamid.sh
SCRIPT_DIR=$(dirname "${BASH_SOURCE[0]}")

$SCRIPT_DIR/teamid.sh

$SCRIPT_DIR/setup_git_hooks.sh

lessThanOrEqual() {
[ "$1" = "`echo -e "$1\n$2" | sort -V | head -n1`" ]
Expand Down Expand Up @@ -49,4 +53,4 @@ if ! $SWIFTLINT_INSTALLED || ! $SWIFTLINT_UPDATED; then
fi
fi

echo "All done"
echo "All done"
File renamed without changes.
5 changes: 3 additions & 2 deletions cleardebugdata.sh → scripts/cleardebugdata.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
echo ""

# Check if TeamID.xcconfig exists and extract team ID
TEAM_ID_CONFIG="WWDC/TeamID.xcconfig"
TEAM_ID_CONFIG=$(dirname "${BASH_SOURCE[0]}")/../WWDC/Config/TeamID.xcconfig

if [ -f "$TEAM_ID_CONFIG" ]; then
# Extract team ID from the config file
TEAM_ID=$(grep "DEVELOPMENT_TEAM=" "$TEAM_ID_CONFIG" | cut -d'=' -f2)
Expand All @@ -25,4 +26,4 @@ echo "Removing DEBUG data folder at $DEBUG_FOLDER_PATH"
rm -R "$DEBUG_FOLDER_PATH" || { echo "Failed to remove :("; exit 1; }

echo "All good!"
echo ""
echo ""
29 changes: 29 additions & 0 deletions scripts/git_hooks/xcodeproj_developer_team_check
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/usr/bin/env ruby
# runs pbxproj check against the git diff

made_changes = false

`git status --porcelain`.split('\n').each do |line|
components = line.split(' ')
next if components.count < 2
code = components[0]
next if code != 'M'
file = components[1]
extension = file.split('.').last
next if extension != 'pbxproj'

pattern = /^[[:blank:]]*DEVELOPMENT_TEAM[[:blank:]]*=[[:blank:]]*[A-Za-z0-9]*;[[:blank:]]*$/

original = File.read(file)
filtered = original.lines.reject { |line| line.match(pattern) }.join

if filtered != original
File.write(file, filtered)
made_changes = true
end
end

if made_changes
puts "Had to remove DEVELOPMENT_TEAM from the pbxproj file - verify them and re-commit."
abort()
end
File renamed without changes.
13 changes: 13 additions & 0 deletions scripts/setup_git_hooks.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash
# sets up pre commit hooks

SCRIPT_DIR=$(dirname "${BASH_SOURCE[0]}")

[ -e $SCRIPT_DIR/../.git/hooks/pre-commit ] && rm $SCRIPT_DIR/../.git/hooks/pre-commit
mkdir -p $SCRIPT_DIR/../.git/hooks

touch $SCRIPT_DIR/../.git/hooks/pre-commit

chmod +x $SCRIPT_DIR/../.git/hooks/pre-commit

cat $SCRIPT_DIR/git_hooks/xcodeproj_developer_team_check >> $SCRIPT_DIR/../.git/hooks/pre-commit
2 changes: 1 addition & 1 deletion teamid.sh → scripts/teamid.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

TEAM_ID_FILE=WWDC/Config/TeamID.xcconfig
TEAM_ID_FILE=$(dirname "${BASH_SOURCE[0]}")/../WWDC/Config/TeamID.xcconfig

function print_team_ids() {
echo ""
Expand Down