From a537005f7c98924187c6c695cd3214017b7aaee6 Mon Sep 17 00:00:00 2001 From: Mark Schisler Date: Thu, 31 Jan 2019 22:23:40 -0600 Subject: [PATCH 1/4] making headers public on mac --- SBJson5.xcodeproj/project.pbxproj | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/SBJson5.xcodeproj/project.pbxproj b/SBJson5.xcodeproj/project.pbxproj index d913d3f0..31aca5fc 100644 --- a/SBJson5.xcodeproj/project.pbxproj +++ b/SBJson5.xcodeproj/project.pbxproj @@ -53,13 +53,13 @@ 538ED9141DC40E0200F14B4F /* SBJson5StreamWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 538ED8AF1DC40B4D00F14B4F /* SBJson5StreamWriter.m */; }; 538ED9151DC40E0200F14B4F /* SBJson5StreamWriterState.m in Sources */ = {isa = PBXBuildFile; fileRef = 538ED8B11DC40B4D00F14B4F /* SBJson5StreamWriterState.m */; }; 538ED9161DC40E0200F14B4F /* SBJson5Writer.m in Sources */ = {isa = PBXBuildFile; fileRef = 538ED8B31DC40B4D00F14B4F /* SBJson5Writer.m */; }; - 538ED9171DC40E2300F14B4F /* SBJson5Parser.h in Headers */ = {isa = PBXBuildFile; fileRef = 538ED8A61DC40B4D00F14B4F /* SBJson5Parser.h */; }; - 538ED9181DC40E2300F14B4F /* SBJson5StreamParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 538ED8A81DC40B4D00F14B4F /* SBJson5StreamParser.h */; }; - 538ED9191DC40E2300F14B4F /* SBJson5StreamParserState.h in Headers */ = {isa = PBXBuildFile; fileRef = 538ED8AA1DC40B4D00F14B4F /* SBJson5StreamParserState.h */; }; - 538ED91A1DC40E2300F14B4F /* SBJson5StreamTokeniser.h in Headers */ = {isa = PBXBuildFile; fileRef = 538ED8AC1DC40B4D00F14B4F /* SBJson5StreamTokeniser.h */; }; - 538ED91B1DC40E2300F14B4F /* SBJson5StreamWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 538ED8AE1DC40B4D00F14B4F /* SBJson5StreamWriter.h */; }; - 538ED91C1DC40E2300F14B4F /* SBJson5StreamWriterState.h in Headers */ = {isa = PBXBuildFile; fileRef = 538ED8B01DC40B4D00F14B4F /* SBJson5StreamWriterState.h */; }; - 538ED91D1DC40E2300F14B4F /* SBJson5Writer.h in Headers */ = {isa = PBXBuildFile; fileRef = 538ED8B21DC40B4D00F14B4F /* SBJson5Writer.h */; }; + 538ED9171DC40E2300F14B4F /* SBJson5Parser.h in Headers */ = {isa = PBXBuildFile; fileRef = 538ED8A61DC40B4D00F14B4F /* SBJson5Parser.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 538ED9181DC40E2300F14B4F /* SBJson5StreamParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 538ED8A81DC40B4D00F14B4F /* SBJson5StreamParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 538ED9191DC40E2300F14B4F /* SBJson5StreamParserState.h in Headers */ = {isa = PBXBuildFile; fileRef = 538ED8AA1DC40B4D00F14B4F /* SBJson5StreamParserState.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 538ED91A1DC40E2300F14B4F /* SBJson5StreamTokeniser.h in Headers */ = {isa = PBXBuildFile; fileRef = 538ED8AC1DC40B4D00F14B4F /* SBJson5StreamTokeniser.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 538ED91B1DC40E2300F14B4F /* SBJson5StreamWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 538ED8AE1DC40B4D00F14B4F /* SBJson5StreamWriter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 538ED91C1DC40E2300F14B4F /* SBJson5StreamWriterState.h in Headers */ = {isa = PBXBuildFile; fileRef = 538ED8B01DC40B4D00F14B4F /* SBJson5StreamWriterState.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 538ED91D1DC40E2300F14B4F /* SBJson5Writer.h in Headers */ = {isa = PBXBuildFile; fileRef = 538ED8B21DC40B4D00F14B4F /* SBJson5Writer.h */; settings = {ATTRIBUTES = (Public, ); }; }; 538ED91E1DC40E2300F14B4F /* SBJson5.h in Headers */ = {isa = PBXBuildFile; fileRef = 538ED8B41DC40B4D00F14B4F /* SBJson5.h */; settings = {ATTRIBUTES = (Public, ); }; }; 538ED9231DC40F8B00F14B4F /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 538ED9221DC40F8B00F14B4F /* XCTest.framework */; }; 538ED9251DC40FB300F14B4F /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 538ED9241DC40FB300F14B4F /* XCTest.framework */; }; From a64dbd84ccf49ae73231c2c6f850202f3f7b4366 Mon Sep 17 00:00:00 2001 From: Chris Brown Date: Mon, 29 Mar 2021 16:04:56 -0400 Subject: [PATCH 2/4] Setting Build Libraries for Distribution setting to 'Yes', adding upstream project to main SBJson project --- SBJson5.xcodeproj/project.pbxproj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/SBJson5.xcodeproj/project.pbxproj b/SBJson5.xcodeproj/project.pbxproj index 31aca5fc..4300ce80 100644 --- a/SBJson5.xcodeproj/project.pbxproj +++ b/SBJson5.xcodeproj/project.pbxproj @@ -456,6 +456,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, ); mainGroup = 538ED8361DC4088400F14B4F; @@ -722,6 +723,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -784,6 +786,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; From ff1c7015c898b8737b870113059a7591c0063efd Mon Sep 17 00:00:00 2001 From: Chris Brown Date: Tue, 30 Mar 2021 10:36:36 -0400 Subject: [PATCH 3/4] Updating gitignore, updating project to set skip_install to No --- .gitignore | 3 ++- SBJson5.xcodeproj/project.pbxproj | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index c4b2db66..f19c9e96 100644 --- a/.gitignore +++ b/.gitignore @@ -15,4 +15,5 @@ profile *.moved-aside DerivedData .idea/ -.DS_Store \ No newline at end of file +.DS_Store +Archives/ diff --git a/SBJson5.xcodeproj/project.pbxproj b/SBJson5.xcodeproj/project.pbxproj index a5ac551b..a184f4b6 100644 --- a/SBJson5.xcodeproj/project.pbxproj +++ b/SBJson5.xcodeproj/project.pbxproj @@ -749,7 +749,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "org.brautaset.SBJson5-iOS"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; - SKIP_INSTALL = YES; + SKIP_INSTALL = NO; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -805,7 +805,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "org.brautaset.SBJson5-iOS"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; - SKIP_INSTALL = YES; + SKIP_INSTALL = NO; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; From 6a69dd56fbb5fe5567416a65c850e0376a71a94f Mon Sep 17 00:00:00 2001 From: Chris Brown Date: Thu, 1 Apr 2021 09:30:39 -0400 Subject: [PATCH 4/4] Added script to generate the simulator framework needed for the SBJson5 SPM packaage --- build_XCFramework.sh | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 build_XCFramework.sh diff --git a/build_XCFramework.sh b/build_XCFramework.sh new file mode 100755 index 00000000..75763c8e --- /dev/null +++ b/build_XCFramework.sh @@ -0,0 +1,41 @@ +echo "** This script is not finalized. It will generate the simulator framework successfully but has issues with generating the macOS and iOS versions**" + +FRAMEWORK_NAME="SBJson5" +FRAMEWORK_FOLDER_NAME="${FRAMEWORK_NAME}_XCFramework" +FRAMEWORK_PATH="${HOME}/Desktop/${FRAMEWORK_FOLDER_NAME}/${FRAMEWORK_NAME}.xcframework" +TEMP_FRAMEWORK_PATH="${HOME}/Desktop/${FRAMEWORK_FOLDER_NAME}_temp" + +# Set Output Destinations +SIMULATOR_ARCHIVE_PATH="${TEMP_FRAMEWORK_PATH}/simulator.xcarchive" +IOS_DEVICE_ARCHIVE_PATH="${TEMP_FRAMEWORK_PATH}/iOS.xcarchive" +MACOS_ARCIVE_PATH="${TEMP_FRAMEWORK_PATH}/macOS.xcarchive" + +# Clean up existing products +rm -rf "${HOME}/Desktop/${FRAMEWORK_FOLDER_NAME}" +echo "Deleted existing ${FRAMEWORK_FOLDER_NAME}" + +# Prepare file system +mkdir "${HOME}/Desktop/${FRAMEWORK_FOLDER_NAME}" +mkdir "${PROJECT_DIR}/${FRAMEWORK_FOLDER_NAME}" + +# Build archives +echo "Archiving ${FRAMEWORK_NAME} for the simulator" +xcodebuild archive -scheme "SBJson5_iOS" -destination="iOS Simulator" -archivePath "${SIMULATOR_ARCHIVE_PATH}" -sdk iphonesimulator SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES +echo "Archiving ${FRAMEWORK_NAME} for iOS" +xcodebuild archive -scheme "SBJson5_iOS" -destination="iOS" -archivePath "${IOS_DEVICE_ARCHIVE_PATH}" -sdk iphoneos SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES +echo "Archiving ${FRAMEWORK_NAME} for macOS" +xcodebuild archive -scheme "SBJson5_macOS" -destination="macOS" -archivePath "${MACOS_ARCHIVE_PATH}" -sdk macosx SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES + +open "${TEMP_FRAMEWORK_PATH}" + +# Create XCFramework +echo "Generating XCFramework" +xcodebuild -create-xcframework -framework ${SIMULATOR_ARCHIVE_PATH}/Products/Library/Frameworks/SBJson5_iOS.framework -framework ${IOS_DEVICE_ARCHIVE_PATH}/Products/Library/Frameworks/SBJson_iOS.framework -framework ${MACOS_ARCHIVE_PATH}/Products/Library/Frameworks/SBJson_macOS.framework -output "${FRAMEWORK_PATH}" + +#echo "Cleaning up temporary files" +#rm -rf "${SIMULATOR_ARCHIVE_PATH}" +#rm -rf "${IOS_DEVICE_ARCHIVE_PATH}" +#rm -rf "${MACOS_ARCHIVE_PATH}" + +#open "${HOME}/Desktop/${FRAMEWORK_FOLDER_NAME}" +