diff --git a/.gitignore b/.gitignore index d5c27236..229009da 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,8 @@ build/ *.pbxuser *.perspectivev3 -wax.framework +wax.xcframework +mobdebug.framework xcuserdata .DS_Store -*.xcworkspacedata -*.xcuserdata -*.xccheckout Pods/ -*.xcworkspace \ No newline at end of file diff --git a/examples/BlockExample/BlockExample.xcodeproj/project.pbxproj b/examples/BlockExample/BlockExample.xcodeproj/project.pbxproj index 5ad82fde..a05eaf22 100644 --- a/examples/BlockExample/BlockExample.xcodeproj/project.pbxproj +++ b/examples/BlockExample/BlockExample.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -13,7 +13,7 @@ 00767BA11C325B3000807A54 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 00767B9F1C325B3000807A54 /* Main.storyboard */; }; 00767BA31C325B3000807A54 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 00767BA21C325B3000807A54 /* Assets.xcassets */; }; 00767BA61C325B3000807A54 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 00767BA41C325B3000807A54 /* LaunchScreen.storyboard */; }; - 00BF35401C7F279B000A62DE /* BlockExample.lua in Resources */ = {isa = PBXBuildFile; fileRef = 00BF353F1C7F279B000A62DE /* BlockExample.lua */; settings = {ASSET_TAGS = (); }; }; + 00BF35401C7F279B000A62DE /* BlockExample.lua in Resources */ = {isa = PBXBuildFile; fileRef = 00BF353F1C7F279B000A62DE /* BlockExample.lua */; }; 5AD1D06E593616AAB26A5BBF /* libPods-BlockExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F0B72215A85CD11D94405880 /* libPods-BlockExample.a */; }; /* End PBXBuildFile section */ @@ -113,12 +113,11 @@ isa = PBXNativeTarget; buildConfigurationList = 00767BAA1C325B3000807A54 /* Build configuration list for PBXNativeTarget "BlockExample" */; buildPhases = ( + 99475906395C18F0A6C002BC /* [CP] Check Pods Manifest.lock */, 116D2E2C04037A2B0B2672E9 /* Check Pods Manifest.lock */, 00767B8F1C325B3000807A54 /* Sources */, 00767B901C325B3000807A54 /* Frameworks */, 00767B911C325B3000807A54 /* Resources */, - 68475863C2DE0F94B9FED350 /* Embed Pods Frameworks */, - 23D9B9B50CF2CD7000EA9223 /* Copy Pods Resources */, ); buildRules = ( ); @@ -135,7 +134,8 @@ 00767B8B1C325B3000807A54 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0700; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1640; ORGANIZATIONNAME = test.jz.com; TargetAttributes = { 00767B921C325B3000807A54 = { @@ -148,6 +148,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ); @@ -191,34 +192,26 @@ shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; showEnvVarsInLog = 0; }; - 23D9B9B50CF2CD7000EA9223 /* Copy Pods Resources */ = { + 99475906395C18F0A6C002BC /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputPaths = ( - ); - name = "Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-BlockExample/Pods-BlockExample-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 68475863C2DE0F94B9FED350 /* Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( + inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Embed Pods Frameworks"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-BlockExample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-BlockExample/Pods-BlockExample-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -264,13 +257,24 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = 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_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -278,6 +282,7 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -292,7 +297,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -307,13 +312,24 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = 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_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -321,6 +337,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -329,7 +346,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; @@ -341,8 +358,14 @@ baseConfigurationReference = 72D3D589980A2D777E30430C /* Pods-BlockExample.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_OBJC_ARC = NO; + CLANG_ENABLE_OBJC_WEAK = YES; INFOPLIST_FILE = BlockExample/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.jz.test.BlockExample; PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -353,8 +376,14 @@ baseConfigurationReference = BB933480EBA36E000F287795 /* Pods-BlockExample.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_OBJC_ARC = NO; + CLANG_ENABLE_OBJC_WEAK = YES; INFOPLIST_FILE = BlockExample/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.jz.test.BlockExample; PRODUCT_NAME = "$(TARGET_NAME)"; }; diff --git a/examples/BlockExample/BlockExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/examples/BlockExample/BlockExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/examples/BlockExample/BlockExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/examples/BlockExample/BlockExample.xcworkspace/contents.xcworkspacedata b/examples/BlockExample/BlockExample.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..2478693b --- /dev/null +++ b/examples/BlockExample/BlockExample.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/examples/BlockExample/BlockExample/Assets.xcassets/AppIcon.appiconset/Contents.json b/examples/BlockExample/BlockExample/Assets.xcassets/AppIcon.appiconset/Contents.json index 118c98f7..81213230 100644 --- a/examples/BlockExample/BlockExample/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/examples/BlockExample/BlockExample/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -2,37 +2,52 @@ "images" : [ { "idiom" : "iphone", - "size" : "29x29", - "scale" : "2x" + "scale" : "2x", + "size" : "20x20" }, { "idiom" : "iphone", - "size" : "29x29", - "scale" : "3x" + "scale" : "3x", + "size" : "20x20" }, { "idiom" : "iphone", - "size" : "40x40", - "scale" : "2x" + "scale" : "2x", + "size" : "29x29" }, { "idiom" : "iphone", - "size" : "40x40", - "scale" : "3x" + "scale" : "3x", + "size" : "29x29" }, { "idiom" : "iphone", - "size" : "60x60", - "scale" : "2x" + "scale" : "2x", + "size" : "40x40" }, { "idiom" : "iphone", - "size" : "60x60", - "scale" : "3x" + "scale" : "3x", + "size" : "40x40" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/examples/BlockExample/Podfile b/examples/BlockExample/Podfile index f0e7b4a4..cdcb3377 100644 --- a/examples/BlockExample/Podfile +++ b/examples/BlockExample/Podfile @@ -2,9 +2,7 @@ platform :ios target 'BlockExample' do - platform:ios, '6.0' - #pod 'wax', :git=>'git@github.com:alibaba/wax.git', :tag=>'1.1.0' - #pod 'wax', :git=>'git@github.com:alibaba/wax.git', :commit=>'5c762ad' + platform:ios, '15.0' pod 'wax', :path=>'../../' pod 'Masonry', '~> 0.6.4' end \ No newline at end of file diff --git a/examples/BlockExample/Podfile.lock b/examples/BlockExample/Podfile.lock new file mode 100644 index 00000000..2393304a --- /dev/null +++ b/examples/BlockExample/Podfile.lock @@ -0,0 +1,23 @@ +PODS: + - Masonry (0.6.4) + - wax (1.2.1) + +DEPENDENCIES: + - Masonry (~> 0.6.4) + - wax (from `../../`) + +SPEC REPOS: + trunk: + - Masonry + +EXTERNAL SOURCES: + wax: + :path: "../../" + +SPEC CHECKSUMS: + Masonry: 281802d04d787ea2973179ee8bcb50500579ede2 + wax: 6974bdc27bc201389b967878f541f42e0734f8a4 + +PODFILE CHECKSUM: a6472a39b67d318155fd82efe80e53225645898a + +COCOAPODS: 1.16.2 diff --git a/examples/IBExample/IBExample-Info.plist b/examples/IBExample/IBExample-Info.plist index 32894445..276e6f65 100644 --- a/examples/IBExample/IBExample-Info.plist +++ b/examples/IBExample/IBExample-Info.plist @@ -11,7 +11,7 @@ CFBundleIconFile CFBundleIdentifier - com.yourcompany.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/examples/IBExample/IBExample.xcodeproj/project.pbxproj b/examples/IBExample/IBExample.xcodeproj/project.pbxproj index 7c6da727..7dbba89d 100755 --- a/examples/IBExample/IBExample.xcodeproj/project.pbxproj +++ b/examples/IBExample/IBExample.xcodeproj/project.pbxproj @@ -3,16 +3,16 @@ archiveVersion = 1; classes = { }; - objectVersion = 45; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ - 0444900512D253C800E8D955 /* wax.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0444900412D253C800E8D955 /* wax.framework */; }; 0444901F12D2543B00E8D955 /* BlueView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0444901D12D2543B00E8D955 /* BlueView.xib */; }; 0444902012D2543B00E8D955 /* OrangeView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0444901E12D2543B00E8D955 /* OrangeView.xib */; }; 0444902712D255D000E8D955 /* init.lua in Resources */ = {isa = PBXBuildFile; fileRef = 0444902412D255D000E8D955 /* init.lua */; }; 0444902812D255D000E8D955 /* BlueController.lua in Resources */ = {isa = PBXBuildFile; fileRef = 0444902512D255D000E8D955 /* BlueController.lua */; }; 0444902912D255D000E8D955 /* OrangeController.lua in Resources */ = {isa = PBXBuildFile; fileRef = 0444902612D255D000E8D955 /* OrangeController.lua */; }; + 05F77B322E58DAE6008489CF /* wax.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05F77B312E58DAE6008489CF /* wax.xcframework */; }; 1D3623260D0F684500981E51 /* IBExampleAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* IBExampleAppDelegate.m */; }; 1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; }; 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; @@ -22,12 +22,12 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 0444900412D253C800E8D955 /* wax.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = wax.framework; sourceTree = SOURCE_ROOT; }; 0444901D12D2543B00E8D955 /* BlueView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BlueView.xib; sourceTree = ""; }; 0444901E12D2543B00E8D955 /* OrangeView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = OrangeView.xib; sourceTree = ""; }; 0444902412D255D000E8D955 /* init.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = init.lua; path = scripts/init.lua; sourceTree = ""; }; 0444902512D255D000E8D955 /* BlueController.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = BlueController.lua; path = scripts/BlueController.lua; sourceTree = ""; }; 0444902612D255D000E8D955 /* OrangeController.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = OrangeController.lua; path = scripts/OrangeController.lua; sourceTree = ""; }; + 05F77B312E58DAE6008489CF /* wax.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = wax.xcframework; path = /Users/troy/depot/wax/BhGideros/wax/framework/wax.xcframework; sourceTree = ""; }; 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 1D3623240D0F684500981E51 /* IBExampleAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IBExampleAppDelegate.h; sourceTree = ""; }; 1D3623250D0F684500981E51 /* IBExampleAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IBExampleAppDelegate.m; sourceTree = ""; }; @@ -47,8 +47,8 @@ files = ( 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, + 05F77B322E58DAE6008489CF /* wax.xcframework in Frameworks */, 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */, - 0444900512D253C800E8D955 /* wax.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -118,7 +118,7 @@ 29B97323FDCFA39411CA2CEA /* Frameworks */ = { isa = PBXGroup; children = ( - 0444900412D253C800E8D955 /* wax.framework */, + 05F77B312E58DAE6008489CF /* wax.xcframework */, 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, 1D30AB110D05D00D00671497 /* Foundation.framework */, 288765FC0DF74451002DB57D /* CoreGraphics.framework */, @@ -133,7 +133,6 @@ isa = PBXNativeTarget; buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "IBExample" */; buildPhases = ( - 04155FA112D3D32C00FA4BA9 /* Build Framework */, 1D60588D0D05DD3D006BFB54 /* Resources */, 1D60588E0D05DD3D006BFB54 /* Sources */, 1D60588F0D05DD3D006BFB54 /* Frameworks */, @@ -153,16 +152,19 @@ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1640; }; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "IBExample" */; compatibilityVersion = "Xcode 3.1"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 1; knownRegions = ( - English, - Japanese, - French, - German, + Base, + ja, + fr, + de, + en, ); mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */; projectDirPath = ""; @@ -189,24 +191,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 04155FA112D3D32C00FA4BA9 /* Build Framework */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Build Framework"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/zsh; - shellScript = "# If the framework doesn't exist, build it\nif [ ! -d wax.framework ]; then\n\tcd ../../tools/framework\n\trake package\nfi"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 1D60588E0D05DD3D006BFB54 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -225,16 +209,21 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)\"", + "$(SRCROOT)/../../framework", ); GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = IBExample_Prefix.pch; INFOPLIST_FILE = "IBExample-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + OTHER_LDFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = "com.yourcompany.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = IBExample; VALID_ARCHS = "$(ARCHS_STANDARD)"; }; @@ -245,14 +234,19 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; COPY_PHASE_STRIP = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)\"", + "$(SRCROOT)/../../framework", ); GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = IBExample_Prefix.pch; INFOPLIST_FILE = "IBExample-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + OTHER_LDFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = "com.yourcompany.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = IBExample; VALIDATE_PRODUCT = YES; VALID_ARCHS = "$(ARCHS_STANDARD)"; @@ -262,13 +256,39 @@ C01FCF4F08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - PREBINDING = NO; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; }; name = Debug; @@ -276,14 +296,38 @@ C01FCF5008A954540054247B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; - PREBINDING = NO; SDKROOT = iphoneos; }; name = Release; diff --git a/examples/IBExample/IBExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/examples/IBExample/IBExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/examples/IBExample/IBExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/examples/IBExample/README.md b/examples/IBExample/README.md new file mode 100644 index 00000000..fa53f615 --- /dev/null +++ b/examples/IBExample/README.md @@ -0,0 +1,2 @@ +This project includes wax as an xcframework. The built framework is not checked in, you must build it yourself. See the [Framework README](../../framework/README.md) for instructions. After building the Wax framework you need to Clean this project before building. + diff --git a/examples/IBExample/wax.framework b/examples/IBExample/wax.framework deleted file mode 120000 index fe2bdb9d..00000000 --- a/examples/IBExample/wax.framework +++ /dev/null @@ -1 +0,0 @@ -../../framework/wax.framework \ No newline at end of file diff --git a/examples/InstallationExample/InstallWithCocoaPods/Podfile b/examples/InstallationExample/InstallWithCocoaPods/Podfile index 807dbc6c..47dc666b 100644 --- a/examples/InstallationExample/InstallWithCocoaPods/Podfile +++ b/examples/InstallationExample/InstallWithCocoaPods/Podfile @@ -2,8 +2,6 @@ platform :ios target 'TestWaxPod' do - platform:ios, '6.0' - #pod 'wax', :git=>'https://github.com/alibaba/wax.git', :tag=>'1.1.0' - #pod 'wax', :git=>'https://github.com/alibaba/wax.git', :commit=>'5c762ad' + platform:ios, '15.0' pod 'wax', :path=>'../../../' end diff --git a/examples/InstallationExample/InstallWithCocoaPods/Podfile.lock b/examples/InstallationExample/InstallWithCocoaPods/Podfile.lock index b3ab76ba..58799024 100644 --- a/examples/InstallationExample/InstallWithCocoaPods/Podfile.lock +++ b/examples/InstallationExample/InstallWithCocoaPods/Podfile.lock @@ -1,14 +1,16 @@ PODS: - - wax (1.0.0) + - wax (1.2.1) DEPENDENCIES: - wax (from `../../../`) EXTERNAL SOURCES: wax: - :path: ../../../ + :path: "../../../" SPEC CHECKSUMS: - wax: 2b714799fce79f34bf77e31cd845024e62e82da2 + wax: 6974bdc27bc201389b967878f541f42e0734f8a4 -COCOAPODS: 0.35.0 +PODFILE CHECKSUM: bae68af926c16ee96ae2bbffc32fcceba8a2ac61 + +COCOAPODS: 1.16.2 diff --git a/examples/InstallationExample/InstallWithCocoaPods/TestWaxPod.xcodeproj/project.pbxproj b/examples/InstallationExample/InstallWithCocoaPods/TestWaxPod.xcodeproj/project.pbxproj index 1a70d940..5d572a36 100644 --- a/examples/InstallationExample/InstallWithCocoaPods/TestWaxPod.xcodeproj/project.pbxproj +++ b/examples/InstallationExample/InstallWithCocoaPods/TestWaxPod.xcodeproj/project.pbxproj @@ -1,733 +1,391 @@ - - - - - archiveVersion - 1 - classes - - objectVersion - 46 - objects - - 0061818D1BCF578C00B9F155 - - children - - 006181981BCF578C00B9F155 - 006181971BCF578C00B9F155 - E70CF6929A23F8BDAEB2ECF5 - A5C7C712DF714FCB44E23B15 - - isa - PBXGroup - sourceTree - <group> - - 0061818E1BCF578C00B9F155 - - attributes - - LastUpgradeCheck - 0700 - ORGANIZATIONNAME - test.jz.com - TargetAttributes - - 006181951BCF578C00B9F155 - - CreatedOnToolsVersion - 7.0 - - - - buildConfigurationList - 006181911BCF578C00B9F155 - compatibilityVersion - Xcode 3.2 - developmentRegion - English - hasScannedForEncodings - 0 - isa - PBXProject - knownRegions - - en - Base - - mainGroup - 0061818D1BCF578C00B9F155 - productRefGroup - 006181971BCF578C00B9F155 - projectDirPath - - projectReferences - - projectRoot - - targets - - 006181951BCF578C00B9F155 - - - 006181911BCF578C00B9F155 - - buildConfigurations - - 006181AB1BCF578C00B9F155 - 006181AC1BCF578C00B9F155 - - defaultConfigurationIsVisible - 0 - defaultConfigurationName - Release - isa - XCConfigurationList - - 006181921BCF578C00B9F155 - - buildActionMask - 2147483647 - files - - 006181A11BCF578C00B9F155 - 0061819E1BCF578C00B9F155 - 0061819B1BCF578C00B9F155 - - isa - PBXSourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 006181931BCF578C00B9F155 - - buildActionMask - 2147483647 - files - - 422E591890D8DAD99891997C - - isa - PBXFrameworksBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 006181941BCF578C00B9F155 - - buildActionMask - 2147483647 - files - - 006181A91BCF578C00B9F155 - 006181A61BCF578C00B9F155 - 006181A41BCF578C00B9F155 - - isa - PBXResourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 006181951BCF578C00B9F155 - - buildConfigurationList - 006181AD1BCF578C00B9F155 - buildPhases - - 007B6E9B905959BE9E0BDBE6 - 006181921BCF578C00B9F155 - 006181931BCF578C00B9F155 - 006181941BCF578C00B9F155 - 94FB786E28D763E32F196521 - - buildRules - - dependencies - - isa - PBXNativeTarget - name - TestWaxPod - productName - TestWaxPod - productReference - 006181961BCF578C00B9F155 - productType - com.apple.product-type.application - - 006181961BCF578C00B9F155 - - explicitFileType - wrapper.application - includeInIndex - 0 - isa - PBXFileReference - path - TestWaxPod.app - sourceTree - BUILT_PRODUCTS_DIR - - 006181971BCF578C00B9F155 - - children - - 006181961BCF578C00B9F155 - - isa - PBXGroup - name - Products - sourceTree - <group> - - 006181981BCF578C00B9F155 - - children - - 0061819C1BCF578C00B9F155 - 0061819D1BCF578C00B9F155 - 0061819F1BCF578C00B9F155 - 006181A01BCF578C00B9F155 - 006181A21BCF578C00B9F155 - 006181A51BCF578C00B9F155 - 006181A71BCF578C00B9F155 - 006181AA1BCF578C00B9F155 - 006181991BCF578C00B9F155 - - isa - PBXGroup - path - TestWaxPod - sourceTree - <group> - - 006181991BCF578C00B9F155 - - children - - 0061819A1BCF578C00B9F155 - - isa - PBXGroup - name - Supporting Files - sourceTree - <group> - - 0061819A1BCF578C00B9F155 - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - main.m - sourceTree - <group> - - 0061819B1BCF578C00B9F155 - - fileRef - 0061819A1BCF578C00B9F155 - isa - PBXBuildFile - - 0061819C1BCF578C00B9F155 - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - AppDelegate.h - sourceTree - <group> - - 0061819D1BCF578C00B9F155 - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - AppDelegate.m - sourceTree - <group> - - 0061819E1BCF578C00B9F155 - - fileRef - 0061819D1BCF578C00B9F155 - isa - PBXBuildFile - - 0061819F1BCF578C00B9F155 - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - ViewController.h - sourceTree - <group> - - 006181A01BCF578C00B9F155 - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - ViewController.m - sourceTree - <group> - - 006181A11BCF578C00B9F155 - - fileRef - 006181A01BCF578C00B9F155 - isa - PBXBuildFile - - 006181A21BCF578C00B9F155 - - children - - 006181A31BCF578C00B9F155 - - isa - PBXVariantGroup - name - Main.storyboard - sourceTree - <group> - - 006181A31BCF578C00B9F155 - - isa - PBXFileReference - lastKnownFileType - file.storyboard - name - Base - path - Base.lproj/Main.storyboard - sourceTree - <group> - - 006181A41BCF578C00B9F155 - - fileRef - 006181A21BCF578C00B9F155 - isa - PBXBuildFile - - 006181A51BCF578C00B9F155 - - isa - PBXFileReference - lastKnownFileType - folder.assetcatalog - path - Assets.xcassets - sourceTree - <group> - - 006181A61BCF578C00B9F155 - - fileRef - 006181A51BCF578C00B9F155 - isa - PBXBuildFile - - 006181A71BCF578C00B9F155 - - children - - 006181A81BCF578C00B9F155 - - isa - PBXVariantGroup - name - LaunchScreen.storyboard - sourceTree - <group> - - 006181A81BCF578C00B9F155 - - isa - PBXFileReference - lastKnownFileType - file.storyboard - name - Base - path - Base.lproj/LaunchScreen.storyboard - sourceTree - <group> - - 006181A91BCF578C00B9F155 - - fileRef - 006181A71BCF578C00B9F155 - isa - PBXBuildFile - - 006181AA1BCF578C00B9F155 - - isa - PBXFileReference - lastKnownFileType - text.plist.xml - path - Info.plist - sourceTree - <group> - - 006181AB1BCF578C00B9F155 - - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - CLANG_CXX_LANGUAGE_STANDARD - gnu++0x - CLANG_CXX_LIBRARY - libc++ - CLANG_ENABLE_MODULES - YES - CLANG_ENABLE_OBJC_ARC - YES - CLANG_WARN_BOOL_CONVERSION - YES - CLANG_WARN_CONSTANT_CONVERSION - YES - CLANG_WARN_DIRECT_OBJC_ISA_USAGE - YES_ERROR - CLANG_WARN_EMPTY_BODY - YES - CLANG_WARN_ENUM_CONVERSION - YES - CLANG_WARN_INT_CONVERSION - YES - CLANG_WARN_OBJC_ROOT_CLASS - YES_ERROR - CLANG_WARN_UNREACHABLE_CODE - YES - CLANG_WARN__DUPLICATE_METHOD_MATCH - YES - CODE_SIGN_IDENTITY[sdk=iphoneos*] - iPhone Developer - COPY_PHASE_STRIP - NO - DEBUG_INFORMATION_FORMAT - dwarf - ENABLE_STRICT_OBJC_MSGSEND - YES - ENABLE_TESTABILITY - YES - GCC_C_LANGUAGE_STANDARD - gnu99 - 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 - 9.0 - MTL_ENABLE_DEBUG_INFO - YES - ONLY_ACTIVE_ARCH - YES - SDKROOT - iphoneos - - isa - XCBuildConfiguration - name - Debug - - 006181AC1BCF578C00B9F155 - - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - CLANG_CXX_LANGUAGE_STANDARD - gnu++0x - CLANG_CXX_LIBRARY - libc++ - CLANG_ENABLE_MODULES - YES - CLANG_ENABLE_OBJC_ARC - YES - CLANG_WARN_BOOL_CONVERSION - YES - CLANG_WARN_CONSTANT_CONVERSION - YES - CLANG_WARN_DIRECT_OBJC_ISA_USAGE - YES_ERROR - CLANG_WARN_EMPTY_BODY - YES - CLANG_WARN_ENUM_CONVERSION - YES - CLANG_WARN_INT_CONVERSION - YES - CLANG_WARN_OBJC_ROOT_CLASS - YES_ERROR - CLANG_WARN_UNREACHABLE_CODE - YES - CLANG_WARN__DUPLICATE_METHOD_MATCH - YES - CODE_SIGN_IDENTITY[sdk=iphoneos*] - iPhone Developer - COPY_PHASE_STRIP - NO - DEBUG_INFORMATION_FORMAT - dwarf-with-dsym - ENABLE_NS_ASSERTIONS - NO - ENABLE_STRICT_OBJC_MSGSEND - YES - GCC_C_LANGUAGE_STANDARD - gnu99 - 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 - 9.0 - MTL_ENABLE_DEBUG_INFO - NO - SDKROOT - iphoneos - VALIDATE_PRODUCT - YES - - isa - XCBuildConfiguration - name - Release - - 006181AD1BCF578C00B9F155 - - buildConfigurations - - 006181AE1BCF578C00B9F155 - 006181AF1BCF578C00B9F155 - - defaultConfigurationIsVisible - 0 - isa - XCConfigurationList - - 006181AE1BCF578C00B9F155 - - baseConfigurationReference - 8BF4930B15AA5EE9D3E0F0A6 - buildSettings - - ASSETCATALOG_COMPILER_APPICON_NAME - AppIcon - INFOPLIST_FILE - TestWaxPod/Info.plist - LD_RUNPATH_SEARCH_PATHS - $(inherited) @executable_path/Frameworks - PRODUCT_BUNDLE_IDENTIFIER - com.jz.test.TestWaxPod - PRODUCT_NAME - $(TARGET_NAME) - - isa - XCBuildConfiguration - name - Debug - - 006181AF1BCF578C00B9F155 - - baseConfigurationReference - 0B58F887CABE5D9632779005 - buildSettings - - ASSETCATALOG_COMPILER_APPICON_NAME - AppIcon - INFOPLIST_FILE - TestWaxPod/Info.plist - LD_RUNPATH_SEARCH_PATHS - $(inherited) @executable_path/Frameworks - PRODUCT_BUNDLE_IDENTIFIER - com.jz.test.TestWaxPod - PRODUCT_NAME - $(TARGET_NAME) - - isa - XCBuildConfiguration - name - Release - - 007B6E9B905959BE9E0BDBE6 - - buildActionMask - 2147483647 - files - - inputPaths - - isa - PBXShellScriptBuildPhase - name - Check Pods Manifest.lock - outputPaths - - runOnlyForDeploymentPostprocessing - 0 - shellPath - /bin/sh - shellScript - diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null -if [[ $? != 0 ]] ; then - cat << EOM -error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation. -EOM - exit 1 -fi - - showEnvVarsInLog - 0 - - 0B58F887CABE5D9632779005 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - name - Pods-TestWaxPod.release.xcconfig - path - Pods/Target Support Files/Pods-TestWaxPod/Pods-TestWaxPod.release.xcconfig - sourceTree - <group> - - 422E591890D8DAD99891997C - - fileRef - A81B2C046D83A686F8C3BAD4 - isa - PBXBuildFile - - 8BF4930B15AA5EE9D3E0F0A6 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - name - Pods-TestWaxPod.debug.xcconfig - path - Pods/Target Support Files/Pods-TestWaxPod/Pods-TestWaxPod.debug.xcconfig - sourceTree - <group> - - 94FB786E28D763E32F196521 - - buildActionMask - 2147483647 - files - - inputPaths - - isa - PBXShellScriptBuildPhase - name - Copy Pods Resources - outputPaths - - runOnlyForDeploymentPostprocessing - 0 - shellPath - /bin/sh - shellScript - "${SRCROOT}/Pods/Target Support Files/Pods-TestWaxPod/Pods-TestWaxPod-resources.sh" - - showEnvVarsInLog - 0 - - A5C7C712DF714FCB44E23B15 - - children - - A81B2C046D83A686F8C3BAD4 - - isa - PBXGroup - name - Frameworks - sourceTree - <group> - - A81B2C046D83A686F8C3BAD4 - - explicitFileType - archive.ar - includeInIndex - 0 - isa - PBXFileReference - path - libPods-TestWaxPod.a - sourceTree - BUILT_PRODUCTS_DIR - - E70CF6929A23F8BDAEB2ECF5 - - children - - 8BF4930B15AA5EE9D3E0F0A6 - 0B58F887CABE5D9632779005 - - isa - PBXGroup - name - Pods - sourceTree - <group> - - - rootObject - 0061818E1BCF578C00B9F155 - - +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 0061819B1BCF578C00B9F155 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 0061819A1BCF578C00B9F155 /* main.m */; }; + 0061819E1BCF578C00B9F155 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 0061819D1BCF578C00B9F155 /* AppDelegate.m */; }; + 006181A11BCF578C00B9F155 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 006181A01BCF578C00B9F155 /* ViewController.m */; }; + 006181A41BCF578C00B9F155 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 006181A21BCF578C00B9F155 /* Main.storyboard */; }; + 006181A61BCF578C00B9F155 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 006181A51BCF578C00B9F155 /* Assets.xcassets */; }; + 006181A91BCF578C00B9F155 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 006181A71BCF578C00B9F155 /* LaunchScreen.storyboard */; }; + ED5E014D18DC42DEA6ED9BF8 /* libPods-TestWaxPod.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E743678003E6A0BDA45BB75 /* libPods-TestWaxPod.a */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 006181961BCF578C00B9F155 /* TestWaxPod.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TestWaxPod.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 0061819A1BCF578C00B9F155 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 0061819C1BCF578C00B9F155 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 0061819D1BCF578C00B9F155 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 0061819F1BCF578C00B9F155 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + 006181A01BCF578C00B9F155 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + 006181A31BCF578C00B9F155 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 006181A51BCF578C00B9F155 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 006181A81BCF578C00B9F155 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 006181AA1BCF578C00B9F155 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 549FA3A209E43774AAC3B6B8 /* Pods-TestWaxPod.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TestWaxPod.release.xcconfig"; path = "Target Support Files/Pods-TestWaxPod/Pods-TestWaxPod.release.xcconfig"; sourceTree = ""; }; + 8E743678003E6A0BDA45BB75 /* libPods-TestWaxPod.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-TestWaxPod.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + AEFE9A493C37BD335B5C2535 /* Pods-TestWaxPod.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TestWaxPod.debug.xcconfig"; path = "Target Support Files/Pods-TestWaxPod/Pods-TestWaxPod.debug.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 006181931BCF578C00B9F155 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ED5E014D18DC42DEA6ED9BF8 /* libPods-TestWaxPod.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 0061818D1BCF578C00B9F155 = { + isa = PBXGroup; + children = ( + 006181981BCF578C00B9F155 /* TestWaxPod */, + 006181971BCF578C00B9F155 /* Products */, + 96C1D456314FEB3A990CDD0F /* Pods */, + 10CFB9BC99E56E405B4A54B4 /* Frameworks */, + ); + sourceTree = ""; + }; + 006181971BCF578C00B9F155 /* Products */ = { + isa = PBXGroup; + children = ( + 006181961BCF578C00B9F155 /* TestWaxPod.app */, + ); + name = Products; + sourceTree = ""; + }; + 006181981BCF578C00B9F155 /* TestWaxPod */ = { + isa = PBXGroup; + children = ( + 0061819C1BCF578C00B9F155 /* AppDelegate.h */, + 0061819D1BCF578C00B9F155 /* AppDelegate.m */, + 0061819F1BCF578C00B9F155 /* ViewController.h */, + 006181A01BCF578C00B9F155 /* ViewController.m */, + 006181A21BCF578C00B9F155 /* Main.storyboard */, + 006181A51BCF578C00B9F155 /* Assets.xcassets */, + 006181A71BCF578C00B9F155 /* LaunchScreen.storyboard */, + 006181AA1BCF578C00B9F155 /* Info.plist */, + 006181991BCF578C00B9F155 /* Supporting Files */, + ); + path = TestWaxPod; + sourceTree = ""; + }; + 006181991BCF578C00B9F155 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 0061819A1BCF578C00B9F155 /* main.m */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 10CFB9BC99E56E405B4A54B4 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 8E743678003E6A0BDA45BB75 /* libPods-TestWaxPod.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + 96C1D456314FEB3A990CDD0F /* Pods */ = { + isa = PBXGroup; + children = ( + AEFE9A493C37BD335B5C2535 /* Pods-TestWaxPod.debug.xcconfig */, + 549FA3A209E43774AAC3B6B8 /* Pods-TestWaxPod.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 006181951BCF578C00B9F155 /* TestWaxPod */ = { + isa = PBXNativeTarget; + buildConfigurationList = 006181AD1BCF578C00B9F155 /* Build configuration list for PBXNativeTarget "TestWaxPod" */; + buildPhases = ( + 6BA8D50DE7C16049C9D99AE0 /* [CP] Check Pods Manifest.lock */, + 006181921BCF578C00B9F155 /* Sources */, + 006181931BCF578C00B9F155 /* Frameworks */, + 006181941BCF578C00B9F155 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = TestWaxPod; + productName = TestWaxPod; + productReference = 006181961BCF578C00B9F155 /* TestWaxPod.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 0061818E1BCF578C00B9F155 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1640; + ORGANIZATIONNAME = test.jz.com; + TargetAttributes = { + 006181951BCF578C00B9F155 = { + CreatedOnToolsVersion = 7.0; + }; + }; + }; + buildConfigurationList = 006181911BCF578C00B9F155 /* Build configuration list for PBXProject "TestWaxPod" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 0061818D1BCF578C00B9F155; + productRefGroup = 006181971BCF578C00B9F155 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 006181951BCF578C00B9F155 /* TestWaxPod */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 006181941BCF578C00B9F155 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 006181A91BCF578C00B9F155 /* LaunchScreen.storyboard in Resources */, + 006181A61BCF578C00B9F155 /* Assets.xcassets in Resources */, + 006181A41BCF578C00B9F155 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 6BA8D50DE7C16049C9D99AE0 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-TestWaxPod-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 006181921BCF578C00B9F155 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 006181A11BCF578C00B9F155 /* ViewController.m in Sources */, + 0061819E1BCF578C00B9F155 /* AppDelegate.m in Sources */, + 0061819B1BCF578C00B9F155 /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 006181A21BCF578C00B9F155 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 006181A31BCF578C00B9F155 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 006181A71BCF578C00B9F155 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 006181A81BCF578C00B9F155 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 006181AB1BCF578C00B9F155 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = 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_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + 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 = 12.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 006181AC1BCF578C00B9F155 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = 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_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + 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 = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 006181AE1BCF578C00B9F155 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AEFE9A493C37BD335B5C2535 /* Pods-TestWaxPod.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + INFOPLIST_FILE = TestWaxPod/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.jz.test.TestWaxPod; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 006181AF1BCF578C00B9F155 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 549FA3A209E43774AAC3B6B8 /* Pods-TestWaxPod.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + INFOPLIST_FILE = TestWaxPod/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.jz.test.TestWaxPod; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 006181911BCF578C00B9F155 /* Build configuration list for PBXProject "TestWaxPod" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 006181AB1BCF578C00B9F155 /* Debug */, + 006181AC1BCF578C00B9F155 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 006181AD1BCF578C00B9F155 /* Build configuration list for PBXNativeTarget "TestWaxPod" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 006181AE1BCF578C00B9F155 /* Debug */, + 006181AF1BCF578C00B9F155 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 0061818E1BCF578C00B9F155 /* Project object */; +} diff --git a/examples/InstallationExample/InstallWithCocoaPods/TestWaxPod.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/examples/InstallationExample/InstallWithCocoaPods/TestWaxPod.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/examples/InstallationExample/InstallWithCocoaPods/TestWaxPod.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/examples/InstallationExample/InstallWithCocoaPods/TestWaxPod.xcodeproj/xcshareddata/xcschemes/TestWaxPod.xcscheme b/examples/InstallationExample/InstallWithCocoaPods/TestWaxPod.xcodeproj/xcshareddata/xcschemes/TestWaxPod.xcscheme index e8c4a7f7..8ae655a1 100644 --- a/examples/InstallationExample/InstallWithCocoaPods/TestWaxPod.xcodeproj/xcshareddata/xcschemes/TestWaxPod.xcscheme +++ b/examples/InstallationExample/InstallWithCocoaPods/TestWaxPod.xcodeproj/xcshareddata/xcschemes/TestWaxPod.xcscheme @@ -1,6 +1,6 @@ - - - - + + - - + + + + + + diff --git a/examples/InstallationExample/InstallWithSource/InstallWithSource.xcodeproj/project.pbxproj b/examples/InstallationExample/InstallWithSource/InstallWithSource.xcodeproj/project.pbxproj index 10e855fb..4108b069 100644 --- a/examples/InstallationExample/InstallWithSource/InstallWithSource.xcodeproj/project.pbxproj +++ b/examples/InstallationExample/InstallWithSource/InstallWithSource.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -243,6 +243,7 @@ 00F09A9E1BEB2917006DCE1C /* wax_sqlite_operation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wax_sqlite_operation.h; sourceTree = ""; }; 00F09A9F1BEB2917006DCE1C /* wax_sqlite_operation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = wax_sqlite_operation.m; sourceTree = ""; }; 00F09AA21BEB2966006DCE1C /* libsqlite3.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.tbd; path = usr/lib/libsqlite3.tbd; sourceTree = SDKROOT; }; + 055D801E2E5DE1970001F544 /* wax_luau.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wax_luau.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -313,6 +314,7 @@ 00F099561BEB248E006DCE1C /* lib */ = { isa = PBXGroup; children = ( + 055D801E2E5DE1970001F544 /* wax_luau.h */, 00F099571BEB248E006DCE1C /* adaptation */, 00F0996B1BEB248E006DCE1C /* extensions */, 00F099C01BEB248E006DCE1C /* lua */, @@ -619,7 +621,8 @@ 00F099341BEB242F006DCE1C /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0700; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1640; ORGANIZATIONNAME = test.jz.com; TargetAttributes = { 00F0993B1BEB242F006DCE1C = { @@ -629,7 +632,7 @@ }; buildConfigurationList = 00F099371BEB242F006DCE1C /* Build configuration list for PBXProject "InstallWithSource" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, @@ -768,17 +771,29 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = 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_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -800,7 +815,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -811,17 +826,29 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = 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_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -837,7 +864,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; @@ -850,7 +877,11 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; HEADER_SEARCH_PATHS = "${SDKROOT}/usr/include/libxml2"; INFOPLIST_FILE = InstallWithSource/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.jz.test.InstallWithSource; PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -862,7 +893,11 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; HEADER_SEARCH_PATHS = "${SDKROOT}/usr/include/libxml2"; INFOPLIST_FILE = InstallWithSource/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.jz.test.InstallWithSource; PRODUCT_NAME = "$(TARGET_NAME)"; }; diff --git a/examples/InstallationExample/InstallWithSource/InstallWithSource.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/examples/InstallationExample/InstallWithSource/InstallWithSource.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/examples/InstallationExample/InstallWithSource/InstallWithSource.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/examples/InstallationExample/InstallWithSource/InstallWithSource.xcodeproj/xcshareddata/xcschemes/InstallWithSource.xcscheme b/examples/InstallationExample/InstallWithSource/InstallWithSource.xcodeproj/xcshareddata/xcschemes/InstallWithSource.xcscheme index dc986572..f294dcdb 100644 --- a/examples/InstallationExample/InstallWithSource/InstallWithSource.xcodeproj/xcshareddata/xcschemes/InstallWithSource.xcscheme +++ b/examples/InstallationExample/InstallWithSource/InstallWithSource.xcodeproj/xcshareddata/xcschemes/InstallWithSource.xcscheme @@ -1,6 +1,6 @@ - - - - + + - - - + + + - + + + - + - + - + + diff --git a/examples/InstallationExample/InstallWithStaticFramework/InstallWithStaticFramework.xcodeproj/project.pbxproj b/examples/InstallationExample/InstallWithStaticFramework/InstallWithStaticFramework.xcodeproj/project.pbxproj index 708c3c61..4da60068 100644 --- a/examples/InstallationExample/InstallWithStaticFramework/InstallWithStaticFramework.xcodeproj/project.pbxproj +++ b/examples/InstallationExample/InstallWithStaticFramework/InstallWithStaticFramework.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -13,7 +13,7 @@ 00F09ACE1BEB348B006DCE1C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 00F09ACC1BEB348B006DCE1C /* Main.storyboard */; }; 00F09AD01BEB348B006DCE1C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 00F09ACF1BEB348B006DCE1C /* Assets.xcassets */; }; 00F09AD31BEB348B006DCE1C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 00F09AD11BEB348B006DCE1C /* LaunchScreen.storyboard */; }; - 00F09ADB1BEB349D006DCE1C /* wax.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00F09ADA1BEB349D006DCE1C /* wax.framework */; settings = {ASSET_TAGS = (); }; }; + 05F77B342E58E1C8008489CF /* wax.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05F77B332E58E1C8008489CF /* wax.xcframework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -27,7 +27,7 @@ 00F09ACF1BEB348B006DCE1C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 00F09AD21BEB348B006DCE1C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 00F09AD41BEB348B006DCE1C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 00F09ADA1BEB349D006DCE1C /* wax.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = wax.framework; path = ../../../../framework/wax.framework; sourceTree = ""; }; + 05F77B332E58E1C8008489CF /* wax.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = wax.xcframework; path = /Users/troy/depot/wax/BhGideros/wax/framework/wax.xcframework; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -35,7 +35,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 00F09ADB1BEB349D006DCE1C /* wax.framework in Frameworks */, + 05F77B342E58E1C8008489CF /* wax.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -61,7 +61,6 @@ 00F09AC21BEB348B006DCE1C /* InstallWithStaticFramework */ = { isa = PBXGroup; children = ( - 00F09ADA1BEB349D006DCE1C /* wax.framework */, 00F09AC61BEB348B006DCE1C /* AppDelegate.h */, 00F09AC71BEB348B006DCE1C /* AppDelegate.m */, 00F09AC91BEB348B006DCE1C /* ViewController.h */, @@ -71,6 +70,7 @@ 00F09AD11BEB348B006DCE1C /* LaunchScreen.storyboard */, 00F09AD41BEB348B006DCE1C /* Info.plist */, 00F09AC31BEB348B006DCE1C /* Supporting Files */, + 05F77B332E58E1C8008489CF /* wax.xcframework */, ); path = InstallWithStaticFramework; sourceTree = ""; @@ -109,7 +109,8 @@ 00F09AB81BEB348B006DCE1C /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0700; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1640; ORGANIZATIONNAME = test.jz.com; TargetAttributes = { 00F09ABF1BEB348B006DCE1C = { @@ -119,7 +120,7 @@ }; buildConfigurationList = 00F09ABB1BEB348B006DCE1C /* Build configuration list for PBXProject "InstallWithStaticFramework" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, @@ -185,17 +186,29 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = 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_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -217,7 +230,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -228,17 +241,29 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = 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_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -254,7 +279,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; @@ -267,7 +292,11 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; FRAMEWORK_SEARCH_PATHS = "${SRCROOT}/../../../framework"; INFOPLIST_FILE = InstallWithStaticFramework/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.jz.test.InstallWithStaticFramework; PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -279,7 +308,11 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; FRAMEWORK_SEARCH_PATHS = "${SRCROOT}/../../../framework"; INFOPLIST_FILE = InstallWithStaticFramework/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.jz.test.InstallWithStaticFramework; PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -304,6 +337,7 @@ 00F09AD91BEB348B006DCE1C /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; diff --git a/examples/InstallationExample/InstallWithStaticFramework/InstallWithStaticFramework.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/examples/InstallationExample/InstallWithStaticFramework/InstallWithStaticFramework.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/examples/InstallationExample/InstallWithStaticFramework/InstallWithStaticFramework.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/examples/InstallationExample/InstallWithStaticFramework/InstallWithStaticFramework.xcodeproj/xcshareddata/xcschemes/InstallWithStaticFramework.xcscheme b/examples/InstallationExample/InstallWithStaticFramework/InstallWithStaticFramework.xcodeproj/xcshareddata/xcschemes/InstallWithStaticFramework.xcscheme index 12369d2d..3e25c64a 100644 --- a/examples/InstallationExample/InstallWithStaticFramework/InstallWithStaticFramework.xcodeproj/xcshareddata/xcschemes/InstallWithStaticFramework.xcscheme +++ b/examples/InstallationExample/InstallWithStaticFramework/InstallWithStaticFramework.xcodeproj/xcshareddata/xcschemes/InstallWithStaticFramework.xcscheme @@ -1,6 +1,6 @@ - - - - + + - - - - - - archiveVersion - 1 - classes - - objectVersion - 46 - objects - - 0014A210CB707015D26DECA7 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - name - Pods-LuaCodeDebug.debug.xcconfig - path - Pods/Target Support Files/Pods-LuaCodeDebug/Pods-LuaCodeDebug.debug.xcconfig - sourceTree - <group> - - 006181B01BCF732B00B9F155 - - children - - 006181BB1BCF732B00B9F155 - 006181BA1BCF732B00B9F155 - BEAEC9C815852B58F41A553B - 102C0BBCD3FE1CFDE215942B - - isa - PBXGroup - sourceTree - <group> - - 006181B11BCF732B00B9F155 - - attributes - - LastUpgradeCheck - 0700 - ORGANIZATIONNAME - test.jz.com - TargetAttributes - - 006181B81BCF732B00B9F155 - - CreatedOnToolsVersion - 7.0 - - - - buildConfigurationList - 006181B41BCF732B00B9F155 - compatibilityVersion - Xcode 3.2 - developmentRegion - English - hasScannedForEncodings - 0 - isa - PBXProject - knownRegions - - en - Base - - mainGroup - 006181B01BCF732B00B9F155 - productRefGroup - 006181BA1BCF732B00B9F155 - projectDirPath - - projectReferences - - projectRoot - - targets - - 006181B81BCF732B00B9F155 - - - 006181B41BCF732B00B9F155 - - buildConfigurations - - 006181CE1BCF732B00B9F155 - 006181CF1BCF732B00B9F155 - - defaultConfigurationIsVisible - 0 - defaultConfigurationName - Release - isa - XCConfigurationList - - 006181B51BCF732B00B9F155 - - buildActionMask - 2147483647 - files - - 006181D61BCF781300B9F155 - 006181C41BCF732B00B9F155 - 006181C11BCF732B00B9F155 - 006181BE1BCF732B00B9F155 - - isa - PBXSourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 006181B61BCF732B00B9F155 - - buildActionMask - 2147483647 - files - - C2232B22AD724CD9621354B1 - - isa - PBXFrameworksBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 006181B71BCF732B00B9F155 - - buildActionMask - 2147483647 - files - - 006181D91BCF78C900B9F155 - 006181D71BCF781300B9F155 - 006181CC1BCF732B00B9F155 - 006181C91BCF732B00B9F155 - - isa - PBXResourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 006181B81BCF732B00B9F155 - - buildConfigurationList - 006181D01BCF732B00B9F155 - buildPhases - - 8772130340AB3E769C572912 - 006181B51BCF732B00B9F155 - 006181B61BCF732B00B9F155 - 006181B71BCF732B00B9F155 - AF610CB0BA291BB18E9C4956 - 432EE0789EF6D7E1B82CCA93 - 212FC2A33E6B041DFF9BBCBB - - buildRules - - dependencies - - isa - PBXNativeTarget - name - LuaCodeDebug - productName - LuaCodeDebug - productReference - 006181B91BCF732B00B9F155 - productType - com.apple.product-type.application - - 006181B91BCF732B00B9F155 - - explicitFileType - wrapper.application - includeInIndex - 0 - isa - PBXFileReference - path - LuaCodeDebug.app - sourceTree - BUILT_PRODUCTS_DIR - - 006181BA1BCF732B00B9F155 - - children - - 006181B91BCF732B00B9F155 - - isa - PBXGroup - name - Products - sourceTree - <group> - - 006181BB1BCF732B00B9F155 - - children - - 006181BF1BCF732B00B9F155 - 006181C01BCF732B00B9F155 - 006181C21BCF732B00B9F155 - 006181C31BCF732B00B9F155 - 006181D31BCF781300B9F155 - 006181D41BCF781300B9F155 - 006181D81BCF78C900B9F155 - 006181D51BCF781300B9F155 - 006181C81BCF732B00B9F155 - 006181CA1BCF732B00B9F155 - 006181CD1BCF732B00B9F155 - 006181BC1BCF732B00B9F155 - - isa - PBXGroup - path - LuaCodeDebug - sourceTree - <group> - - 006181BC1BCF732B00B9F155 - - children - - 006181BD1BCF732B00B9F155 - - isa - PBXGroup - name - Supporting Files - sourceTree - <group> - - 006181BD1BCF732B00B9F155 - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - main.m - sourceTree - <group> - - 006181BE1BCF732B00B9F155 - - fileRef - 006181BD1BCF732B00B9F155 - isa - PBXBuildFile - - 006181BF1BCF732B00B9F155 - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - AppDelegate.h - sourceTree - <group> - - 006181C01BCF732B00B9F155 - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - AppDelegate.m - sourceTree - <group> - - 006181C11BCF732B00B9F155 - - fileRef - 006181C01BCF732B00B9F155 - isa - PBXBuildFile - - 006181C21BCF732B00B9F155 - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - ViewController.h - sourceTree - <group> - - 006181C31BCF732B00B9F155 - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - ViewController.m - sourceTree - <group> - - 006181C41BCF732B00B9F155 - - fileRef - 006181C31BCF732B00B9F155 - isa - PBXBuildFile - - 006181C81BCF732B00B9F155 - - isa - PBXFileReference - lastKnownFileType - folder.assetcatalog - path - Assets.xcassets - sourceTree - <group> - - 006181C91BCF732B00B9F155 - - fileRef - 006181C81BCF732B00B9F155 - isa - PBXBuildFile - - 006181CA1BCF732B00B9F155 - - children - - 006181CB1BCF732B00B9F155 - - isa - PBXVariantGroup - name - LaunchScreen.storyboard - sourceTree - <group> - - 006181CB1BCF732B00B9F155 - - isa - PBXFileReference - lastKnownFileType - file.storyboard - name - Base - path - Base.lproj/LaunchScreen.storyboard - sourceTree - <group> - - 006181CC1BCF732B00B9F155 - - fileRef - 006181CA1BCF732B00B9F155 - isa - PBXBuildFile - - 006181CD1BCF732B00B9F155 - - isa - PBXFileReference - lastKnownFileType - text.plist.xml - path - Info.plist - sourceTree - <group> - - 006181CE1BCF732B00B9F155 - - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - CLANG_CXX_LANGUAGE_STANDARD - gnu++0x - CLANG_CXX_LIBRARY - libc++ - CLANG_ENABLE_MODULES - YES - CLANG_ENABLE_OBJC_ARC - YES - CLANG_WARN_BOOL_CONVERSION - YES - CLANG_WARN_CONSTANT_CONVERSION - YES - CLANG_WARN_DIRECT_OBJC_ISA_USAGE - YES_ERROR - CLANG_WARN_EMPTY_BODY - YES - CLANG_WARN_ENUM_CONVERSION - YES - CLANG_WARN_INT_CONVERSION - YES - CLANG_WARN_OBJC_ROOT_CLASS - YES_ERROR - CLANG_WARN_UNREACHABLE_CODE - YES - CLANG_WARN__DUPLICATE_METHOD_MATCH - YES - CODE_SIGN_IDENTITY[sdk=iphoneos*] - iPhone Developer - COPY_PHASE_STRIP - NO - DEBUG_INFORMATION_FORMAT - dwarf - ENABLE_STRICT_OBJC_MSGSEND - YES - ENABLE_TESTABILITY - YES - GCC_C_LANGUAGE_STANDARD - gnu99 - 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 - 6.0 - MTL_ENABLE_DEBUG_INFO - YES - ONLY_ACTIVE_ARCH - YES - SDKROOT - iphoneos - - isa - XCBuildConfiguration - name - Debug - - 006181CF1BCF732B00B9F155 - - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - CLANG_CXX_LANGUAGE_STANDARD - gnu++0x - CLANG_CXX_LIBRARY - libc++ - CLANG_ENABLE_MODULES - YES - CLANG_ENABLE_OBJC_ARC - YES - CLANG_WARN_BOOL_CONVERSION - YES - CLANG_WARN_CONSTANT_CONVERSION - YES - CLANG_WARN_DIRECT_OBJC_ISA_USAGE - YES_ERROR - CLANG_WARN_EMPTY_BODY - YES - CLANG_WARN_ENUM_CONVERSION - YES - CLANG_WARN_INT_CONVERSION - YES - CLANG_WARN_OBJC_ROOT_CLASS - YES_ERROR - CLANG_WARN_UNREACHABLE_CODE - YES - CLANG_WARN__DUPLICATE_METHOD_MATCH - YES - CODE_SIGN_IDENTITY[sdk=iphoneos*] - iPhone Developer - COPY_PHASE_STRIP - NO - DEBUG_INFORMATION_FORMAT - dwarf-with-dsym - ENABLE_NS_ASSERTIONS - NO - ENABLE_STRICT_OBJC_MSGSEND - YES - GCC_C_LANGUAGE_STANDARD - gnu99 - 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 - 6.0 - MTL_ENABLE_DEBUG_INFO - NO - SDKROOT - iphoneos - VALIDATE_PRODUCT - YES - - isa - XCBuildConfiguration - name - Release - - 006181D01BCF732B00B9F155 - - buildConfigurations - - 006181D11BCF732B00B9F155 - 006181D21BCF732B00B9F155 - - defaultConfigurationIsVisible - 0 - defaultConfigurationName - Release - isa - XCConfigurationList - - 006181D11BCF732B00B9F155 - - baseConfigurationReference - 0014A210CB707015D26DECA7 - buildSettings - - ASSETCATALOG_COMPILER_APPICON_NAME - AppIcon - INFOPLIST_FILE - LuaCodeDebug/Info.plist - LD_RUNPATH_SEARCH_PATHS - $(inherited) @executable_path/Frameworks - PRODUCT_BUNDLE_IDENTIFIER - com.jz.test.LuaCodeDebug - PRODUCT_NAME - $(TARGET_NAME) - - isa - XCBuildConfiguration - name - Debug - - 006181D21BCF732B00B9F155 - - baseConfigurationReference - 221C6791FF90201671AF2814 - buildSettings - - ASSETCATALOG_COMPILER_APPICON_NAME - AppIcon - INFOPLIST_FILE - LuaCodeDebug/Info.plist - LD_RUNPATH_SEARCH_PATHS - $(inherited) @executable_path/Frameworks - PRODUCT_BUNDLE_IDENTIFIER - com.jz.test.LuaCodeDebug - PRODUCT_NAME - $(TARGET_NAME) - - isa - XCBuildConfiguration - name - Release - - 006181D31BCF781300B9F155 - - fileEncoding - 4 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - TestDebugVC.h - sourceTree - <group> - - 006181D41BCF781300B9F155 - - fileEncoding - 4 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - TestDebugVC.m - sourceTree - <group> - - 006181D51BCF781300B9F155 - - fileEncoding - 4 - isa - PBXFileReference - lastKnownFileType - file.xib - path - TestDebugVC.xib - sourceTree - <group> - - 006181D61BCF781300B9F155 - - fileRef - 006181D41BCF781300B9F155 - isa - PBXBuildFile - settings - - ASSET_TAGS - - - - 006181D71BCF781300B9F155 - - fileRef - 006181D51BCF781300B9F155 - isa - PBXBuildFile - settings - - ASSET_TAGS - - - - 006181D81BCF78C900B9F155 - - fileEncoding - 4 - isa - PBXFileReference - lastKnownFileType - text - path - TestDebugVC.lua - sourceTree - <group> - - 006181D91BCF78C900B9F155 - - fileRef - 006181D81BCF78C900B9F155 - isa - PBXBuildFile - settings - - ASSET_TAGS - - - - 102C0BBCD3FE1CFDE215942B - - children - - D7A83B507F1A5E00CA0518EE - - isa - PBXGroup - name - Frameworks - sourceTree - <group> - - 212FC2A33E6B041DFF9BBCBB - - buildActionMask - 2147483647 - files - - inputPaths - - isa - PBXShellScriptBuildPhase - name - Copy Framework Resources - outputPaths - - runOnlyForDeploymentPostprocessing - 0 - shellPath - /bin/sh - shellScript - bash -l -c "ruby \"${SRCROOT}/Pods/Target Support Files/Pods-LuaCodeDebug/copy-framework-resources.rb\"" - showEnvVarsInLog - 0 - - 221C6791FF90201671AF2814 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - name - Pods-LuaCodeDebug.release.xcconfig - path - Pods/Target Support Files/Pods-LuaCodeDebug/Pods-LuaCodeDebug.release.xcconfig - sourceTree - <group> - - 432EE0789EF6D7E1B82CCA93 - - buildActionMask - 2147483647 - files - - inputPaths - - isa - PBXShellScriptBuildPhase - name - Embed Pods Frameworks - outputPaths - - runOnlyForDeploymentPostprocessing - 0 - shellPath - /bin/sh - shellScript - "${SRCROOT}/Pods/Target Support Files/Pods-LuaCodeDebug/Pods-LuaCodeDebug-frameworks.sh" - - showEnvVarsInLog - 0 - - 8772130340AB3E769C572912 - - buildActionMask - 2147483647 - files - - inputPaths - - isa - PBXShellScriptBuildPhase - name - Check Pods Manifest.lock - outputPaths - - runOnlyForDeploymentPostprocessing - 0 - shellPath - /bin/sh - shellScript - diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null -if [[ $? != 0 ]] ; then - cat << EOM -error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation. -EOM - exit 1 -fi - - showEnvVarsInLog - 0 - - AF610CB0BA291BB18E9C4956 - - buildActionMask - 2147483647 - files - - inputPaths - - isa - PBXShellScriptBuildPhase - name - Copy Pods Resources - outputPaths - - runOnlyForDeploymentPostprocessing - 0 - shellPath - /bin/sh - shellScript - "${SRCROOT}/Pods/Target Support Files/Pods-LuaCodeDebug/Pods-LuaCodeDebug-resources.sh" - - showEnvVarsInLog - 0 - - BEAEC9C815852B58F41A553B - - children - - 0014A210CB707015D26DECA7 - 221C6791FF90201671AF2814 - - isa - PBXGroup - name - Pods - sourceTree - <group> - - C2232B22AD724CD9621354B1 - - fileRef - D7A83B507F1A5E00CA0518EE - isa - PBXBuildFile - - D7A83B507F1A5E00CA0518EE - - explicitFileType - archive.ar - includeInIndex - 0 - isa - PBXFileReference - path - libPods-LuaCodeDebug.a - sourceTree - BUILT_PRODUCTS_DIR - - - rootObject - 006181B11BCF732B00B9F155 - - +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 006181BE1BCF732B00B9F155 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 006181BD1BCF732B00B9F155 /* main.m */; }; + 006181C11BCF732B00B9F155 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 006181C01BCF732B00B9F155 /* AppDelegate.m */; }; + 006181C41BCF732B00B9F155 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 006181C31BCF732B00B9F155 /* ViewController.m */; }; + 006181C91BCF732B00B9F155 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 006181C81BCF732B00B9F155 /* Assets.xcassets */; }; + 006181CC1BCF732B00B9F155 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 006181CA1BCF732B00B9F155 /* LaunchScreen.storyboard */; }; + 006181D61BCF781300B9F155 /* TestDebugVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 006181D41BCF781300B9F155 /* TestDebugVC.m */; }; + 006181D71BCF781300B9F155 /* TestDebugVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 006181D51BCF781300B9F155 /* TestDebugVC.xib */; }; + 006181D91BCF78C900B9F155 /* TestDebugVC.lua in Resources */ = {isa = PBXBuildFile; fileRef = 006181D81BCF78C900B9F155 /* TestDebugVC.lua */; }; + 0526B09C2E57F0E400A0799E /* libmobdebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0526B09B2E57F0E400A0799E /* libmobdebug.a */; }; + 0526B09E2E57F0E400A0799E /* libwax.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0526B09D2E57F0E400A0799E /* libwax.a */; }; + EB6035F59BA7C0970247214E /* libPods-LuaCodeDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D7A83B507F1A5E00CA0518EE /* libPods-LuaCodeDebug.a */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 0014A210CB707015D26DECA7 /* Pods-LuaCodeDebug.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LuaCodeDebug.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LuaCodeDebug/Pods-LuaCodeDebug.debug.xcconfig"; sourceTree = ""; }; + 006181B91BCF732B00B9F155 /* LuaCodeDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LuaCodeDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 006181BD1BCF732B00B9F155 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 006181BF1BCF732B00B9F155 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 006181C01BCF732B00B9F155 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 006181C21BCF732B00B9F155 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + 006181C31BCF732B00B9F155 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + 006181C81BCF732B00B9F155 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 006181CB1BCF732B00B9F155 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 006181CD1BCF732B00B9F155 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 006181D31BCF781300B9F155 /* TestDebugVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestDebugVC.h; sourceTree = ""; }; + 006181D41BCF781300B9F155 /* TestDebugVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestDebugVC.m; sourceTree = ""; }; + 006181D51BCF781300B9F155 /* TestDebugVC.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TestDebugVC.xib; sourceTree = ""; }; + 006181D81BCF78C900B9F155 /* TestDebugVC.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TestDebugVC.lua; sourceTree = ""; }; + 0526B09B2E57F0E400A0799E /* libmobdebug.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libmobdebug.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 0526B09D2E57F0E400A0799E /* libwax.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libwax.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 221C6791FF90201671AF2814 /* Pods-LuaCodeDebug.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LuaCodeDebug.release.xcconfig"; path = "Pods/Target Support Files/Pods-LuaCodeDebug/Pods-LuaCodeDebug.release.xcconfig"; sourceTree = ""; }; + D7A83B507F1A5E00CA0518EE /* libPods-LuaCodeDebug.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-LuaCodeDebug.a"; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 006181B61BCF732B00B9F155 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 0526B09C2E57F0E400A0799E /* libmobdebug.a in Frameworks */, + 0526B09E2E57F0E400A0799E /* libwax.a in Frameworks */, + EB6035F59BA7C0970247214E /* libPods-LuaCodeDebug.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 006181B01BCF732B00B9F155 = { + isa = PBXGroup; + children = ( + 006181BB1BCF732B00B9F155 /* LuaCodeDebug */, + 006181BA1BCF732B00B9F155 /* Products */, + BEAEC9C815852B58F41A553B /* Pods */, + 102C0BBCD3FE1CFDE215942B /* Frameworks */, + ); + sourceTree = ""; + }; + 006181BA1BCF732B00B9F155 /* Products */ = { + isa = PBXGroup; + children = ( + 006181B91BCF732B00B9F155 /* LuaCodeDebug.app */, + ); + name = Products; + sourceTree = ""; + }; + 006181BB1BCF732B00B9F155 /* LuaCodeDebug */ = { + isa = PBXGroup; + children = ( + 006181BF1BCF732B00B9F155 /* AppDelegate.h */, + 006181C01BCF732B00B9F155 /* AppDelegate.m */, + 006181C21BCF732B00B9F155 /* ViewController.h */, + 006181C31BCF732B00B9F155 /* ViewController.m */, + 006181D31BCF781300B9F155 /* TestDebugVC.h */, + 006181D41BCF781300B9F155 /* TestDebugVC.m */, + 006181D81BCF78C900B9F155 /* TestDebugVC.lua */, + 006181D51BCF781300B9F155 /* TestDebugVC.xib */, + 006181C81BCF732B00B9F155 /* Assets.xcassets */, + 006181CA1BCF732B00B9F155 /* LaunchScreen.storyboard */, + 006181CD1BCF732B00B9F155 /* Info.plist */, + 006181BC1BCF732B00B9F155 /* Supporting Files */, + ); + path = LuaCodeDebug; + sourceTree = ""; + }; + 006181BC1BCF732B00B9F155 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 006181BD1BCF732B00B9F155 /* main.m */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 102C0BBCD3FE1CFDE215942B /* Frameworks */ = { + isa = PBXGroup; + children = ( + 0526B09B2E57F0E400A0799E /* libmobdebug.a */, + 0526B09D2E57F0E400A0799E /* libwax.a */, + D7A83B507F1A5E00CA0518EE /* libPods-LuaCodeDebug.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + BEAEC9C815852B58F41A553B /* Pods */ = { + isa = PBXGroup; + children = ( + 0014A210CB707015D26DECA7 /* Pods-LuaCodeDebug.debug.xcconfig */, + 221C6791FF90201671AF2814 /* Pods-LuaCodeDebug.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 006181B81BCF732B00B9F155 /* LuaCodeDebug */ = { + isa = PBXNativeTarget; + buildConfigurationList = 006181D01BCF732B00B9F155 /* Build configuration list for PBXNativeTarget "LuaCodeDebug" */; + buildPhases = ( + AFB0A4324DC50036B4015D7D /* [CP] Check Pods Manifest.lock */, + 8772130340AB3E769C572912 /* Check Pods Manifest.lock */, + 006181B51BCF732B00B9F155 /* Sources */, + 006181B61BCF732B00B9F155 /* Frameworks */, + 006181B71BCF732B00B9F155 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = LuaCodeDebug; + productName = LuaCodeDebug; + productReference = 006181B91BCF732B00B9F155 /* LuaCodeDebug.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 006181B11BCF732B00B9F155 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1640; + ORGANIZATIONNAME = test.jz.com; + TargetAttributes = { + 006181B81BCF732B00B9F155 = { + CreatedOnToolsVersion = 7.0; + }; + }; + }; + buildConfigurationList = 006181B41BCF732B00B9F155 /* Build configuration list for PBXProject "LuaCodeDebug" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + English, + en, + Base, + ); + mainGroup = 006181B01BCF732B00B9F155; + productRefGroup = 006181BA1BCF732B00B9F155 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 006181B81BCF732B00B9F155 /* LuaCodeDebug */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 006181B71BCF732B00B9F155 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 006181D91BCF78C900B9F155 /* TestDebugVC.lua in Resources */, + 006181D71BCF781300B9F155 /* TestDebugVC.xib in Resources */, + 006181CC1BCF732B00B9F155 /* LaunchScreen.storyboard in Resources */, + 006181C91BCF732B00B9F155 /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 8772130340AB3E769C572912 /* Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + showEnvVarsInLog = 0; + }; + AFB0A4324DC50036B4015D7D /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-LuaCodeDebug-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 006181B51BCF732B00B9F155 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 006181D61BCF781300B9F155 /* TestDebugVC.m in Sources */, + 006181C41BCF732B00B9F155 /* ViewController.m in Sources */, + 006181C11BCF732B00B9F155 /* AppDelegate.m in Sources */, + 006181BE1BCF732B00B9F155 /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 006181CA1BCF732B00B9F155 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 006181CB1BCF732B00B9F155 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 006181CE1BCF732B00B9F155 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = 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_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + 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 = 12.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 006181CF1BCF732B00B9F155 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = 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_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + 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 = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 006181D11BCF732B00B9F155 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0014A210CB707015D26DECA7 /* Pods-LuaCodeDebug.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_WARN_STRICT_PROTOTYPES = NO; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + INFOPLIST_FILE = LuaCodeDebug/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.jz.test.LuaCodeDebug; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 006181D21BCF732B00B9F155 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 221C6791FF90201671AF2814 /* Pods-LuaCodeDebug.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_WARN_STRICT_PROTOTYPES = NO; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + INFOPLIST_FILE = LuaCodeDebug/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.jz.test.LuaCodeDebug; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 006181B41BCF732B00B9F155 /* Build configuration list for PBXProject "LuaCodeDebug" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 006181CE1BCF732B00B9F155 /* Debug */, + 006181CF1BCF732B00B9F155 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 006181D01BCF732B00B9F155 /* Build configuration list for PBXNativeTarget "LuaCodeDebug" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 006181D11BCF732B00B9F155 /* Debug */, + 006181D21BCF732B00B9F155 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 006181B11BCF732B00B9F155 /* Project object */; +} diff --git a/examples/LuaCodeDebug/LuaCodeDebug.xcodeproj/xcshareddata/xcschemes/LuaCodeDebug.xcscheme b/examples/LuaCodeDebug/LuaCodeDebug.xcodeproj/xcshareddata/xcschemes/LuaCodeDebug.xcscheme index 4695eb89..c6beea24 100644 --- a/examples/LuaCodeDebug/LuaCodeDebug.xcodeproj/xcshareddata/xcschemes/LuaCodeDebug.xcscheme +++ b/examples/LuaCodeDebug/LuaCodeDebug.xcodeproj/xcshareddata/xcschemes/LuaCodeDebug.xcscheme @@ -1,10 +1,11 @@ + buildImplicitDependencies = "YES" + buildArchitectures = "Automatic"> - - - - + + - - + + + + + + diff --git a/examples/LuaCodeDebug/LuaCodeDebug/Assets.xcassets/AppIcon.appiconset/Contents.json b/examples/LuaCodeDebug/LuaCodeDebug/Assets.xcassets/AppIcon.appiconset/Contents.json index 118c98f7..81213230 100644 --- a/examples/LuaCodeDebug/LuaCodeDebug/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/examples/LuaCodeDebug/LuaCodeDebug/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -2,37 +2,52 @@ "images" : [ { "idiom" : "iphone", - "size" : "29x29", - "scale" : "2x" + "scale" : "2x", + "size" : "20x20" }, { "idiom" : "iphone", - "size" : "29x29", - "scale" : "3x" + "scale" : "3x", + "size" : "20x20" }, { "idiom" : "iphone", - "size" : "40x40", - "scale" : "2x" + "scale" : "2x", + "size" : "29x29" }, { "idiom" : "iphone", - "size" : "40x40", - "scale" : "3x" + "scale" : "3x", + "size" : "29x29" }, { "idiom" : "iphone", - "size" : "60x60", - "scale" : "2x" + "scale" : "2x", + "size" : "40x40" }, { "idiom" : "iphone", - "size" : "60x60", - "scale" : "3x" + "scale" : "3x", + "size" : "40x40" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/examples/LuaCodeDebug/Podfile b/examples/LuaCodeDebug/Podfile index 56fa47fe..18032860 100644 --- a/examples/LuaCodeDebug/Podfile +++ b/examples/LuaCodeDebug/Podfile @@ -2,7 +2,7 @@ platform :ios target 'LuaCodeDebug' do - platform:ios, '6.0' + platform:ios, '15.0' pod 'wax', :path=>'../../' pod 'mobdebug', :path=>'../../tools/mobdebug' -end \ No newline at end of file +end diff --git a/examples/LuaCodeDebug/Podfile.lock b/examples/LuaCodeDebug/Podfile.lock new file mode 100644 index 00000000..fa62f0ad --- /dev/null +++ b/examples/LuaCodeDebug/Podfile.lock @@ -0,0 +1,21 @@ +PODS: + - mobdebug (1.0.0) + - wax (1.2.1) + +DEPENDENCIES: + - mobdebug (from `../../tools/mobdebug`) + - wax (from `../../`) + +EXTERNAL SOURCES: + mobdebug: + :path: "../../tools/mobdebug" + wax: + :path: "../../" + +SPEC CHECKSUMS: + mobdebug: dd9bc38c28d658c6c7ca231ad9c6b4f285c61e01 + wax: 6974bdc27bc201389b967878f541f42e0734f8a4 + +PODFILE CHECKSUM: 1d3c9053a926cb62903fbec20c4d11cd3c96df3a + +COCOAPODS: 1.16.2 diff --git a/examples/MapKitExample/MapKitExample-Info.plist b/examples/MapKitExample/MapKitExample-Info.plist index 9012d8c6..d4e38125 100644 --- a/examples/MapKitExample/MapKitExample-Info.plist +++ b/examples/MapKitExample/MapKitExample-Info.plist @@ -13,7 +13,7 @@ CFBundleIconFile Icon.png CFBundleIdentifier - com.yourcompany.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/examples/MapKitExample/MapKitExample.xcodeproj/project.pbxproj b/examples/MapKitExample/MapKitExample.xcodeproj/project.pbxproj index a20a9955..e1b3c005 100755 --- a/examples/MapKitExample/MapKitExample.xcodeproj/project.pbxproj +++ b/examples/MapKitExample/MapKitExample.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 45; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -246,6 +246,7 @@ 04A6186512CA7AB6004ADB76 /* wax_struct.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = wax_struct.m; sourceTree = ""; }; 04A618B712CA7AC9004ADB76 /* ProtocolLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProtocolLoader.h; sourceTree = ""; }; 04A618D712CA83F0004ADB76 /* libxml2.2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.2.dylib; path = usr/lib/libxml2.2.dylib; sourceTree = SDKROOT; }; + 055D801F2E5DE2D40001F544 /* wax_luau.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = wax_luau.h; path = /Users/troy/depot/wax/BhWax/wax/lib/wax_luau.h; sourceTree = ""; }; 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 1D6058910D05DD3D006BFB54 /* MapKitExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MapKitExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; @@ -353,6 +354,7 @@ 04A617D012CA7AB6004ADB76 /* wax */ = { isa = PBXGroup; children = ( + 055D801F2E5DE2D40001F544 /* wax_luau.h */, 00DAC0CB1AF0AE1200206217 /* adaptation */, 04A617D512CA7AB6004ADB76 /* extensions */, 04A6180612CA7AB6004ADB76 /* lua */, @@ -678,6 +680,8 @@ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1640; }; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "MapKitExample" */; compatibilityVersion = "Xcode 3.1"; @@ -724,7 +728,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/zsh; - shellScript = "\"$PROJECT_DIR/wax/lib/build-scripts/copy-scripts.sh\"\n\n# Note:\n# Make sure \"Show environment variables\" is turned on. It is used to grab then environment variables in the rake tasks."; + shellScript = "\"$PROJECT_DIR/wax/lib/build-scripts/copy-scripts.sh\"\n\n# Note:\n# Make sure \"Show environment variables\" is turned on. It is used to grab then environment variables in the rake tasks.\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -813,14 +817,17 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; COPY_PHASE_STRIP = NO; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = MapKitExample_Prefix.pch; HEADER_SEARCH_PATHS = "$(SDK_ROOT)/usr/include/libxml2"; INFOPLIST_FILE = "MapKitExample-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + PRODUCT_BUNDLE_IDENTIFIER = "com.yourcompany.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = MapKitExample; VALID_ARCHS = "$(ARCHS_STANDARD)"; WAX_COMPILE_SCRIPTS = ""; @@ -832,12 +839,15 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; COPY_PHASE_STRIP = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = MapKitExample_Prefix.pch; HEADER_SEARCH_PATHS = "$(SDK_ROOT)/usr/include/libxml2"; INFOPLIST_FILE = "MapKitExample-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + PRODUCT_BUNDLE_IDENTIFIER = "com.yourcompany.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = MapKitExample; VALIDATE_PRODUCT = YES; VALID_ARCHS = "$(ARCHS_STANDARD)"; @@ -848,13 +858,39 @@ C01FCF4F08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; + 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - PREBINDING = NO; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; }; name = Debug; @@ -862,14 +898,38 @@ C01FCF5008A954540054247B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; + 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; - PREBINDING = NO; SDKROOT = iphoneos; }; name = Release; diff --git a/examples/MapKitExample/MapKitExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/examples/MapKitExample/MapKitExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/examples/MapKitExample/MapKitExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/examples/MapKitExample/MapKitExample.xcodeproj/xcshareddata/xcschemes/MapKitExample.xcscheme b/examples/MapKitExample/MapKitExample.xcodeproj/xcshareddata/xcschemes/MapKitExample.xcscheme new file mode 100644 index 00000000..5ba8a2e0 --- /dev/null +++ b/examples/MapKitExample/MapKitExample.xcodeproj/xcshareddata/xcschemes/MapKitExample.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/States (without wax.framework)/States-Info.plist b/examples/States (without wax.framework)/States-Info.plist index 9012d8c6..d4e38125 100644 --- a/examples/States (without wax.framework)/States-Info.plist +++ b/examples/States (without wax.framework)/States-Info.plist @@ -13,7 +13,7 @@ CFBundleIconFile Icon.png CFBundleIdentifier - com.yourcompany.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/examples/States (without wax.framework)/States.xcodeproj/project.pbxproj b/examples/States (without wax.framework)/States.xcodeproj/project.pbxproj index d292eca2..ced2d83e 100755 --- a/examples/States (without wax.framework)/States.xcodeproj/project.pbxproj +++ b/examples/States (without wax.framework)/States.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 45; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -245,6 +245,7 @@ 04A618B712CA7AC9004ADB76 /* ProtocolLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProtocolLoader.h; sourceTree = ""; }; 04A618D712CA83F0004ADB76 /* libxml2.2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.2.dylib; path = usr/lib/libxml2.2.dylib; sourceTree = SDKROOT; }; 04A618F412CA84FC004ADB76 /* AppDelegate.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = AppDelegate.lua; sourceTree = ""; }; + 055D80202E5DE3370001F544 /* wax_luau.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = wax_luau.h; path = /Users/troy/depot/wax/BhWax/wax/lib/wax_luau.h; sourceTree = ""; }; 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 1D6058910D05DD3D006BFB54 /* States.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = States.app; sourceTree = BUILT_PRODUCTS_DIR; }; 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; @@ -351,7 +352,6 @@ 04A617D012CA7AB6004ADB76 /* wax */ = { isa = PBXGroup; children = ( - 00E9B15E1AEFB173004EDF30 /* wax_define.h */, 00E9B14A1AEFB0C3004EDF30 /* block */, 00E9B1551AEFB0C3004EDF30 /* capi */, 00E9B13F1AEFB0B7004EDF30 /* adaptation */, @@ -362,12 +362,14 @@ 04A6185812CA7AB6004ADB76 /* wax.m */, 04A6185912CA7AB6004ADB76 /* wax_class.h */, 04A6185A12CA7AB6004ADB76 /* wax_class.m */, + 00E9B15E1AEFB173004EDF30 /* wax_define.h */, 04A6185B12CA7AB6004ADB76 /* wax_gc.h */, 04A6185C12CA7AB6004ADB76 /* wax_gc.m */, 04A6185D12CA7AB6004ADB76 /* wax_helpers.h */, 04A6185E12CA7AB6004ADB76 /* wax_helpers.m */, 04A6185F12CA7AB6004ADB76 /* wax_instance.h */, 04A6186012CA7AB6004ADB76 /* wax_instance.m */, + 055D80202E5DE3370001F544 /* wax_luau.h */, 04A6186112CA7AB6004ADB76 /* wax_server.h */, 04A6186212CA7AB6004ADB76 /* wax_server.m */, 04A6186312CA7AB6004ADB76 /* wax_stdlib.h */, @@ -677,16 +679,19 @@ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1640; }; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "States" */; compatibilityVersion = "Xcode 3.1"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 1; knownRegions = ( - English, - Japanese, - French, - German, + Base, + en, + de, + fr, + ja, ); mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */; projectDirPath = ""; @@ -722,7 +727,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/zsh; - shellScript = "\"$PROJECT_DIR/wax/lib/build-scripts/copy-scripts.sh\""; + shellScript = "\"$PROJECT_DIR/wax/lib/build-scripts/copy-scripts.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -812,13 +817,17 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; COPY_PHASE_STRIP = NO; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = States_Prefix.pch; HEADER_SEARCH_PATHS = "$(SDK_ROOT)/usr/include/libxml2"; INFOPLIST_FILE = "States-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + PRODUCT_BUNDLE_IDENTIFIER = "com.yourcompany.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = States; VALID_ARCHS = "$(ARCHS_STANDARD)"; }; @@ -829,11 +838,15 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; COPY_PHASE_STRIP = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = States_Prefix.pch; HEADER_SEARCH_PATHS = "$(SDK_ROOT)/usr/include/libxml2"; INFOPLIST_FILE = "States-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + PRODUCT_BUNDLE_IDENTIFIER = "com.yourcompany.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = States; VALIDATE_PRODUCT = YES; VALID_ARCHS = "$(ARCHS_STANDARD)"; @@ -843,13 +856,39 @@ C01FCF4F08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = NO; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - PREBINDING = NO; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; }; name = Debug; @@ -857,14 +896,38 @@ C01FCF5008A954540054247B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = NO; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; - PREBINDING = NO; SDKROOT = iphoneos; }; name = Release; diff --git a/examples/States (without wax.framework)/States.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/examples/States (without wax.framework)/States.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/examples/States (without wax.framework)/States.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/examples/States/Podfile b/examples/States/Podfile new file mode 100644 index 00000000..fc9e954c --- /dev/null +++ b/examples/States/Podfile @@ -0,0 +1,16 @@ +platform :ios + +target 'States' do + platform:ios, '15.0' + pod 'wax', :path=>'../../' +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + if target.name == 'wax' + target.build_configurations.each do |config| + config.build_settings['CLANG_WARN_STRICT_PROTOTYPES'] = 'NO' + end + end + end +end diff --git a/examples/States/Podfile.lock b/examples/States/Podfile.lock new file mode 100644 index 00000000..d06c5512 --- /dev/null +++ b/examples/States/Podfile.lock @@ -0,0 +1,16 @@ +PODS: + - wax (1.2.1) + +DEPENDENCIES: + - wax (from `../../`) + +EXTERNAL SOURCES: + wax: + :path: "../../" + +SPEC CHECKSUMS: + wax: 6974bdc27bc201389b967878f541f42e0734f8a4 + +PODFILE CHECKSUM: abfb204da46e94ce25b85873fd3e1e3364386061 + +COCOAPODS: 1.16.2 diff --git a/examples/States/States-Info.plist b/examples/States/States-Info.plist index 9195bcac..8cd6b8ca 100644 --- a/examples/States/States-Info.plist +++ b/examples/States/States-Info.plist @@ -11,7 +11,7 @@ CFBundleIconFile CFBundleIdentifier - com.probablyinteractive.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/examples/States/States.xcodeproj/project.pbxproj b/examples/States/States.xcodeproj/project.pbxproj old mode 100755 new mode 100644 index 43d7f3f1..3f923eb2 --- a/examples/States/States.xcodeproj/project.pbxproj +++ b/examples/States/States.xcodeproj/project.pbxproj @@ -3,11 +3,10 @@ archiveVersion = 1; classes = { }; - objectVersion = 45; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ - 00DAC0EB1AF0B36000206217 /* wax.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00DAC0EA1AF0B36000206217 /* wax.framework */; }; 00DAC0ED1AF0B3A000206217 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 00DAC0EC1AF0B3A000206217 /* Default-568h@2x.png */; }; 04A616D912CA6F2F004ADB76 /* AppDelegate.lua in Resources */ = {isa = PBXBuildFile; fileRef = 04A616D412CA6F2F004ADB76 /* AppDelegate.lua */; }; 04A616DA12CA6F2F004ADB76 /* CapitalsTable.lua in Resources */ = {isa = PBXBuildFile; fileRef = 04A616D512CA6F2F004ADB76 /* CapitalsTable.lua */; }; @@ -17,10 +16,10 @@ 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; + 7B4E0B57E20E4B3A7AB03FC9 /* libPods-States.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3775CC869D29DF9FA74BDDF /* libPods-States.a */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 00DAC0EA1AF0B36000206217 /* wax.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = wax.framework; path = ../../framework/wax.framework; sourceTree = ""; }; 00DAC0EC1AF0B3A000206217 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; 04A616D412CA6F2F004ADB76 /* AppDelegate.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = AppDelegate.lua; sourceTree = ""; }; 04A616D512CA6F2F004ADB76 /* CapitalsTable.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CapitalsTable.lua; sourceTree = ""; }; @@ -32,7 +31,10 @@ 288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 32CA4F630368D1EE00C91783 /* States_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = States_Prefix.pch; sourceTree = ""; }; + 64B9F9EE7B403B8E0CA0FAA5 /* Pods-States.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-States.debug.xcconfig"; path = "Target Support Files/Pods-States/Pods-States.debug.xcconfig"; sourceTree = ""; }; + 8A6DC35EB08DCCBA9A7676AB /* Pods-States.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-States.release.xcconfig"; path = "Target Support Files/Pods-States/Pods-States.release.xcconfig"; sourceTree = ""; }; 8D1107310486CEB800E47090 /* States-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "States-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = ""; }; + D3775CC869D29DF9FA74BDDF /* libPods-States.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-States.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -41,9 +43,9 @@ buildActionMask = 2147483647; files = ( 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, - 00DAC0EB1AF0B36000206217 /* wax.framework in Frameworks */, 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */, + 7B4E0B57E20E4B3A7AB03FC9 /* libPods-States.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -78,6 +80,7 @@ 29B97317FDCFA39411CA2CEA /* Resources */, 29B97323FDCFA39411CA2CEA /* Frameworks */, 19C28FACFE9D520D11CA2CBB /* Products */, + CFEB1371C64E7EC51C7FB775 /* Pods */, ); name = CustomTemplate; sourceTree = ""; @@ -103,14 +106,23 @@ 29B97323FDCFA39411CA2CEA /* Frameworks */ = { isa = PBXGroup; children = ( - 00DAC0EA1AF0B36000206217 /* wax.framework */, 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, 1D30AB110D05D00D00671497 /* Foundation.framework */, 288765FC0DF74451002DB57D /* CoreGraphics.framework */, + D3775CC869D29DF9FA74BDDF /* libPods-States.a */, ); name = Frameworks; sourceTree = ""; }; + CFEB1371C64E7EC51C7FB775 /* Pods */ = { + isa = PBXGroup; + children = ( + 64B9F9EE7B403B8E0CA0FAA5 /* Pods-States.debug.xcconfig */, + 8A6DC35EB08DCCBA9A7676AB /* Pods-States.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -118,7 +130,7 @@ isa = PBXNativeTarget; buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "States" */; buildPhases = ( - 04C0B68B12D3A5E90009627D /* Build Framework */, + 46F569F55EC1560C2B50BDF8 /* [CP] Check Pods Manifest.lock */, 1D60588D0D05DD3D006BFB54 /* Resources */, 1D60588E0D05DD3D006BFB54 /* Sources */, 1D60588F0D05DD3D006BFB54 /* Frameworks */, @@ -138,6 +150,8 @@ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1640; }; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "States" */; compatibilityVersion = "Xcode 3.1"; @@ -150,6 +164,7 @@ German, ); mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */; + productRefGroup = 19C28FACFE9D520D11CA2CBB /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( @@ -174,19 +189,26 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 04C0B68B12D3A5E90009627D /* Build Framework */ = { + 46F569F55EC1560C2B50BDF8 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Build Framework"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-States-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/zsh; - shellScript = "# If the framework doesn't exist, build it\nif [ ! -d wax.framework ]; then\n\tcd ../../tools/framework\n\t# This will run rake but also remove the env variables (because those screws up the framework build)\n\tif ! env -i rake package; then \n\t\techo \"error: Failed to build & package wax.framework\"\n\t\techo \"warning: You can try building it yourself. Just shell to WAX_ROOT/tools/framework and type 'rake package'\"\n\tfi\nfi"; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -205,21 +227,23 @@ /* Begin XCBuildConfiguration section */ 1D6058940D05DD3E006BFB54 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 64B9F9EE7B403B8E0CA0FAA5 /* Pods-States.debug.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_STRICT_PROTOTYPES = NO; COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - $PROJECT_DIR, - "/Users/junzhan/Documents/macpro-data/project/OpenSource/wax/framework", - ); + ENABLE_USER_SCRIPT_SANDBOXING = NO; + FRAMEWORK_SEARCH_PATHS = $PROJECT_DIR; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = States_Prefix.pch; INFOPLIST_FILE = "States-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + OTHER_LDFLAGS = "$(inherited)"; + PRODUCT_BUNDLE_IDENTIFIER = "com.probablyinteractive.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = States; VALID_ARCHS = "$(ARCHS_STANDARD)"; }; @@ -227,19 +251,21 @@ }; 1D6058950D05DD3E006BFB54 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 8A6DC35EB08DCCBA9A7676AB /* Pods-States.release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_STRICT_PROTOTYPES = NO; COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - $PROJECT_DIR, - "/Users/junzhan/Documents/macpro-data/project/OpenSource/wax/framework", - ); + ENABLE_USER_SCRIPT_SANDBOXING = NO; + FRAMEWORK_SEARCH_PATHS = $PROJECT_DIR; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = States_Prefix.pch; INFOPLIST_FILE = "States-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + OTHER_LDFLAGS = "$(inherited)"; + PRODUCT_BUNDLE_IDENTIFIER = "com.probablyinteractive.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = States; VALIDATE_PRODUCT = YES; VALID_ARCHS = "$(ARCHS_STANDARD)"; @@ -249,13 +275,39 @@ C01FCF4F08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = NO; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - PREBINDING = NO; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; }; name = Debug; @@ -263,14 +315,38 @@ C01FCF5008A954540054247B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = NO; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; - PREBINDING = NO; SDKROOT = iphoneos; }; name = Release; diff --git a/examples/States/States.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/examples/States/States.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/examples/States/States.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/examples/States/States.xcworkspace/contents.xcworkspacedata b/examples/States/States.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..44a05e26 --- /dev/null +++ b/examples/States/States.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/examples/SwiftExample/Podfile b/examples/SwiftExample/Podfile index 91e06179..4504e4ab 100644 --- a/examples/SwiftExample/Podfile +++ b/examples/SwiftExample/Podfile @@ -1,11 +1,6 @@ -source "git@gitlab.alibaba-inc.com:alipods/specs.git" -source "git@gitlab.alibaba-inc.com:alipods/specs-mirror.git" platform :ios - target 'SwiftExample' do - platform:ios, '7.0' - #pod 'wax', :git=>'https://github.com/alibaba/wax.git', :tag=>'1.1.0' - #pod 'wax', :git=>'git@github.com:alibaba/wax.git', :commit=>'5c762ad' + platform:ios, '15.0' pod 'wax', :path=>'../../' -end \ No newline at end of file +end diff --git a/examples/SwiftExample/Podfile.lock b/examples/SwiftExample/Podfile.lock new file mode 100644 index 00000000..efaf8ec2 --- /dev/null +++ b/examples/SwiftExample/Podfile.lock @@ -0,0 +1,16 @@ +PODS: + - wax (1.2.1) + +DEPENDENCIES: + - wax (from `../../`) + +EXTERNAL SOURCES: + wax: + :path: "../../" + +SPEC CHECKSUMS: + wax: 6974bdc27bc201389b967878f541f42e0734f8a4 + +PODFILE CHECKSUM: 8b4112383cdf00cf362d7726d2e7cd5b71ab4617 + +COCOAPODS: 1.16.2 diff --git a/examples/SwiftExample/README.md b/examples/SwiftExample/README.md new file mode 100644 index 00000000..b5bc3915 --- /dev/null +++ b/examples/SwiftExample/README.md @@ -0,0 +1,2 @@ +This project uses a very old verison of Swift that XCode 16 can no longer upgrade. + diff --git a/examples/SwiftExample/SwiftExample.xcodeproj/project.pbxproj b/examples/SwiftExample/SwiftExample.xcodeproj/project.pbxproj index 55b975af..cb1d202d 100644 --- a/examples/SwiftExample/SwiftExample.xcodeproj/project.pbxproj +++ b/examples/SwiftExample/SwiftExample.xcodeproj/project.pbxproj @@ -128,12 +128,11 @@ isa = PBXNativeTarget; buildConfigurationList = 0024557A1C23F22900E1358B /* Build configuration list for PBXNativeTarget "SwiftExample" */; buildPhases = ( + BF6BF7C2EA4D500C9819E2B7 /* [CP] Check Pods Manifest.lock */, 87B16F80491CD71D1003CFFB /* Check Pods Manifest.lock */, 002455641C23F22800E1358B /* Sources */, 002455651C23F22800E1358B /* Frameworks */, 002455661C23F22800E1358B /* Resources */, - ECA1D8E1A8C6215C9F9DC84C /* Embed Pods Frameworks */, - 158CD43D67D70B382A26E289 /* Copy Pods Resources */, ); buildRules = ( ); @@ -195,21 +194,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 158CD43D67D70B382A26E289 /* Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SwiftExample/Pods-SwiftExample-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; 87B16F80491CD71D1003CFFB /* Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -225,19 +209,26 @@ shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; showEnvVarsInLog = 0; }; - ECA1D8E1A8C6215C9F9DC84C /* Embed Pods Frameworks */ = { + BF6BF7C2EA4D500C9819E2B7 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Embed Pods Frameworks"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-SwiftExample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SwiftExample/Pods-SwiftExample-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ diff --git a/examples/SwiftExample/SwiftExample.xcworkspace/contents.xcworkspacedata b/examples/SwiftExample/SwiftExample.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..238f90ac --- /dev/null +++ b/examples/SwiftExample/SwiftExample.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/examples/TwitterApp/TwitterApp-Info.plist b/examples/TwitterApp/TwitterApp-Info.plist index 9012d8c6..d4e38125 100644 --- a/examples/TwitterApp/TwitterApp-Info.plist +++ b/examples/TwitterApp/TwitterApp-Info.plist @@ -13,7 +13,7 @@ CFBundleIconFile Icon.png CFBundleIdentifier - com.yourcompany.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/examples/TwitterApp/TwitterApp.xcodeproj/project.pbxproj b/examples/TwitterApp/TwitterApp.xcodeproj/project.pbxproj index e478d179..b4b855a8 100755 --- a/examples/TwitterApp/TwitterApp.xcodeproj/project.pbxproj +++ b/examples/TwitterApp/TwitterApp.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 45; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -244,6 +244,7 @@ 04A6186512CA7AB6004ADB76 /* wax_struct.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = wax_struct.m; sourceTree = ""; }; 04A618B712CA7AC9004ADB76 /* ProtocolLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProtocolLoader.h; sourceTree = ""; }; 04A618D712CA83F0004ADB76 /* libxml2.2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.2.dylib; path = usr/lib/libxml2.2.dylib; sourceTree = SDKROOT; }; + 055D80212E5DE4560001F544 /* wax_luau.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = wax_luau.h; path = /Users/troy/depot/wax/BhWax/wax/lib/wax_luau.h; sourceTree = ""; }; 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 1D6058910D05DD3D006BFB54 /* TwitterApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TwitterApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; @@ -377,6 +378,7 @@ 04A6185E12CA7AB6004ADB76 /* wax_helpers.m */, 04A6185F12CA7AB6004ADB76 /* wax_instance.h */, 04A6186012CA7AB6004ADB76 /* wax_instance.m */, + 055D80212E5DE4560001F544 /* wax_luau.h */, 04A6186112CA7AB6004ADB76 /* wax_server.h */, 04A6186212CA7AB6004ADB76 /* wax_server.m */, 04A6186312CA7AB6004ADB76 /* wax_stdlib.h */, @@ -684,16 +686,19 @@ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1640; }; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "TwitterApp" */; compatibilityVersion = "Xcode 3.1"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 1; knownRegions = ( - English, - Japanese, - French, - German, + Base, + en, + fr, + de, + ja, ); mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */; projectDirPath = ""; @@ -717,7 +722,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/zsh; - shellScript = "\"$PROJECT_DIR/wax/lib/build-scripts/copy-scripts.sh\""; + shellScript = "\"$PROJECT_DIR/wax/lib/build-scripts/copy-scripts.sh\"\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -806,6 +811,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; @@ -813,6 +819,8 @@ GCC_PREFIX_HEADER = TwitterApp_Prefix.pch; HEADER_SEARCH_PATHS = "$(SDK_ROOT)/usr/include/libxml2"; INFOPLIST_FILE = "TwitterApp-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + PRODUCT_BUNDLE_IDENTIFIER = "com.yourcompany.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = TwitterApp; VALID_ARCHS = "$(ARCHS_STANDARD)"; }; @@ -823,11 +831,14 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; COPY_PHASE_STRIP = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = TwitterApp_Prefix.pch; HEADER_SEARCH_PATHS = "$(SDK_ROOT)/usr/include/libxml2"; INFOPLIST_FILE = "TwitterApp-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + PRODUCT_BUNDLE_IDENTIFIER = "com.yourcompany.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = TwitterApp; VALIDATE_PRODUCT = YES; VALID_ARCHS = "$(ARCHS_STANDARD)"; @@ -837,13 +848,38 @@ C01FCF4F08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - PREBINDING = NO; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; }; name = Debug; @@ -851,14 +887,37 @@ C01FCF5008A954540054247B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; - PREBINDING = NO; SDKROOT = iphoneos; }; name = Release; diff --git a/examples/TwitterApp/TwitterApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/examples/TwitterApp/TwitterApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/examples/TwitterApp/TwitterApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/examples/TwitterApp/scripts/TwitterTableViewController.lua b/examples/TwitterApp/scripts/TwitterTableViewController.lua index 475ae18f..e7f91761 100644 --- a/examples/TwitterApp/scripts/TwitterTableViewController.lua +++ b/examples/TwitterApp/scripts/TwitterTableViewController.lua @@ -8,7 +8,7 @@ function init(self) end function viewDidLoad(self) - wax.http.request{"http://search.twitter.com/trends.json", callback = function(json, response) + wax.http.request{"https://search.twitter.com/trends.json", callback = function(json, response) if response and response:statusCode() == 200 then self.trends = json["trends"] end @@ -35,4 +35,4 @@ function tableView_cellForRowAtIndexPath(self, tableView, indexPath) cell:textLabel():setText(object["name"]) return cell -end \ No newline at end of file +end diff --git a/examples/WaxWatchExample/WaxWatchExample.xcodeproj/project.pbxproj b/examples/WaxWatchExample/WaxWatchExample.xcodeproj/project.pbxproj index 30e67896..c7760860 100644 --- a/examples/WaxWatchExample/WaxWatchExample.xcodeproj/project.pbxproj +++ b/examples/WaxWatchExample/WaxWatchExample.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -16,7 +16,7 @@ 00A41C3F1BE0A1A000D47270 /* WaxWatchExample WatchKit App.app in Embed Watch Content */ = {isa = PBXBuildFile; fileRef = 00A41C3E1BE0A1A000D47270 /* WaxWatchExample WatchKit App.app */; }; 00A41C451BE0A1A000D47270 /* Interface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 00A41C431BE0A1A000D47270 /* Interface.storyboard */; }; 00A41C471BE0A1A000D47270 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 00A41C461BE0A1A000D47270 /* Assets.xcassets */; }; - 00A41C4E1BE0A1A000D47270 /* WaxWatchExample WatchKit Extension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 00A41C4D1BE0A1A000D47270 /* WaxWatchExample WatchKit Extension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + 00A41C4E1BE0A1A000D47270 /* WaxWatchExample WatchKit Extension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 00A41C4D1BE0A1A000D47270 /* WaxWatchExample WatchKit Extension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 00A41C561BE0A1A000D47270 /* InterfaceController.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41C551BE0A1A000D47270 /* InterfaceController.m */; }; 00A41C591BE0A1A000D47270 /* ExtensionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41C581BE0A1A000D47270 /* ExtensionDelegate.m */; }; 00A41C5C1BE0A1A000D47270 /* NotificationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41C5B1BE0A1A000D47270 /* NotificationController.m */; }; @@ -86,7 +86,8 @@ 00A41E651BE0A60F00D47270 /* wax_instance.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41D7E1BE0A60E00D47270 /* wax_instance.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41E671BE0A60F00D47270 /* wax_server.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41D801BE0A60E00D47270 /* wax_server.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41E691BE0A60F00D47270 /* wax_struct.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41D831BE0A60E00D47270 /* wax_struct.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00C2C0091BF19A2900C592CB /* watch.lua in Resources */ = {isa = PBXBuildFile; fileRef = 00C2C0081BF19A2900C592CB /* watch.lua */; settings = {ASSET_TAGS = (); }; }; + 00C2C0091BF19A2900C592CB /* watch.lua in Resources */ = {isa = PBXBuildFile; fileRef = 00C2C0081BF19A2900C592CB /* watch.lua */; }; + 055D80262E5DE5200001F544 /* wax_memory.m in Sources */ = {isa = PBXBuildFile; fileRef = 055D80242E5DE5200001F544 /* wax_memory.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -107,15 +108,15 @@ /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - 00A41C6B1BE0A1A000D47270 /* Embed App Extensions */ = { + 00A41C6B1BE0A1A000D47270 /* Embed Foundation Extensions */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 13; files = ( - 00A41C4E1BE0A1A000D47270 /* WaxWatchExample WatchKit Extension.appex in Embed App Extensions */, + 00A41C4E1BE0A1A000D47270 /* WaxWatchExample WatchKit Extension.appex in Embed Foundation Extensions */, ); - name = "Embed App Extensions"; + name = "Embed Foundation Extensions"; runOnlyForDeploymentPostprocessing = 0; }; 00A41C6F1BE0A1A000D47270 /* Embed Watch Content */ = { @@ -287,6 +288,9 @@ 00A41D821BE0A60E00D47270 /* wax_struct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wax_struct.h; sourceTree = ""; }; 00A41D831BE0A60E00D47270 /* wax_struct.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = wax_struct.m; sourceTree = ""; }; 00C2C0081BF19A2900C592CB /* watch.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = watch.lua; sourceTree = ""; }; + 055D80222E5DE4950001F544 /* wax_luau.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wax_luau.h; sourceTree = ""; }; + 055D80232E5DE5200001F544 /* wax_memory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wax_memory.h; sourceTree = ""; }; + 055D80242E5DE5200001F544 /* wax_memory.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = wax_memory.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -394,6 +398,7 @@ 00A41CB81BE0A60E00D47270 /* lib */ = { isa = PBXGroup; children = ( + 055D80222E5DE4950001F544 /* wax_luau.h */, 00A41CB91BE0A60E00D47270 /* adaptation */, 00A41CCB1BE0A60E00D47270 /* extensions */, 00A41D201BE0A60E00D47270 /* lua */, @@ -433,6 +438,7 @@ 00A41CCB1BE0A60E00D47270 /* extensions */ = { isa = PBXGroup; children = ( + 055D80252E5DE5200001F544 /* memory */, 00A41CCC1BE0A60E00D47270 /* block */, 00A41CD91BE0A60E00D47270 /* capi */, 00A41CF61BE0A60E00D47270 /* HTTP */, @@ -629,6 +635,15 @@ path = Script; sourceTree = ""; }; + 055D80252E5DE5200001F544 /* memory */ = { + isa = PBXGroup; + children = ( + 055D80232E5DE5200001F544 /* wax_memory.h */, + 055D80242E5DE5200001F544 /* wax_memory.m */, + ); + path = memory; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -656,7 +671,7 @@ buildConfigurationList = 00A41C6C1BE0A1A000D47270 /* Build configuration list for PBXNativeTarget "WaxWatchExample WatchKit App" */; buildPhases = ( 00A41C3C1BE0A1A000D47270 /* Resources */, - 00A41C6B1BE0A1A000D47270 /* Embed App Extensions */, + 00A41C6B1BE0A1A000D47270 /* Embed Foundation Extensions */, ); buildRules = ( ); @@ -691,7 +706,8 @@ 00A41C1F1BE0A1A000D47270 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0700; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1640; ORGANIZATIONNAME = test.jz.com; TargetAttributes = { 00A41C261BE0A1A000D47270 = { @@ -707,7 +723,7 @@ }; buildConfigurationList = 00A41C221BE0A1A000D47270 /* Build configuration list for PBXProject "WaxWatchExample" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, @@ -817,6 +833,7 @@ 00A41DBD1BE0A60E00D47270 /* tolua_event.c in Sources */, 00A41DD31BE0A60E00D47270 /* NSObject+TBIvarAccess.m in Sources */, 00A41DDB1BE0A60E00D47270 /* yajl_alloc.c in Sources */, + 055D80262E5DE5200001F544 /* wax_memory.m in Sources */, 00A41E1F1BE0A60E00D47270 /* ltablib.c in Sources */, 00A41E691BE0A60F00D47270 /* wax_struct.m in Sources */, 00A41DF91BE0A60E00D47270 /* ldebug.c in Sources */, @@ -889,17 +906,29 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = 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_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -907,6 +936,7 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -921,7 +951,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -932,17 +962,29 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = 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_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -950,6 +992,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -958,7 +1001,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; @@ -975,13 +1018,18 @@ "WAX_TARGET_OS_WATCH=1", ); INFOPLIST_FILE = "WaxWatchExample WatchKit Extension/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.jz.test.WaxWatchExample.watchkitapp.watchkitextension; PRODUCT_NAME = "${TARGET_NAME}"; SDKROOT = watchos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; + WATCHOS_DEPLOYMENT_TARGET = 9.6; }; name = Debug; }; @@ -991,13 +1039,18 @@ ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication; GCC_PREPROCESSOR_DEFINITIONS = "WAX_TARGET_OS_WATCH=1"; INFOPLIST_FILE = "WaxWatchExample WatchKit Extension/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.jz.test.WaxWatchExample.watchkitapp.watchkitextension; PRODUCT_NAME = "${TARGET_NAME}"; SDKROOT = watchos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; + WATCHOS_DEPLOYMENT_TARGET = 9.6; }; name = Release; }; @@ -1012,7 +1065,7 @@ SDKROOT = watchos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; + WATCHOS_DEPLOYMENT_TARGET = 9.6; }; name = Debug; }; @@ -1027,7 +1080,7 @@ SDKROOT = watchos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; + WATCHOS_DEPLOYMENT_TARGET = 9.6; }; name = Release; }; @@ -1035,8 +1088,13 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_OBJC_ARC = NO; INFOPLIST_FILE = WaxWatchExample/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.jz.test.WaxWatchExample; PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -1046,8 +1104,13 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_OBJC_ARC = NO; INFOPLIST_FILE = WaxWatchExample/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.jz.test.WaxWatchExample; PRODUCT_NAME = "$(TARGET_NAME)"; }; diff --git a/examples/WaxWatchExample/WaxWatchExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/examples/WaxWatchExample/WaxWatchExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/examples/WaxWatchExample/WaxWatchExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/Complication - WaxWatchExample WatchKit App.xcscheme b/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/Complication - WaxWatchExample WatchKit App.xcscheme index 9e5400a4..be2844a3 100644 --- a/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/Complication - WaxWatchExample WatchKit App.xcscheme +++ b/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/Complication - WaxWatchExample WatchKit App.xcscheme @@ -1,6 +1,6 @@ - - - - + + - - - - - + - - - + - + - - - - - + diff --git a/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/Glance - WaxWatchExample WatchKit App.xcscheme b/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/Glance - WaxWatchExample WatchKit App.xcscheme index f8f5c07e..176f5395 100644 --- a/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/Glance - WaxWatchExample WatchKit App.xcscheme +++ b/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/Glance - WaxWatchExample WatchKit App.xcscheme @@ -1,6 +1,6 @@ - - - - + + - - - - - + - - - + - + - - - - - + diff --git a/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/Notification - WaxWatchExample WatchKit App.xcscheme b/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/Notification - WaxWatchExample WatchKit App.xcscheme index a2ff9250..a8a629e4 100644 --- a/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/Notification - WaxWatchExample WatchKit App.xcscheme +++ b/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/Notification - WaxWatchExample WatchKit App.xcscheme @@ -1,6 +1,6 @@ - - - - + + - - - - - + - - - + - + - - - - - + diff --git a/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/WaxWatchExample WatchKit App.xcscheme b/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/WaxWatchExample WatchKit App.xcscheme index 74a45aa5..1c350286 100644 --- a/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/WaxWatchExample WatchKit App.xcscheme +++ b/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/WaxWatchExample WatchKit App.xcscheme @@ -1,6 +1,6 @@ - - - - + + - - - - - + - - - + - + - - - - - + diff --git a/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/WaxWatchExample.xcscheme b/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/WaxWatchExample.xcscheme index 4e974b07..b85864f3 100644 --- a/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/WaxWatchExample.xcscheme +++ b/examples/WaxWatchExample/WaxWatchExample.xcodeproj/xcshareddata/xcschemes/WaxWatchExample.xcscheme @@ -1,6 +1,6 @@ - - - - + + - - -NSRecursiveLock* wax_globalLock(); +NSRecursiveLock* wax_globalLock(void); diff --git a/lib/adaptation/wax_lock.m b/lib/adaptation/wax_lock.m index 22b6c3e8..7eab8bdf 100644 --- a/lib/adaptation/wax_lock.m +++ b/lib/adaptation/wax_lock.m @@ -9,7 +9,7 @@ #import "wax_lock.h" //#import -NSRecursiveLock* wax_globalLock(){ +NSRecursiveLock* wax_globalLock(void){ static NSRecursiveLock *globalLock = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ diff --git a/lib/build-scripts/copy-scripts.sh b/lib/build-scripts/copy-scripts.sh index 57a2625a..57e53f32 100755 --- a/lib/build-scripts/copy-scripts.sh +++ b/lib/build-scripts/copy-scripts.sh @@ -40,8 +40,13 @@ if [ $WAX_COMPILE_SCRIPTS ]; then mv AppDelegate.dat "$DESTINATION_SCRIPTS_DIR" mv wax.dat "$DESTINATION_SCRIPTS_DIR" else + echo "Copying raw Lua scripts." + echo "Project Directory: $PROJECT_DIR" + echo "Source Scripts Directory: $SOURCE_SCRIPTS_DIR" + echo "Destination Scripts Directory: $DESTINATION_SCRIPTS_DIR" # copy everything in the data dir to the app (doesn't just have to be lua files, can be images, sounds, etc...) if [[ -d "$PROJECT_DIR/wax" ]]; then; + echo "Copying wax stdlib" # If we are using the framework, there is no wax dir cp -r "$PROJECT_DIR/wax/lib/stdlib" "$DESTINATION_SCRIPTS_DIR/wax" fi @@ -55,4 +60,4 @@ touch -t $THE_FUTURE "$BUILT_PRODUCTS_DIR/$CONTENTS_FOLDER_PATH"/*.plist # Note: # It's handy to see the env of the build processes, there is some good stuff in there! -env +# env diff --git a/lib/extensions/SQLite/wax_sqlite.m b/lib/extensions/SQLite/wax_sqlite.m index 0ee483de..627a9ea5 100644 --- a/lib/extensions/SQLite/wax_sqlite.m +++ b/lib/extensions/SQLite/wax_sqlite.m @@ -11,6 +11,7 @@ #import "lua.h" #import "lauxlib.h" +#import "wax_helpers.h" #import "wax_sqlite.h" #import "wax_sqlite_operation.h" #import "wax_instance.h" @@ -18,7 +19,7 @@ static int openDB(lua_State *L); static int closeDB(lua_State *L); static int execute(lua_State *L); - +// TODO: Unused? static int push(lua_State *L); static const struct luaL_Reg metaFunctions[] = { @@ -87,7 +88,7 @@ int execute(lua_State *L) { // if there is a callback, do this in an NSOperation if (hasCalback) { - lua_getfenv(L, -1); // get operations env + wax_getfenv(L, -1); // get operations env lua_pushstring(L, WAX_SQLITE_CALLBACK_NAME); lua_pushvalue(L, 3); // Push the function callback lua_rawset(L, -3); // Associate the operation with the callback @@ -112,4 +113,4 @@ int execute(lua_State *L) { } return 1; -} \ No newline at end of file +} diff --git a/lib/extensions/SQLite/wax_sqlite_operation.m b/lib/extensions/SQLite/wax_sqlite_operation.m index 4e6a20cb..67ff6ed1 100644 --- a/lib/extensions/SQLite/wax_sqlite_operation.m +++ b/lib/extensions/SQLite/wax_sqlite_operation.m @@ -33,7 +33,7 @@ + (NSOperationQueue *)operationQueue { // I want to just create a subthread, but can't because of the way I hacked the Lua GC + (lua_State *)operationLuaState { static lua_State *L; - if (!L) L = lua_open(); + if (!L) L = luaL_newstate(); return L; } @@ -146,7 +146,7 @@ - (void)operationComplete { // If a callback exists, call it! wax_instance_pushUserdata(L, self); - lua_getfenv(L, -1); // get env + wax_getfenv(L, -1); // get env lua_getfield(L, -1, WAX_SQLITE_CALLBACK_NAME); bool hasCallback = !lua_isnil(L, -1); @@ -167,4 +167,4 @@ - (void)error:(NSString *)string { luaL_error(_mainthread, [string UTF8String]); } -@end \ No newline at end of file +@end diff --git a/lib/extensions/block/wax_block_call.m b/lib/extensions/block/wax_block_call.m index 9bfa289c..3f60eff9 100644 --- a/lib/extensions/block/wax_block_call.m +++ b/lib/extensions/block/wax_block_call.m @@ -20,7 +20,7 @@ char tempTypeEncoding[3] = {0};//at least 3 byte, or wax_simplifyTypeDescription maybe out of bounds tempTypeEncoding[0] = typeEncoding; void *returnBuffer = wax_copyToObjc(L, tempTypeEncoding, index, nil); - // free(returnBuffer);//Release will cause loss of data. TODO + // free(returnBuffer);//TODO: Release will cause loss of data. return returnBuffer; } diff --git a/lib/extensions/block/wax_block_call_pool.h b/lib/extensions/block/wax_block_call_pool.h index a3740c13..9b5a1760 100644 --- a/lib/extensions/block/wax_block_call_pool.h +++ b/lib/extensions/block/wax_block_call_pool.h @@ -11,4 +11,4 @@ #import extern void *lua_call_bb(lua_State *L, int index, char typeEncoding); -NSDictionary *wax_block_call_pool(); +NSDictionary *wax_block_call_pool(void); diff --git a/lib/extensions/block/wax_block_call_pool.m b/lib/extensions/block/wax_block_call_pool.m index 33c1c461..ed1cafd0 100644 --- a/lib/extensions/block/wax_block_call_pool.m +++ b/lib/extensions/block/wax_block_call_pool.m @@ -8,7 +8,7 @@ static void* lua_call_ib0(lua_State *L, id block, int st, const char *te){ - int (^y)() = block; + int (^y)(void) = block; int res = y(); REURN_BUFFER(int) } @@ -1713,7 +1713,7 @@ REURN_BUFFER(int) } static void* lua_call_qb0(lua_State *L, id block, int st, const char *te){ - LongLong (^y)() = block; + LongLong (^y)(void) = block; LongLong res = y(); REURN_BUFFER(LongLong) } @@ -3418,7 +3418,7 @@ REURN_BUFFER(LongLong) } static void* lua_call_fb0(lua_State *L, id block, int st, const char *te){ - float (^y)() = block; + float (^y)(void) = block; float res = y(); REURN_BUFFER(float) } @@ -5123,7 +5123,7 @@ REURN_BUFFER(float) } static void* lua_call_db0(lua_State *L, id block, int st, const char *te){ - double (^y)() = block; + double (^y)(void) = block; double res = y(); REURN_BUFFER(double) } @@ -6829,7 +6829,7 @@ } //total:1364 -NSDictionary *wax_block_call_pool(){ +NSDictionary *wax_block_call_pool(void){ static NSDictionary *dict = nil; if(!dict){ dict = @{ diff --git a/lib/extensions/block/wax_block_transfer.h b/lib/extensions/block/wax_block_transfer.h index 74a85beb..13c7b904 100644 --- a/lib/extensions/block/wax_block_transfer.h +++ b/lib/extensions/block/wax_block_transfer.h @@ -12,7 +12,7 @@ /** * return value and param are all void */ --(void (^)())luaVoidBlock; +-(void (^)(void))luaVoidBlock; /** diff --git a/lib/extensions/block/wax_block_transfer.m b/lib/extensions/block/wax_block_transfer.m index 7f0be132..4ca7cb05 100644 --- a/lib/extensions/block/wax_block_transfer.m +++ b/lib/extensions/block/wax_block_transfer.m @@ -15,7 +15,7 @@ #import "wax_block.h" #import "wax_block_transfer_pool.h" #import "wax_define.h" -extern lua_State *wax_currentLuaState(); +extern lua_State *wax_currentLuaState(void); #define LUA_BLOCK_CALL_ARM32_RETURN_BUFFER(paramsTypeEncoding, type, q) \ va_list args_copy;\ @@ -39,7 +39,7 @@ - (void)dealloc{ #pragma mark return void & param void //all void --(void (^)())luaVoidBlock {//blockzh +-(void (^)(void))luaVoidBlock {//blockzh return [[^() { [wax_globalLock() lock]; lua_State *L = wax_currentLuaState(); @@ -51,7 +51,7 @@ - (void)dealloc{ #pragma mark return any & param void --(LongLong (^)())luaBlockReturnLongLongWithVoidParam:(NSString *)paramsTypeEncoding { +-(LongLong (^)(void))luaBlockReturnLongLongWithVoidParam:(NSString *)paramsTypeEncoding { return [[^() { [wax_globalLock() lock]; lua_State *L = wax_currentLuaState(); @@ -97,7 +97,7 @@ - (void)dealloc{ } copy] autorelease]; } --(float (^)())luaBlockReturnFloatWithVoidParam:(NSString *)paramsTypeEncoding { +-(float (^)(void))luaBlockReturnFloatWithVoidParam:(NSString *)paramsTypeEncoding { return [[^() { [wax_globalLock() lock]; lua_State *L = wax_currentLuaState(); @@ -122,7 +122,7 @@ - (void)dealloc{ } copy] autorelease]; } --(double (^)())luaBlockReturnDoubleWithVoidParam:(NSString *)paramsTypeEncoding { +-(double (^)(void))luaBlockReturnDoubleWithVoidParam:(NSString *)paramsTypeEncoding { return [[^() { [wax_globalLock() lock]; lua_State *L = wax_currentLuaState(); diff --git a/lib/extensions/block/wax_block_transfer_pool.h b/lib/extensions/block/wax_block_transfer_pool.h index 980a3f41..93cf4a2b 100644 --- a/lib/extensions/block/wax_block_transfer_pool.h +++ b/lib/extensions/block/wax_block_transfer_pool.h @@ -9,4 +9,4 @@ #import extern void* luaBlockARM64ReturnBufferWithParamsTypeEncoding(NSString *paramsTypeEncoding, id self, ...); -NSDictionary *wax_block_transfer_pool(); \ No newline at end of file +NSDictionary *wax_block_transfer_pool(void); diff --git a/lib/extensions/block/wax_block_transfer_pool.m b/lib/extensions/block/wax_block_transfer_pool.m index cf9c396d..3cb7033d 100644 --- a/lib/extensions/block/wax_block_transfer_pool.m +++ b/lib/extensions/block/wax_block_transfer_pool.m @@ -5105,7 +5105,7 @@ static id lua_double_block_7ddddddd(NSString *paramsTypeEncoding,id self){ } //total:510 -NSDictionary *wax_block_transfer_pool(){ +NSDictionary *wax_block_transfer_pool(void){ static NSDictionary *dict = nil; if(!dict){ dict = @{ @"q":[NSValue valueWithPointer:lua_LongLong_block_0], @"qq":[NSValue valueWithPointer:lua_LongLong_block_1q], @@ -5369,4 +5369,4 @@ static id lua_double_block_7ddddddd(NSString *paramsTypeEncoding,id self){ return dict; } -#endif \ No newline at end of file +#endif diff --git a/lib/extensions/capi/tolua++/tolua++.h b/lib/extensions/capi/tolua++/tolua++.h index ed534492..eca1749e 100644 --- a/lib/extensions/capi/tolua++/tolua++.h +++ b/lib/extensions/capi/tolua++/tolua++.h @@ -44,7 +44,8 @@ extern "C" { typedef int lua_Object; #include "lua.h" -#include "lauxlib.h" + +#include "wax_luau.h" struct tolua_Error { diff --git a/lib/extensions/capi/tolua++/tolua_map.c b/lib/extensions/capi/tolua++/tolua_map.c index 23418bc1..aeb18a3e 100644 --- a/lib/extensions/capi/tolua++/tolua_map.c +++ b/lib/extensions/capi/tolua++/tolua_map.c @@ -161,7 +161,7 @@ static int tolua_bnd_takeownership (lua_State* L) { lua_pop(L,1); /* clear metatable off stack */ /* force garbage collection to avoid C to reuse a to-be-collected address */ - #ifdef LUA_VERSION_NUM + #if defined(LUA_VERSION_NUM) || defined(LUA_IS_LUAU) lua_gc(L, LUA_GCCOLLECT, 0); #else lua_setgcthreshold(L,0); @@ -183,7 +183,7 @@ static int tolua_bnd_releaseownership (lua_State* L) { void* u = *((void**)lua_touserdata(L,1)); /* force garbage collection to avoid releasing a to-be-collected address */ - #ifdef LUA_VERSION_NUM + #if defined(LUA_VERSION_NUM) || defined(LUA_IS_LUAU) lua_gc(L, LUA_GCCOLLECT, 0); #else lua_setgcthreshold(L,0); @@ -695,7 +695,7 @@ TOLUA_API void tolua_array (lua_State* L, const char* name, lua_CFunction get, l TOLUA_API void tolua_dobuffer(lua_State* L, char* B, unsigned int size, const char* name) { - #ifdef LUA_VERSION_NUM /* lua 5.1 */ +#if defined(LUA_VERSION_NUM) || defined(LUA_IS_LUAU) luaL_loadbuffer(L, B, size, name) || lua_pcall(L, 0, 0, 0); #else lua_dobuffer(L, B, size, name); diff --git a/lib/extensions/memory/wax_memory.m b/lib/extensions/memory/wax_memory.m index d754d988..662bf673 100644 --- a/lib/extensions/memory/wax_memory.m +++ b/lib/extensions/memory/wax_memory.m @@ -14,13 +14,12 @@ #import "wax_helpers.h" #import "wax_gc.h" #import "wax_server.h" -#import "wax_stdlib.h" #import "lauxlib.h" -#import "lobject.h" #import "lualib.h" #import "wax_define.h" -//#import + +#import "wax_luau.h" //x = &y. get address of object. static int waxGetAddress(lua_State *L) { @@ -76,4 +75,4 @@ int luaopen_wax_memory(lua_State *L){ lua_setglobal(L, "waxGetInstancePointer"); return 1; -} \ No newline at end of file +} diff --git a/lib/extensions/xml/wax_xml.h b/lib/extensions/xml/wax_xml.h index 94e1f3e3..67350e83 100644 --- a/lib/extensions/xml/wax_xml.h +++ b/lib/extensions/xml/wax_xml.h @@ -1,5 +1,5 @@ #ifndef wax_xml -#define wax_xml_h +#define wax_xml #import "lua.h" @@ -9,4 +9,4 @@ int luaopen_wax_xml(lua_State *L); void wax_xml_parseString(lua_State *L, const char *input); -#endif \ No newline at end of file +#endif diff --git a/lib/lua/loslib.c b/lib/lua/loslib.c index 98230322..0586d527 100644 --- a/lib/lua/loslib.c +++ b/lib/lua/loslib.c @@ -36,13 +36,14 @@ static int os_pushresult (lua_State *L, int i, const char *filename) { static int os_execute (lua_State *L) { -#ifndef WAX_TARGET_OS_WATCH +#if !defined(WAX_TARGET_OS_WATCH) && !defined(TARGET_IPHONE_SIMULATOR) && !defined(TARGET_OS_IPHONE) lua_pushinteger(L, system(luaL_optstring(L, 1, NULL))); -#endif return 1; +#else + return 0; +#endif } - static int os_remove (lua_State *L) { const char *filename = luaL_checkstring(L, 1); return os_pushresult(L, remove(filename) == 0, filename); diff --git a/lib/lua/luaconf.h b/lib/lua/luaconf.h index 659d94c4..08c91e67 100644 --- a/lib/lua/luaconf.h +++ b/lib/lua/luaconf.h @@ -82,6 +82,8 @@ */ // BEGIN WAX PATCH +// Wax is opinionated about from where it loads scripts. +// Overriding here ensures both wax and lua use the same path. #ifndef WAX_SCRIPTS_DIR #define WAX_SCRIPTS_DIR "scripts" #endif diff --git a/lib/project.rake b/lib/project.rake index 41f270f0..dfc0af43 100644 --- a/lib/project.rake +++ b/lib/project.rake @@ -1,50 +1,6 @@ -TEXTMATE_FILE="TEXTMATE" WAX_PATH = File.expand_path("wax") WAX_PATH = File.expand_path("wax.framework/Resources") if not File.exists?(WAX_PATH) -desc "Create a Wax TextMate project" -task :tm => "TEXTMATE" do - sh "mate #{TEXTMATE_FILE} ./scripts ./wax/lib/stdlib" - sh "mate #{TEXTMATE_FILE}" -end - -namespace :tm do - desc "Install textmate lua & wax bundles" - task :install_bundles do - sh "mkdir -p ~/Library/Application\\ Support/TextMate/Bundles/" - - lua_bundle_dir = "~/Library/Application\\ Support/TextMate/Bundles/Lua.tmbundle" - if not sh("test -e #{lua_bundle_dir}") {|ok, status| ok} # This is bad code... - sh "curl -L http://github.com/textmate/lua.tmbundle/tarball/master | tar xvz" - sh "mv textmate-lua.tmbundle* #{lua_bundle_dir}" - end - - wax_bundle_dir = "~/Library/Application\\ Support/TextMate/Bundles/Wax.tmbundle" - if not sh("test -e #{wax_bundle_dir}") {|ok, status| ok} - sh "curl -L http://github.com/probablycorey/Wax.tmbundle/tarball/master | tar xvz" - sh "mv probablycorey-[Ww]ax.tmbundle* #{wax_bundle_dir}" - end - end - - file TEXTMATE_FILE do |t| - open(t.name, "w") do |file| - file.write <<-TEXTMATE_HELP -Some tips to make life easier - -1) Install the Lua and Wax TextMate Bundles. - a) Either type "rake tm:install_bundles" - - Or, you can manually install the bundles from - http://github.com/textmate/lua.tmbundle and - http://github.com/probablycorey/Wax.tmbundle - into ~/Library/Application\ Support/TextMate/Bundles - - b) From TextMate click Bundles > Bundle Editor > Reload Bundles - - TEXTMATE_HELP - end - end -end desc "Update the wax lib with the lastest code" task :update do diff --git a/lib/stdlib/enums.lua b/lib/stdlib/enums.lua index 9d22d337..11ba2308 100644 --- a/lib/stdlib/enums.lua +++ b/lib/stdlib/enums.lua @@ -245,6 +245,7 @@ UIRemoteNotificationTypeNone = 0 UIRemoteNotificationTypeBadge = math.pow(2, 0) UIRemoteNotificationTypeSound = math.pow(2, 1) UIRemoteNotificationTypeAlert = math.pow(2, 2) +UIRemoteNotificationTypeNewsstandContentAvailability = math.pow(2, 3) -- NSURLCredentialPersistence; NSURLCredentialPersistenceNone = 0 @@ -351,6 +352,27 @@ GKSessionModePeer = 2 GKSendDataReliable = 0 -- a.s.a.p. but requires fragmentation and reassembly for large messages, may stall if network congestion occurs GKSendDataUnreliable = 1 -- best effort and immediate, but no guarantees of delivery or order; will not stall. +-- GKTurnBasedParticipantStatus +GKTurnBasedParticipantStatusUnknown = 0 +GKTurnBasedParticipantStatusInvited = 1 +GKTurnBasedParticipantStatusDeclined = 2 +GKTurnBasedParticipantStatusMatching = 3 +GKTurnBasedParticipantStatusActive = 4 +GKTurnBasedParticipantStatusDone = 5 + +-- GKTurnBasedMatchOutcome +GKTurnBasedMatchOutcomeNone = 0 +GKTurnBasedMatchOutcomeQuit = 1 +GKTurnBasedMatchOutcomeWon = 2 +GKTurnBasedMatchOutcomeLost = 3 +GKTurnBasedMatchOutcomeTied = 4 +GKTurnBasedMatchOutcomeTimeExpired = 5 +GKTurnBasedMatchOutcomeFirst = 6 +GKTurnBasedMatchOutcomeSecond = 7 +GKTurnBasedMatchOutcomeThird = 8 +GKTurnBasedMatchOutcomeFourth = 9 +GKTurnBasedMatchOutcomeCustomRange = 0x00FF0000 + -- UIImagePickerControllerSourceType UIImagePickerControllerSourceTypePhotoLibrary = 0 UIImagePickerControllerSourceTypeCamera = 1 @@ -394,3 +416,7 @@ UIControlContentVerticalAlignmentFill = 3 UIEventTypeTouches = 0 UIEventTypeMotion = 1 UIEventTypeRemoteControl = 2 + +-- EAGL +kEAGLRenderingAPIOpenGLES1 = 1 +kEAGLRenderingAPIOpenGLES2 = 2 diff --git a/lib/stdlib/helpers/base64.lua b/lib/stdlib/helpers/base64.lua index 48db9b8a..e78eae8d 100644 --- a/lib/stdlib/helpers/base64.lua +++ b/lib/stdlib/helpers/base64.lua @@ -2,7 +2,10 @@ -- compatible with lua 5.1 -- http://www.it-rfc.de -module("wax.base64", package.seeall) +local base64 = {} +wax.base64 = base64 + +--module("wax.base64", package.seeall) -- bitshift functions (<<, >> equivalent) -- shift left @@ -32,7 +35,7 @@ local base64chars = {[0]='A',[1]='B',[2]='C',[3]='D',[4]='E',[5]='F',[6]='G',[7] -- function encode -- encodes input string to base64. -function encode(data) +function wax.base64.encode(data) local bytes = {} local result = "" for spos=0,string.len(data)-1,3 do @@ -51,7 +54,7 @@ local base64bytes = {['A']=0,['B']=1,['C']=2,['D']=3,['E']=4,['F']=5,['G']=6,['H -- function decode -- decode base64 input to string -function decode(data) +function wax.base64.decode(data) local chars = {} local result="" for dpos=0,string.len(data)-1,4 do @@ -62,3 +65,5 @@ function decode(data) end return result end + +return base64 \ No newline at end of file diff --git a/lib/stdlib/helpers/init.lua b/lib/stdlib/helpers/init.lua index 29b33de2..051dd1c7 100644 --- a/lib/stdlib/helpers/init.lua +++ b/lib/stdlib/helpers/init.lua @@ -5,8 +5,8 @@ require "wax.helpers.base64" require "wax.helpers.time" require "wax.helpers.cache" require "wax.helpers.autoload" -require "wax.helpers.WaxServer" -require "wax.helpers.pickView" +-- require "wax.helpers.WaxServer" +-- require "wax.helpers.pickView" -- Just a bunch of global helper functions diff --git a/lib/stdlib/init.lua b/lib/stdlib/init.lua index 6489f3a3..6e0b851d 100644 --- a/lib/stdlib/init.lua +++ b/lib/stdlib/init.lua @@ -1,3 +1,6 @@ +-- This metatable magic allows for undefined Lua globals to be looked up in +-- the Wax class dictionary. + setmetatable(_G, { __index = function(self, key) local class = wax.class[key] @@ -11,8 +14,8 @@ setmetatable(_G, { end }) -require "wax.ext" +require "wax.ext.init" require "wax.enums" require "wax.structs" require "wax.waxClass" -require "wax.helpers" \ No newline at end of file +require "wax.helpers.init" \ No newline at end of file diff --git a/lib/stdlib/luaspec/luaspec.lua b/lib/stdlib/luaspec/luaspec.lua index 96144c68..0eb6db2d 100644 --- a/lib/stdlib/luaspec/luaspec.lua +++ b/lib/stdlib/luaspec/luaspec.lua @@ -280,13 +280,14 @@ function Context:run() self:run_afters(env) + -- TODO : io not working in Luau, fix if not success then - io.write("x") + --io.write("x") spec:add_results(false, message, traceback) else - io.write(".") + --io.write(".") end - io.flush() + --io.flush() -- restore stored values for mocks for key, old_value in pairs(mocks) do diff --git a/lib/wax.h b/lib/wax.h index c5fb005f..07ca4bfe 100755 --- a/lib/wax.h +++ b/lib/wax.h @@ -6,29 +6,29 @@ #define WAX_VERSION 0.93 - //just start wax with no script, and no extension. (can be used in swift) -void wax_startWithNil(); +void wax_startWithNil(void); //setup lua, and load wax stdlib void wax_start(char *initScript, lua_CFunction extensionFunctions, ...); //start with wax server -void wax_startWithServer(); +void wax_startWithServer(void); //setup lua -void wax_setup(); +void wax_setup(void); -void wax_end(); +void wax_end(void); -lua_State *wax_currentLuaState(); +lua_State *wax_currentLuaState(void); void luaopen_wax(lua_State *L); #pragma mark add by junzhan +#if defined(LUA_VERSION_NUM) //you should call wax_start before these function. // run lua string. int wax_runLuaString(const char *script); @@ -38,7 +38,7 @@ int wax_runLuaByteCode(NSData *data, NSString *name); //run lua file int wax_runLuaFile(const char *filePath); - +#endif @@ -47,4 +47,6 @@ typedef void (*WaxLuaRuntimeErrorHandler)(NSString *reason, BOOL willExit); void wax_setLuaRuntimeErrorHandler(WaxLuaRuntimeErrorHandler handler); -WaxLuaRuntimeErrorHandler wax_getLuaRuntimeErrorHandler(); \ No newline at end of file +WaxLuaRuntimeErrorHandler wax_getLuaRuntimeErrorHandler(void); + +void wax_setCurrentLuaState(lua_State* L); diff --git a/lib/wax.m b/lib/wax.m index ec3482e3..c00cc5e4 100755 --- a/lib/wax.m +++ b/lib/wax.m @@ -20,10 +20,24 @@ #import "wax_stdlib.h" #import "lauxlib.h" -#import "lobject.h" #import "lualib.h" #import "wax_define.h" #import "wax_memory.h" +#import "wax_config.h" +#import "wax_block_call.h" + +#if !defined(LUA_VERSION_NUM) + // In Lua 5.x we add these and override 2 LUA defines in luaconf.h. + // Luau's luaconf.h omits them so we define these here to ensure + // wax projects compile / run. + #define WAX_SCRIPTS_DIR "scripts" + #define WAX_LUA_INIT_SCRIPT "AppDelegate" + + #import "wax_luau.h" +#endif + + + static void addGlobals(lua_State *L); static int waxRoot(lua_State *L); static int waxPrint(lua_State *L); @@ -31,27 +45,27 @@ static int toobjc(lua_State *L); static int exitApp(lua_State *L); -extern int luaCallBlockWithParamsTypeArray(lua_State *L); -extern int luaCallBlockWithParamsTypeEncoding(lua_State *L); -extern int luaCallBlock(lua_State *L); - -extern int luaSetWaxConfig(lua_State *L); -static int waxGetAddress(lua_State *L); -static int waxDereference(lua_State *L); -static int waxGetInstancePointer(lua_State *L); - //runtime error static void (*wax_luaRuntimeErrorHandler)(NSString *reason, BOOL willExit); static lua_State *currentL; -lua_State *wax_currentLuaState() { +lua_State *wax_currentLuaState(void) { if (!currentL) - currentL = lua_open(); + currentL = luaL_newstate(); return currentL; } +// Allow external set of Lua environment for integration +// into systems which already have a Lua system built in. +static bool usingExternalLuaState=FALSE; + +void wax_setCurrentLuaState(lua_State* L) { + currentL=L; + usingExternalLuaState=true; +} + void wax_uncaughtExceptionHandler(NSException *e) { NSLog(@"ERROR: Uncaught exception %@", [e description]); lua_State *L = wax_currentLuaState(); @@ -77,16 +91,21 @@ int wax_panic(lua_State *L) { lua_CFunction lua_atpanic (lua_State *L, lua_CFunction panicf); -void wax_setup() { -// NSSetUncaughtExceptionHandler(&wax_uncaughtExceptionHandler);//let it catched by outside crash handler +void wax_setup(void) { + // TODO: junzhan commented this out - figure out why + // NSSetUncaughtExceptionHandler(&wax_uncaughtExceptionHandler);//let it catched by outside crash handler NSFileManager *fileManager = [NSFileManager defaultManager]; [fileManager changeCurrentDirectoryPath:[[NSBundle mainBundle] bundlePath]]; lua_State *L = wax_currentLuaState(); +#if defined(LUA_VERSION_NUM) + // Some custom Luau's don't have lua_atpanic. + // TODO: Find a better way to detect lua_atpanic. lua_atpanic(L, &wax_panic); - - luaL_openlibs(L); +#endif + if (!usingExternalLuaState) + luaL_openlibs(L); luaopen_wax_class(L); luaopen_wax_instance(L); @@ -97,13 +116,12 @@ void wax_setup() { [wax_gc start]; } -void wax_startWithNil(){ +void wax_startWithNil(void){ wax_start(nil, nil); } void wax_start(char* initScript, lua_CFunction extensionFunction, ...) { - - wax_setup(); + wax_setup(); lua_State *L = wax_currentLuaState(); @@ -118,82 +136,82 @@ void wax_start(char* initScript, lua_CFunction extensionFunction, ...) { va_end(ap); } + + // Getting this to work (stdlib, loading files) in Luau has not been researched. + #if defined(LUA_VERSION_NUM) + // Load stdlib + // --------------- + #ifdef WAX_STDLIB + // If the stdlib was autogenerated and included in the source, load + char stdlib[] = WAX_STDLIB; + size_t stdlibSize = sizeof(stdlib); + #else + char stdlib[] = "require 'wax'"; + size_t stdlibSize = strlen(stdlib); + #endif + + if (luaL_loadbuffer(L, stdlib, stdlibSize, "loading wax stdlib") || lua_pcall(L, 0, LUA_MULTRET, 0)) { + fprintf(stderr,"Error opening wax scripts: %s\n", lua_tostring(L,-1)); + } - // Load stdlib - // --------------- - #ifdef WAX_STDLIB - // If the stdlib was autogenerated and included in the source, load - char stdlib[] = WAX_STDLIB; - size_t stdlibSize = sizeof(stdlib); - #else - char stdlib[] = "require 'wax'"; - size_t stdlibSize = strlen(stdlib); - #endif - -// for(int i = 0; i < stdlibSize; ++i){ -// printf("%d,", stdlib[i]); -// } - - if (luaL_loadbuffer(L, stdlib, stdlibSize, "loading wax stdlib") || lua_pcall(L, 0, LUA_MULTRET, 0)) { - fprintf(stderr,"Error opening wax scripts: %s\n", lua_tostring(L,-1)); - } -// if (luaL_loadfile(L, "/Users/junzhan/Documents/macpro-data/project/all_github/wax/examples/States_nof/wax.dat副本") || lua_pcall(L, 0, LUA_MULTRET, 0)) { -// fprintf(stderr,"Error opening wax scripts: %s\n", lua_tostring(L,-1)); -// } - - // Run Tests or the REPL? - // ---------------------- - NSDictionary *env = [[NSProcessInfo processInfo] environment]; + // Run Tests or the REPL? + // ---------------------- + NSDictionary *env = [[NSProcessInfo processInfo] environment]; if ([[env objectForKey:@"WAX_TEST"] isEqual:@"YES"]) { - printf("Running Tests\n"); - if (luaL_dostring(L, "require 'tests'") != 0) { - fprintf(stderr,"Fatal error running tests: %s\n", lua_tostring(L,-1)); + printf("Running Tests\n"); + if (luaL_dostring(L, "require 'tests'") != 0) { + fprintf(stderr,"Fatal error running tests: %s\n", lua_tostring(L,-1)); } -// exit(1); + exit(1); } - else if ([[env objectForKey:@"WAX_REPL"] isEqual:@"YES"]) { - printf("Starting REPL\n"); - if (luaL_dostring(L, "require 'wax.repl'") != 0) { + else if ([[env objectForKey:@"WAX_REPL"] isEqual:@"YES"]) { + printf("Starting REPL\n"); + if (luaL_dostring(L, "require 'wax.repl'") != 0) { fprintf(stderr,"Fatal error starting the REPL: %s\n", lua_tostring(L,-1)); } -// exit(1); - } - else { - // Load app - char appLoadString[512]; + exit(1); + } + else { + // Load app + char appLoadString[512]; if(initScript){//if no script then do not load, To avoid security problems snprintf(appLoadString, sizeof(appLoadString), "local f = '%s' require(f:gsub('%%.[^.]*$', ''))", initScript); // Strip the extension off the file. if (luaL_dostring(L, appLoadString) != 0) { fprintf(stderr,"Error opening wax scripts: %s\n", lua_tostring(L,-1)); } } - } - + } + #endif } -void wax_startWithServer() { - wax_setup(); +void wax_startWithServer(void) { +#if defined(LUA_VERSION_NUM) + wax_setup(); #ifndef WAX_TARGET_OS_WATCH - [wax_server class]; // You need to load the class somehow via the wax.framework + [wax_server class]; // You need to load the class somehow via the wax.framework #endif - lua_State *L = wax_currentLuaState(); - - // Load all the wax lua scripts + lua_State *L = wax_currentLuaState(); + + // Load all the wax lua scripts if (luaL_dofile(L, WAX_SCRIPTS_DIR "/scripts/wax/init.lua") != 0) { fprintf(stderr,"Fatal error opening wax scripts: %s\n", lua_tostring(L,-1)); } - - Class WaxServer = objc_getClass("WaxServer"); - if (!WaxServer) [NSException raise:@"Wax Server Error" format:@"Could load Wax Server"]; - - [WaxServer start]; + + Class WaxServer = objc_getClass("WaxServer"); + if (!WaxServer) [NSException raise:@"Wax Server Error" format:@"Could load Wax Server"]; + + [WaxServer start]; +#endif } -void wax_end() { +void wax_end(void) { [wax_gc stop]; - lua_close(wax_currentLuaState()); - currentL = 0; + // Don't close the LUA state if we don't own it + if (!usingExternalLuaState) { + lua_close(wax_currentLuaState()); + currentL = 0; + } } static void addGlobals(lua_State *L) { @@ -329,6 +347,7 @@ static int exitApp(lua_State *L) { #pragma mark run +#if defined(LUA_VERSION_NUM) int wax_runLuaString(const char *script){ [wax_globalLock() lock]; int i = luaL_dostring(wax_currentLuaState(), script); @@ -349,20 +368,16 @@ int wax_runLuaByteCode(NSData *data, NSString *name){ lua_State *L = wax_currentLuaState(); int i = (luaL_loadbuffer(L, [data bytes], data.length, [name cStringUsingEncoding:NSUTF8StringEncoding]) || lua_pcall(L, 0, LUA_MULTRET, 0)); -// if(i){ -// NSString *error = [NSString stringWithFormat:@"runLuaByteCode failed: %s", lua_tostring(wax_currentLuaState(), -1)]; -// NSLog(@"error = %@", error); -// } - [wax_globalLock() unlock]; return i; } +#endif #pragma mark lua runtime handler void wax_setLuaRuntimeErrorHandler(void (*handler)(NSString *reason, BOOL willExit)){ wax_luaRuntimeErrorHandler = handler; } -WaxLuaRuntimeErrorHandler wax_getLuaRuntimeErrorHandler(){ +WaxLuaRuntimeErrorHandler wax_getLuaRuntimeErrorHandler(void){ return wax_luaRuntimeErrorHandler; -} \ No newline at end of file +} diff --git a/lib/wax_class.m b/lib/wax_class.m index 12a3c547..19c3b278 100755 --- a/lib/wax_class.m +++ b/lib/wax_class.m @@ -112,6 +112,8 @@ static int __call(lua_State *L) { // If we the method has already been swizzled (by the class's super, then // just leave it up to the super! if (method_getImplementation(m) != (IMP)allocWithZone) { + // TODO: AWB uses @selector instead of NSSelectorFromString, + // is there a fix there? Perf bump? class_addMethod(metaclass, NSSelectorFromString(@"wax_originalAllocWithZone:"), method_getImplementation(m), method_getTypeEncoding(m));//allocWithZone class_addMethod(metaclass, @selector(allocWithZone:), (IMP)allocWithZone, "@@:^{_NSZone=}"); } @@ -122,11 +124,24 @@ static int __call(lua_State *L) { return 1; } +//#define NSOBJ_ALLOC +//TODO: isn't this just syntactic sugar? +#if defined(NSOBJ_ALLOC) +@interface NSObject () +-(id) wax_originalAllocWithZone: (NSZone*) zone; +@end +#endif + static id allocWithZone(id self, SEL _cmd, NSZone *zone) { lua_State *L = wax_currentLuaState(); BEGIN_STACK_MODIFY(L); + // TODO: NSOBJ_ALLOC was used by AWB - could be a fix, investigate. +#if defined(NSOBJ_ALLOC) + id instance = [self wax_originalAllocWithZone:zone]; +#else id instance = ((id(*)(id, SEL, NSZone *))objc_msgSend)(self, NSSelectorFromString(@"wax_originalAllocWithZone:"), zone); +#endif object_setInstanceVariable(instance, WAX_CLASS_INSTANCE_USERDATA_IVAR_NAME, @"YEAP"); END_STACK_MODIFY(L, 0); @@ -186,4 +201,4 @@ static id valueForUndefinedKey(id self, SEL cmd, NSString *key) { END_STACK_MODIFY(L, 0); return result; -} \ No newline at end of file +} diff --git a/lib/wax_gc.m b/lib/wax_gc.m index 8f2a2b19..036dc631 100755 --- a/lib/wax_gc.m +++ b/lib/wax_gc.m @@ -108,6 +108,7 @@ int waxGCInstance(lua_State *L){ lua_pushnil(L); lua_setmetatable(L, -2); + // TODO: call wax_freeEnvironment ? END_STACK_MODIFY(L, 0); return 0; } diff --git a/lib/wax_helpers.h b/lib/wax_helpers.h index f63b8377..72e4248f 100755 --- a/lib/wax_helpers.h +++ b/lib/wax_helpers.h @@ -107,3 +107,24 @@ int wax_pcall(lua_State *L, int argumentCount, int returnCount); SEL wax_selectorWithPrefix(SEL selector, const char *prefix); BOOL wax_stringHasPrefix(const char *text, const char *prefix); + +// There's no define indicating Luau but there is one indicating Lua. +// If LUA_VERSION_NUM is present it's Lua, otherwise it's Luau. +#if !defined(LUA_VERSION_NUM) || LUA_VERSION_NUM >= 502 + // Lua 5.2 removed support for the xxxfenv() methods and Luau stopped + // supporting userdata in xxxfenv(). Wax relied on this so below + // is a workaround that support Lua 5.1, 5.2+ and Luau. + void wax_getEnvironment(lua_State *L, int index); + void wax_setEnvironment(lua_State *L, int index); + void wax_freeEnvironment(lua_State *L, int index); + + #pragma message "Using Lua 5.2+ or Luau" + // Luau && Lua 5.2+ - use our helper functions + #define wax_setfenv(L, index) wax_setEnvironment(L, index) + #define wax_getfenv(L, index) wax_getEnvironment(L, index) +#else + #pragma message "Using Lua 5.1" + // Lua 5.1 - use native functions + #define wax_setfenv(L, index) lua_setfenv(L, index) + #define wax_getfenv(L, index) lua_getfenv(L, index) +#endif diff --git a/lib/wax_helpers.m b/lib/wax_helpers.m index 08696409..426237a9 100755 --- a/lib/wax_helpers.m +++ b/lib/wax_helpers.m @@ -6,12 +6,16 @@ // Copyright 2009 Probably Interactive. All rights reserved. // +#import #import "wax_helpers.h" #import "wax_instance.h" #import "wax_struct.h" #import "lauxlib.h" #import "wax_block_transfer.h" +#import "wax_luau.h" + +NSString *wax_tableToJson(lua_State *L, int index, int depth); void wax_printStack(lua_State *L) { int i; @@ -40,10 +44,11 @@ void wax_printStackAt(lua_State *L, int i) { case LUA_TNUMBER: printf("'%g'", lua_tonumber(L, i)); break; - case LUA_TTABLE: - printf("%p\n{\n", lua_topointer(L, i)); -// wax_printTable(L, i); - printf("}"); + case LUA_TTABLE: { + NSString *table = wax_tableToJson(L, i, 0); + printf("%p %s", lua_topointer(L, i), [table UTF8String]); + [table release]; + } break; default: printf("%p", lua_topointer(L, i)); @@ -75,6 +80,61 @@ void wax_printTable(lua_State *L, int t) { } } +NSString *wax_tableToJson(lua_State *L, int index, int depth) { + if (depth > 0) { + return [[NSString alloc] initWithString:@"{...}"]; + } + + NSMutableString *json = [[NSMutableString alloc] initWithString:@"{"]; + BOOL first = YES; + + lua_pushnil(L); // first key + while (lua_next(L, index < 0 ? index - 1 : index) != 0) { + if (!first) { + [json appendString:@", "]; + } + first = NO; + + // Key + if (lua_type(L, -2) == LUA_TSTRING) { + [json appendFormat:@"\"%s\":", lua_tostring(L, -2)]; + } else if (lua_type(L, -2) == LUA_TNUMBER) { + [json appendFormat:@"%g:", lua_tonumber(L, -2)]; + } else if (lua_type(L, -2) == LUA_TUSERDATA) { + [json appendString:@"__udata:"]; + } else { + [json appendString:@"\"?\":"]; // Unknown key type + } + + // Value + switch (lua_type(L, -1)) { + case LUA_TSTRING: + [json appendFormat:@"\"%s\"", lua_tostring(L, -1)]; + break; + case LUA_TBOOLEAN: + [json appendString:(lua_toboolean(L, -1) ? @"true" : @"false")]; + break; + case LUA_TNUMBER: + [json appendFormat:@"%g", lua_tonumber(L, -1)]; + break; + case LUA_TTABLE: { + NSString *subJson = wax_tableToJson(L, -1, depth + 1); + [json appendString:subJson]; + [subJson release]; + break; + } + default: + [json appendString:@"\"?\""]; + break; + } + + lua_pop(L, 1); // remove value + } + + [json appendString:@"}"]; + return json; // Caller is responsible for releasing +} + void wax_log(int flag, NSString *format, ...) { if (flag & LOG_FLAGS) { va_list args; @@ -951,3 +1011,111 @@ BOOL wax_stringHasPrefix(const char *text, const char *prefix){ char *str = strstr(text, prefix); return str == text; } + +void wax_assert(bool condition) { + if (!condition) { + assert(false); + } +} + +// ------------ setfenv / getfenv replacements -------------- + +#if !defined(LUA_VERSION_NUM) || LUA_VERSION_NUM >= 502 +/** + * Pushes Wax Environment table onto the stack. Similar to the + * light and strong userdata tables, indexed by weak userdata. + * + * NOTE - We store by name, not luaL_ref(), as Gideros will + * empy the Registry betwen runs but we don't get notified. Refs + * would be faster BUT I couldn't guarantee that a stale ref + * value wasn't being re-used so we stick with strings for now. + * + * TODO: Can we use refs with Gideros hot loading? This is a + * critical path for Wax. + * + * @param L Lua State + * @return Environment table on the stack. + */ +void wax_pushEnvironmentTable(lua_State *L) { + #define WAX_ENVIRONMENT_TABLE "Wax.Environments" + + lua_pushstring(L, WAX_ENVIRONMENT_TABLE); // ['name'] + lua_gettable(L, LUA_REGISTRYINDEX); // [envs] + + if (lua_isnil(L, -1)) { + lua_pop(L, 1); + + lua_newtable(L); // [envs] + lua_pushstring(L, "v"); // [envs, "v"] + lua_setfield(L, -2, "__mode"); // [envs] -- envs["__mode"] = "v" + + lua_pushstring(L, WAX_ENVIRONMENT_TABLE); // [envs, 'name'] + lua_pushvalue(L, -2); // [envs, 'name', envs] + lua_settable(L, LUA_REGISTRYINDEX); // [envs] + } + + wax_assert(!lua_isnil(L, -1)); +} + +/** + * Frees the environment table associated with a wax userdata. + * + * @param L Lua State + * @param Stack index of userdata + * @stack No changes + */ +void wax_freeEnvironment(lua_State *L, int index) { + wax_pushEnvironmentTable(L); // [envs] + lua_pushvalue(L, index); // [envs, userdata] + lua_pushnil(L); // [envs, userdata, nil] + lua_rawset(L, -3); // [envs] | envs[userdata] = nil + lua_pop(L, 1); // [] +} + +/** + * Pushes environment table associated with this userdata onto the + * stack, nil if none. + * + * @param L The lua_State + * @param index The stack index of the userdata + */ +void wax_getEnvironment(lua_State *L, int index) { + wax_assert(lua_isuserdata(L, index)); + int udAbsIndex = lua_absindex(L, index); + + wax_pushEnvironmentTable(L); // [envs] + lua_pushvalue(L, udAbsIndex); // [envs, udata] + lua_rawget(L, -2); // [envs, env] + lua_remove(L, -2); // [env] +} + +/** + * Associates the table at the top of the stack with the userdata at `index`, + * poppign the table from the stack. + * + * @param L The lua_State + * @param index The stack index of the userdata + */ +void wax_setEnvironment(lua_State *L, int index) { + wax_assert(lua_isuserdata(L, index)); + wax_assert(lua_istable(L, -1)); + int udAbsIndex = lua_absindex(L, index); + + // TODO: Double lookup of env table -> bad for performance + wax_getEnvironment(L, index); // [newEnv, currentEnv] + if (!lua_isnil(L, -1)) { + wax_assert(lua_istable(L, -1)); + NSLog(@"Warning: pre-existing env table - this right?"); + lua_pop(L, 2); // [] + return; + } + lua_pop(L, 1); // [newEnv] + + wax_pushEnvironmentTable(L); // [newEnv, envs] + lua_pushvalue(L, udAbsIndex); // [newEnv, envs, userdata] + lua_pushvalue(L, -3); // [newEnv, envs, userdata, newEnv] + lua_rawset(L, -3); // envs[userdata] = newEnv // [newEnv, envs] + lua_pop(L, 2); // [] +} + +#endif // !defined(LUA_VERSION_NUM) || LUA_VERSION_NUM >= 502 diff --git a/lib/wax_instance.m b/lib/wax_instance.m index b3b5eb1b..303813b8 100755 --- a/lib/wax_instance.m +++ b/lib/wax_instance.m @@ -12,9 +12,12 @@ #import "wax.h" #import "wax_helpers.h" -#import "lauxlib.h" -#import "lobject.h" #import "wax_config.h" +#import "wax_block_call.h" + +#import "lauxlib.h" +#import "wax_luau.h" + static int __index(lua_State *L); static int __newindex(lua_State *L); static int __gc(lua_State *L); @@ -29,20 +32,11 @@ static int customInitMethodClosure(lua_State *L); static BOOL overrideMethod(lua_State *L, wax_instance_userdata *instanceUserdata); +// TODO: Unused now that we are using 64 bit methods? static int pcallUserdata(lua_State *L, id self, SEL selector, va_list args); static BOOL overrideMethodByInvocation(id klass, SEL selector, char *typeDescription, char *returnType) ; static BOOL addMethodByInvocation(id klass, SEL selector, char * typeDescription) ; -//block call -extern int luaCallBlock(lua_State *L); - - -extern void wax_printStack(lua_State *L); -extern void wax_printStackAt(lua_State *L, int i); -extern void wax_printTable(lua_State *L, int t); -extern void wax_log(int flag, NSString *format, ...); -extern int wax_getStackTrace(lua_State *L); - static const struct luaL_Reg metaFunctions[] = { {"__index", __index}, {"__newindex", __newindex}, @@ -110,7 +104,7 @@ int luaopen_wax_instance(lua_State *L) { // give it a nice clean environment lua_newtable(L); - lua_setfenv(L, -2); + wax_setfenv(L, -2); wax_instance_pushUserdataTable(L); @@ -166,12 +160,12 @@ int luaopen_wax_instance(lua_State *L) { lua_newtable(L); } else { - lua_getfenv(L, -1); + wax_getfenv(L, -1); lua_remove(L, -2); // Remove nil and superclass userdata } // Give it the instance's metatable - lua_setfenv(L, -2); + wax_setfenv(L, -2); END_STACK_MODIFY(L, 1) @@ -241,7 +235,7 @@ BOOL wax_instance_pushFunction(lua_State *L, id self, SEL selector) { // NSLog(@"data->waxRetain = YES instance=%@", data->instance); } - lua_getfenv(L, -1); + wax_getfenv(L, -1); wax_pushMethodNameFromSelector(L, selector); lua_rawget(L, -2); @@ -318,9 +312,9 @@ static int __index(lua_State *L) { return 1; } - // Check instance userdata, unless we are acting like a super + // Check instance userdata, unless we are acting like a super if (!instanceUserdata->actAsSuper) { - lua_getfenv(L, -2); + wax_getfenv(L, -2); lua_pushvalue(L, -2); lua_rawget(L, 3); } @@ -337,7 +331,7 @@ static int __index(lua_State *L) { // If there is no userdata for this instance's class, then leave the nil on the stack and don't anything else if (!lua_isnil(L, -1)) { - lua_getfenv(L, -1); + wax_getfenv(L, -1); lua_pushvalue(L, 2); lua_rawget(L, -2); lua_remove(L, -2); // Get rid of the userdata env @@ -352,35 +346,9 @@ static int __index(lua_State *L) { BOOL foundSelector = wax_selectorForInstance(instanceUserdata, foundSelectors, luaIndexSelector, NO); if (foundSelector) { // If the class has a method with this name, push as a closure - - if(instanceUserdata->actAsSuper){//super method, method_setImplementation is inefficient so add a super method for subclass - for(int i = 0; i < 2; ++i){ - SEL selector = foundSelectors[i]; - SEL selfSuperSelector = wax_selectorWithPrefix(selector, WAX_SUPER_METHOD_PREFIX); - - Method selfSuperMethod = class_getInstanceMethod([instanceUserdata->instance class], selfSuperSelector); - Method superMethod = class_getInstanceMethod(instanceUserdata->isSuper, selector); - - if(!superMethod){ - continue ; - } - - IMP superMethodImp = method_getImplementation(superMethod); - char *typeDescription = (char *)method_getTypeEncoding(superMethod); - id klass = [instanceUserdata->instance class]; - //add SUPERselector for subclass - if (!selfSuperMethod){ - class_addMethod(klass, selfSuperSelector, superMethodImp, typeDescription); - } - } - lua_pushstring(L, sel_getName(wax_selectorWithPrefix(foundSelectors[0], WAX_SUPER_METHOD_PREFIX))); - foundSelectors[1] ? lua_pushstring(L, sel_getName(wax_selectorWithPrefix(foundSelectors[1], WAX_SUPER_METHOD_PREFIX))) : lua_pushnil(L);// - lua_pushcclosure(L, methodClosure, 2); - }else{ - lua_pushstring(L, sel_getName(foundSelectors[0])); - foundSelectors[1] ? lua_pushstring(L, sel_getName(foundSelectors[1])) : lua_pushnil(L);// - lua_pushcclosure(L, methodClosure, 2); - } + lua_pushstring(L, sel_getName(foundSelectors[0])); + foundSelectors[1] ? lua_pushstring(L, sel_getName(foundSelectors[1])) : lua_pushnil(L); + lua_pushcclosure(L, instanceUserdata->actAsSuper ? superMethodClosure : methodClosure, 2); } } else if (!instanceUserdata->isSuper && instanceUserdata->isClass && wax_isInitMethod(luaIndexSelector)) { // Is this an init method create in lua? @@ -402,7 +370,7 @@ static int __newindex(lua_State *L) { } // Add value to the userdata's environment table. - lua_getfenv(L, 1); + wax_getfenv(L, 1); lua_insert(L, 2); lua_rawset(L, 2); @@ -410,7 +378,6 @@ static int __newindex(lua_State *L) { } static int __gc(lua_State *L) { - wax_instance_userdata *instanceUserdata = (wax_instance_userdata *)luaL_checkudata(L, 1, WAX_INSTANCE_METATABLE_NAME); // wax_log(LOG_GC, @"Releasing %@ %@(%p)", instanceUserdata->isClass ? @"Class" : @"Instance", [instanceUserdata->instance class], instanceUserdata->instance); @@ -427,10 +394,14 @@ static int __gc(lua_State *L) { [instanceUserdata->instance release]; - lua_pushlightuserdata(L, instanceUserdata->instance); + lua_pushlightuserdata(L, instanceUserdata->instance); lua_pushnil(L); lua_rawset(L, -3); - lua_pop(L, 1); + lua_pop(L, 1); + #if !defined(LUA_VERSION_NUM) || LUA_VERSION_NUM >= 502 + // Free environment table created by wax_setfenv() + wax_freeEnvironment(L, -1); + #endif } return 0; @@ -475,7 +446,8 @@ static int methods(lua_State *L) { #pragma mark ---------------------- static int methodClosure(lua_State *L) { -// if (![[NSThread currentThread] isEqual:[NSThread mainThread]]) NSLog(@"METHODCLOSURE: OH NO SEPERATE THREAD"); + // TODO: junzhan commented this out, we are putting it back - that ok? + if (![[NSThread currentThread] isEqual:[NSThread mainThread]]) NSLog(@"METHODCLOSURE: OH NO SEPERATE THREAD"); wax_instance_userdata *instanceUserdata = (wax_instance_userdata *)luaL_checkudata(L, 1, WAX_INSTANCE_METATABLE_NAME); const char *selectorName = luaL_checkstring(L, lua_upvalueindex(1));// @@ -497,8 +469,17 @@ static int methodClosure(lua_State *L) { NSMethodSignature *signature = [instance methodSignatureForSelector:selector]; if (!signature) { - const char *className = [NSStringFromClass([instance class]) UTF8String]; - luaL_error(L, "'%s' has no method selector '%s'", className, selectorName); + // Fix by AWB: Some methods that can be invoked by performSelector: actually return a nil + // method signature. This occurs if a method has been set up as forwarding to an + // alternate target. Before giving up see if forwarding is a potential solution. + // + NSObject *fwd=[instance forwardingTargetForSelector:selector]; + if (fwd && (signature= [fwd methodSignatureForSelector:selector])) + instance = fwd; + else{ + const char *className = [NSStringFromClass([instance class]) UTF8String]; + luaL_error(L, "'%s' has no method selector '%s'", className, selectorName); + } } NSInvocation *invocation = nil; @@ -510,7 +491,6 @@ static int methodClosure(lua_State *L) { int objcArgumentCount = (int)[signature numberOfArguments] - 2; // skip the hidden self and _cmd argument int luaArgumentCount = lua_gettop(L) - 1; - if (objcArgumentCount > luaArgumentCount && !wax_instance_isWaxClass(instance)) { luaL_error(L, "Not Enough arguments given! Method named '%s' requires %d argument(s), you gave %d. (Make sure you used ':' to call the method)", selectorName, objcArgumentCount + 1, lua_gettop(L)); } @@ -553,7 +533,7 @@ static int methodClosure(lua_State *L) { lua_pushnil(L); [instance release]; } - else { + else if (lua_isuserdata(L, -1)) { wax_instance_userdata *returnedInstanceUserdata = (wax_instance_userdata *)lua_topointer(L, -1); if (returnedInstanceUserdata) { // Could return nil [returnedInstanceUserdata->instance release]; // Wax automatically retains a copy of the object, so the alloc needs to be released retainCount-1 @@ -567,15 +547,14 @@ static int methodClosure(lua_State *L) { return 1; } +// Special closure that will call the super class's method instead of the instance's method static int superMethodClosure(lua_State *L) { wax_instance_userdata *instanceUserdata = (wax_instance_userdata *)luaL_checkudata(L, 1, WAX_INSTANCE_METATABLE_NAME); - int upvalueIndex = 1; const char *selectorName = luaL_checkstring(L, lua_upvalueindex(1)); // If the only arg is 'self' and there is a selector with no args. USE IT! if (lua_gettop(L) == 1 && lua_isstring(L, lua_upvalueindex(2))) { selectorName = luaL_checkstring(L, lua_upvalueindex(2)); - upvalueIndex = 2; } SEL selector = sel_getUid(selectorName); @@ -588,21 +567,6 @@ static int superMethodClosure(lua_State *L) { IMP selfMethodImp = method_getImplementation(selfMethod); IMP superMethodImp = method_getImplementation(superMethod); - - char *typeDescription = (char *)method_getTypeEncoding(selfMethod); - - const char *selectorName = sel_getName(selector); - char newSelectorName[strlen(selectorName) + strlen(WAX_SUPER_METHOD_PREFIX)+1]; - strcpy(newSelectorName, WAX_SUPER_METHOD_PREFIX); - strcat(newSelectorName, selectorName); - SEL newSelector = sel_getUid(newSelectorName); - id klass = [instanceUserdata->instance class]; - if(!class_respondsToSelector(klass, newSelector)) { - class_addMethod(klass, newSelector, superMethodImp, typeDescription); - } - - lua_setupvalue (L, -1, lua_upvalueindex(upvalueIndex)); - method_setImplementation(selfMethod, superMethodImp); methodClosure(L); @@ -658,8 +622,8 @@ static int customInitMethodClosure(lua_State *L) { //64 solve 1:instance method go Invocation static int pcallUserdataARM64Invocation(lua_State *L, id self, SEL selector, NSInvocation *anInvocation) { BEGIN_STACK_MODIFY(L) - -// if (![[NSThread currentThread] isEqual:[NSThread mainThread]]) NSLog(@"PCALLUSERDATA: OH NO SEPERATE THREAD"); + // TODO: Uncommented + if (![[NSThread currentThread] isEqual:[NSThread mainThread]]) NSLog(@"PCALLUSERDATA: OH NO SEPERATE THREAD"); // A WaxClass could have been created via objective-c (like via NSKeyUnarchiver) // In this case, no lua object was ever associated with it, so we've got to @@ -717,7 +681,7 @@ static int pcallUserdataARM64Invocation(lua_State *L, id self, SEL selector, NSI static int pcallUserdataARM64ImpCall(lua_State *L, id self, SEL selector, va_list args) { BEGIN_STACK_MODIFY(L) -// if (![[NSThread currentThread] isEqual:[NSThread mainThread]]) NSLog(@"PCALLUSERDATA: OH NO SEPERATE THREAD"); + if (![[NSThread currentThread] isEqual:[NSThread mainThread]]) NSLog(@"PCALLUSERDATA: OH NO SEPERATE THREAD"); // A WaxClass could have been created via objective-c (like via NSKeyUnarchiver) // In this case, no lua object was ever associated with it, so we've got to @@ -974,4 +938,4 @@ static BOOL addMethodByInvocation(id klass, SEL selector, char * typeDescription class_addMethod(klass, newSelector, _objc_msgForward, typeDescription); } return YES; -} \ No newline at end of file +} diff --git a/lib/wax_luau.h b/lib/wax_luau.h new file mode 100644 index 00000000..56e330ea --- /dev/null +++ b/lib/wax_luau.h @@ -0,0 +1,35 @@ +// +// wax_luau.h +// wax +// +// Created by Troy on 8/25/25. +// + +#ifndef WAX_LUAU_H +#define WAX_LUAU_H + +/** + Patches needed to compile against Luau. All wax code is written + against the Lua 5.x API. To support the Luau API which is *almost* + Lua 5.1 compatible, we add patches here and only include this file + into wax compilation units. This allows our code to be mixed into + projects with Luau code. + + I couldn't think of a cleaner way to doing this, very open to one. + TODO: Is checking for !defined(luaL_dofile) a better way to detect Luau? + */ + +#if !defined(LUA_VERSION_NUM) + // Luau added an argument to these macros that causes compile errors + // in Lua 5.x compatible code. Our code and the Lua 5.x code wax + // compiles against needs to support both APIs, hence these redefinitions. + // + // NOTE: There could be more of these we haven't found. + #undef lua_pushcfunction + #define lua_pushcfunction(L, fn) lua_pushcclosurek(L, fn, #fn, 0, NULL) + + #undef lua_pushcclosure + #define lua_pushcclosure(L, fn, nup) lua_pushcclosurek(L, fn, #fn, nup, NULL) +#endif + +#endif diff --git a/lib/wax_struct.m b/lib/wax_struct.m index 1e9cc2b7..f69ca2bf 100755 --- a/lib/wax_struct.m +++ b/lib/wax_struct.m @@ -12,6 +12,8 @@ #import "lua.h" #import "lauxlib.h" +#import "wax_luau.h" + #define LABELED_STRUCT_TABLE_NAME "labeledStructs" static int __index(lua_State *L); @@ -91,13 +93,15 @@ int luaopen_wax_struct(lua_State *L) { // give it a nice clean environment lua_newtable(L); - lua_setfenv(L, -2); + wax_setfenv(L, -2); END_STACK_MODIFY(L, 1) return structUserdata; } + + // Maybe all this data should be created at wax_struct_userdata creation time? I think so! void wax_struct_pushValueAt(lua_State *L, wax_struct_userdata *structUserdata, int offset) { char *simplifiedTypeDescription = alloca(strlen(structUserdata->typeDescription) + 1); @@ -332,4 +336,4 @@ static int createClosure(lua_State *L) { } return 1; -} \ No newline at end of file +} diff --git a/tools/AutoTest/AutoTest.xcodeproj/project.pbxproj b/tools/AutoTest/AutoTest.xcodeproj/project.pbxproj index 20594859..1a4615ed 100644 --- a/tools/AutoTest/AutoTest.xcodeproj/project.pbxproj +++ b/tools/AutoTest/AutoTest.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -226,12 +226,11 @@ isa = PBXNativeTarget; buildConfigurationList = 008AB8EB1B043EEE00E5DF56 /* Build configuration list for PBXNativeTarget "AutoTest" */; buildPhases = ( + F20B292A793FD0C9E525BC2D /* [CP] Check Pods Manifest.lock */, 840BCB7A5D5C48B3E9B6E1C3 /* Check Pods Manifest.lock */, 008AB8CA1B043EEE00E5DF56 /* Sources */, 008AB8CB1B043EEE00E5DF56 /* Frameworks */, 008AB8CC1B043EEE00E5DF56 /* Resources */, - 82DDFC60EAC904E0DE8F6C4E /* Copy Pods Resources */, - 0E7C2EB7965790463EEC71DF /* Embed Pods Frameworks */, ); buildRules = ( ); @@ -266,7 +265,8 @@ 008AB8C61B043EEE00E5DF56 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0610; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1640; ORGANIZATIONNAME = taobao.com; TargetAttributes = { 008AB8CD1B043EEE00E5DF56 = { @@ -280,7 +280,7 @@ }; buildConfigurationList = 008AB8C91B043EEE00E5DF56 /* Build configuration list for PBXProject "AutoTest" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, @@ -324,49 +324,41 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 0E7C2EB7965790463EEC71DF /* Embed Pods Frameworks */ = { + 840BCB7A5D5C48B3E9B6E1C3 /* Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "Embed Pods Frameworks"; + name = "Check Pods Manifest.lock"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = ""; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; showEnvVarsInLog = 0; }; - 82DDFC60EAC904E0DE8F6C4E /* Copy Pods Resources */ = { + F20B292A793FD0C9E525BC2D /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputPaths = ( - ); - name = "Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-AutoTest/Pods-AutoTest-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 840BCB7A5D5C48B3E9B6E1C3 /* Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( + inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Check Pods Manifest.lock"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-AutoTest-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -424,24 +416,38 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = 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_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", @@ -454,7 +460,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -465,17 +471,29 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = 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_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -483,13 +501,14 @@ ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; + 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 = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; @@ -503,8 +522,12 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; GCC_PREFIX_HEADER = "AutoTest/AutoTest-Prefix.pch"; INFOPLIST_FILE = AutoTest/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.taobao.junzhan.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Debug; @@ -516,8 +539,12 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; GCC_PREFIX_HEADER = "AutoTest/AutoTest-Prefix.pch"; INFOPLIST_FILE = AutoTest/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.taobao.junzhan.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; @@ -535,7 +562,13 @@ "$(inherited)", ); INFOPLIST_FILE = AutoTestTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.taobao.junzhan.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AutoTest.app/AutoTest"; }; @@ -550,7 +583,13 @@ "$(inherited)", ); INFOPLIST_FILE = AutoTestTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.taobao.junzhan.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AutoTest.app/AutoTest"; }; diff --git a/tools/AutoTest/AutoTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/tools/AutoTest/AutoTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/tools/AutoTest/AutoTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/tools/AutoTest/AutoTest.xcodeproj/xcshareddata/xcschemes/AutoTest.xcscheme b/tools/AutoTest/AutoTest.xcodeproj/xcshareddata/xcschemes/AutoTest.xcscheme index 46bcda61..afc6d4e7 100644 --- a/tools/AutoTest/AutoTest.xcodeproj/xcshareddata/xcschemes/AutoTest.xcscheme +++ b/tools/AutoTest/AutoTest.xcodeproj/xcshareddata/xcschemes/AutoTest.xcscheme @@ -1,6 +1,6 @@ + + + + @@ -53,17 +62,6 @@ - - - - - - - - + + + + + + diff --git a/tools/AutoTest/AutoTest/AutoTestClass/AutoTestGCD.m b/tools/AutoTest/AutoTest/AutoTestClass/AutoTestGCD.m index 7702d928..676c2882 100644 --- a/tools/AutoTest/AutoTest/AutoTestClass/AutoTestGCD.m +++ b/tools/AutoTest/AutoTest/AutoTestClass/AutoTestGCD.m @@ -69,7 +69,7 @@ - (void)autoTestStart{ NSLog(@"DISPATCH_TIME_NOW=%lld time=%lld", DISPATCH_TIME_NOW, time); dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://gw.alicdn.com/tps/i2/TB1M4BWHpXXXXbYXVXXdIns_XXX-1125-352.jpg_q50.jpg"]]; + NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://upload.wikimedia.org/wikipedia/commons/2/28/JPG_Test.jpg"]]; NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; dispatch_async(dispatch_get_main_queue(), ^{ NSLog(@"data.length=%ld", data.length); diff --git a/tools/AutoTest/AutoTest/AutoTestScript/AutoTestGCD.lua b/tools/AutoTest/AutoTest/AutoTestScript/AutoTestGCD.lua index b174dbb4..4cf88d8e 100644 --- a/tools/AutoTest/AutoTest/AutoTestScript/AutoTestGCD.lua +++ b/tools/AutoTest/AutoTest/AutoTestScript/AutoTestGCD.lua @@ -77,7 +77,7 @@ print("vb=", vb) function( ) print("dispatch_async start download"); - local request = NSURLRequest:requestWithURL(NSURL:URLWithString("http://gw.alicdn.com/tps/i2/TB1M4BWHpXXXXbYXVXXdIns_XXX-1125-352.jpg_q50.jpg")); + local request = NSURLRequest:requestWithURL(NSURL:URLWithString("https://upload.wikimedia.org/wikipedia/commons/2/28/JPG_Test.jpg")); local data = NSURLConnection:sendSynchronousRequest_returningResponse_error(request, nil, nil); print("dispatch_async end download"); @@ -93,4 +93,4 @@ print("vb=", vb) end) ); print("end AutoTestGCD autoTestStart"); -end \ No newline at end of file +end diff --git a/tools/AutoTest/AutoTest/Info.plist b/tools/AutoTest/AutoTest/Info.plist index a77a8a3c..d39a4daf 100644 --- a/tools/AutoTest/AutoTest/Info.plist +++ b/tools/AutoTest/AutoTest/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - com.taobao.junzhan.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/tools/AutoTest/AutoTestTests/Info.plist b/tools/AutoTest/AutoTestTests/Info.plist index de84fb95..ba72822e 100644 --- a/tools/AutoTest/AutoTestTests/Info.plist +++ b/tools/AutoTest/AutoTestTests/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - com.taobao.junzhan.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/tools/AutoTest/Podfile b/tools/AutoTest/Podfile index 4acd48ad..1c5db0e3 100644 --- a/tools/AutoTest/Podfile +++ b/tools/AutoTest/Podfile @@ -2,6 +2,6 @@ platform :ios target 'AutoTest' do - platform:ios, '6.0' + platform:ios, '15.0' pod 'wax', :path=>'../../' -end \ No newline at end of file +end diff --git a/tools/AutoTest/Podfile.lock b/tools/AutoTest/Podfile.lock new file mode 100644 index 00000000..efaee010 --- /dev/null +++ b/tools/AutoTest/Podfile.lock @@ -0,0 +1,16 @@ +PODS: + - wax (1.2.1) + +DEPENDENCIES: + - wax (from `../../`) + +EXTERNAL SOURCES: + wax: + :path: "../../" + +SPEC CHECKSUMS: + wax: cd49f903a3a2867b43d797e977a010049e7673b6 + +PODFILE CHECKSUM: 35be4f5ac8bb65e53e6df6d929ab13c008fea293 + +COCOAPODS: 1.16.2 diff --git a/tools/Framework/Framework.xcodeproj/project.pbxproj b/tools/Framework/Framework.xcodeproj/project.pbxproj index b82750c5..f37596d5 100644 --- a/tools/Framework/Framework.xcodeproj/project.pbxproj +++ b/tools/Framework/Framework.xcodeproj/project.pbxproj @@ -3,101 +3,12 @@ archiveVersion = 1; classes = { }; - objectVersion = 45; + objectVersion = 70; objects = { /* Begin PBXBuildFile section */ - 000DD9D51DCC739D00E2C840 /* wax_memory.h in Headers */ = {isa = PBXBuildFile; fileRef = 000DD9D31DCC739D00E2C840 /* wax_memory.h */; }; - 000DD9D61DCC739D00E2C840 /* wax_memory.m in Sources */ = {isa = PBXBuildFile; fileRef = 000DD9D41DCC739D00E2C840 /* wax_memory.m */; }; - 006181821BCF546D00B9F155 /* wax_block_description.h in Headers */ = {isa = PBXBuildFile; fileRef = 006181801BCF546D00B9F155 /* wax_block_description.h */; }; - 006181831BCF546D00B9F155 /* wax_block_description.m in Sources */ = {isa = PBXBuildFile; fileRef = 006181811BCF546D00B9F155 /* wax_block_description.m */; }; - 008AB8AA1B04382600E5DF56 /* NSObject+TBIvarAccess.h in Headers */ = {isa = PBXBuildFile; fileRef = 008AB8871B04382600E5DF56 /* NSObject+TBIvarAccess.h */; }; - 008AB8AB1B04382600E5DF56 /* NSObject+TBIvarAccess.m in Sources */ = {isa = PBXBuildFile; fileRef = 008AB8881B04382600E5DF56 /* NSObject+TBIvarAccess.m */; }; - 008AB8AE1B04382600E5DF56 /* wax_block.h in Headers */ = {isa = PBXBuildFile; fileRef = 008AB88C1B04382600E5DF56 /* wax_block.h */; }; - 008AB8AF1B04382600E5DF56 /* wax_block.m in Sources */ = {isa = PBXBuildFile; fileRef = 008AB88D1B04382600E5DF56 /* wax_block.m */; }; - 008AB8B01B04382600E5DF56 /* wax_block_call.h in Headers */ = {isa = PBXBuildFile; fileRef = 008AB88E1B04382600E5DF56 /* wax_block_call.h */; }; - 008AB8B11B04382600E5DF56 /* wax_block_call.m in Sources */ = {isa = PBXBuildFile; fileRef = 008AB88F1B04382600E5DF56 /* wax_block_call.m */; }; - 008AB8B21B04382600E5DF56 /* wax_block_call_pool.h in Headers */ = {isa = PBXBuildFile; fileRef = 008AB8901B04382600E5DF56 /* wax_block_call_pool.h */; }; - 008AB8B31B04382600E5DF56 /* wax_block_call_pool.m in Sources */ = {isa = PBXBuildFile; fileRef = 008AB8911B04382600E5DF56 /* wax_block_call_pool.m */; }; - 008AB8B41B04382600E5DF56 /* wax_block_transfer.h in Headers */ = {isa = PBXBuildFile; fileRef = 008AB8921B04382600E5DF56 /* wax_block_transfer.h */; }; - 008AB8B51B04382600E5DF56 /* wax_block_transfer.m in Sources */ = {isa = PBXBuildFile; fileRef = 008AB8931B04382600E5DF56 /* wax_block_transfer.m */; }; - 008AB8B61B04382600E5DF56 /* wax_block_transfer_pool.h in Headers */ = {isa = PBXBuildFile; fileRef = 008AB8941B04382600E5DF56 /* wax_block_transfer_pool.h */; }; - 008AB8B71B04382600E5DF56 /* wax_block_transfer_pool.m in Sources */ = {isa = PBXBuildFile; fileRef = 008AB8951B04382600E5DF56 /* wax_block_transfer_pool.m */; }; - 008AB8B81B04382600E5DF56 /* dispatch_lua.m in Sources */ = {isa = PBXBuildFile; fileRef = 008AB8991B04382600E5DF56 /* dispatch_lua.m */; }; - 008AB8B91B04382600E5DF56 /* objc_runtime_lua.m in Sources */ = {isa = PBXBuildFile; fileRef = 008AB89B1B04382600E5DF56 /* objc_runtime_lua.m */; }; - 008AB8BA1B04382600E5DF56 /* pthread_lua.m in Sources */ = {isa = PBXBuildFile; fileRef = 008AB89E1B04382600E5DF56 /* pthread_lua.m */; }; - 008AB8BB1B04382600E5DF56 /* UIKitFunction_lua.m in Sources */ = {isa = PBXBuildFile; fileRef = 008AB8A01B04382600E5DF56 /* UIKitFunction_lua.m */; }; - 008AB8BC1B04382600E5DF56 /* tolua++.h in Headers */ = {isa = PBXBuildFile; fileRef = 008AB8A11B04382600E5DF56 /* tolua++.h */; }; - 008AB8BD1B04382600E5DF56 /* tolua_event.c in Sources */ = {isa = PBXBuildFile; fileRef = 008AB8A21B04382600E5DF56 /* tolua_event.c */; }; - 008AB8BE1B04382600E5DF56 /* tolua_event.h in Headers */ = {isa = PBXBuildFile; fileRef = 008AB8A31B04382600E5DF56 /* tolua_event.h */; }; - 008AB8BF1B04382600E5DF56 /* tolua_is.c in Sources */ = {isa = PBXBuildFile; fileRef = 008AB8A41B04382600E5DF56 /* tolua_is.c */; }; - 008AB8C01B04382600E5DF56 /* tolua_map.c in Sources */ = {isa = PBXBuildFile; fileRef = 008AB8A51B04382600E5DF56 /* tolua_map.c */; }; - 008AB8C11B04382600E5DF56 /* tolua_push.c in Sources */ = {isa = PBXBuildFile; fileRef = 008AB8A61B04382600E5DF56 /* tolua_push.c */; }; - 008AB8C21B04382600E5DF56 /* tolua_to.c in Sources */ = {isa = PBXBuildFile; fileRef = 008AB8A71B04382600E5DF56 /* tolua_to.c */; }; - 008AB8C31B04382600E5DF56 /* wax_capi.h in Headers */ = {isa = PBXBuildFile; fileRef = 008AB8A81B04382600E5DF56 /* wax_capi.h */; }; - 008AB8C41B04382600E5DF56 /* wax_capi.m in Sources */ = {isa = PBXBuildFile; fileRef = 008AB8A91B04382600E5DF56 /* wax_capi.m */; }; - 00E9B1691AEFB272004EDF30 /* wax_config.h in Headers */ = {isa = PBXBuildFile; fileRef = 00E9B1621AEFB272004EDF30 /* wax_config.h */; }; - 00E9B16A1AEFB272004EDF30 /* wax_config.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E9B1631AEFB272004EDF30 /* wax_config.m */; }; - 00E9B16D1AEFB272004EDF30 /* wax_lock.h in Headers */ = {isa = PBXBuildFile; fileRef = 00E9B1661AEFB272004EDF30 /* wax_lock.h */; }; - 00E9B16E1AEFB272004EDF30 /* wax_lock.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E9B1671AEFB272004EDF30 /* wax_lock.m */; }; - 00E9B16F1AEFB272004EDF30 /* wax_define.h in Headers */ = {isa = PBXBuildFile; fileRef = 00E9B1681AEFB272004EDF30 /* wax_define.h */; }; - 00F09AAA1BEB3374006DCE1C /* wax_CGTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = 00F09AA51BEB3374006DCE1C /* wax_CGTransform.h */; }; - 00F09AAB1BEB3374006DCE1C /* wax_CGTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = 00F09AA61BEB3374006DCE1C /* wax_CGTransform.m */; }; - 00F09AAC1BEB3374006DCE1C /* wax_CGContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 00F09AA81BEB3374006DCE1C /* wax_CGContext.h */; }; - 00F09AAD1BEB3374006DCE1C /* wax_CGContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 00F09AA91BEB3374006DCE1C /* wax_CGContext.m */; }; - 00F09AB31BEB338D006DCE1C /* wax_sqlite.h in Headers */ = {isa = PBXBuildFile; fileRef = 00F09AAF1BEB338D006DCE1C /* wax_sqlite.h */; }; - 00F09AB41BEB338E006DCE1C /* wax_sqlite.m in Sources */ = {isa = PBXBuildFile; fileRef = 00F09AB01BEB338D006DCE1C /* wax_sqlite.m */; }; - 00F09AB51BEB338E006DCE1C /* wax_sqlite_operation.h in Headers */ = {isa = PBXBuildFile; fileRef = 00F09AB11BEB338D006DCE1C /* wax_sqlite_operation.h */; }; - 00F09AB61BEB338E006DCE1C /* wax_sqlite_operation.m in Sources */ = {isa = PBXBuildFile; fileRef = 00F09AB21BEB338D006DCE1C /* wax_sqlite_operation.m */; }; - 043D108212C92D6700775F70 /* wax_filesystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D0FF512C92D6600775F70 /* wax_filesystem.m */; }; - 043D108412C92D6700775F70 /* wax_http.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D0FF812C92D6600775F70 /* wax_http.m */; }; - 043D108612C92D6700775F70 /* wax_http_connection.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D0FFA12C92D6600775F70 /* wax_http_connection.m */; }; - 043D108712C92D6700775F70 /* wax_json.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D0FFD12C92D6600775F70 /* wax_json.c */; }; - 043D108C12C92D6700775F70 /* yajl.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D100412C92D6600775F70 /* yajl.c */; }; - 043D108D12C92D6700775F70 /* yajl_alloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D100512C92D6600775F70 /* yajl_alloc.c */; }; - 043D108F12C92D6700775F70 /* yajl_buf.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D100712C92D6600775F70 /* yajl_buf.c */; }; - 043D109312C92D6700775F70 /* yajl_encode.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D100B12C92D6600775F70 /* yajl_encode.c */; }; - 043D109512C92D6700775F70 /* yajl_gen.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D100D12C92D6600775F70 /* yajl_gen.c */; }; - 043D109712C92D6700775F70 /* yajl_lex.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D100F12C92D6600775F70 /* yajl_lex.c */; }; - 043D109A12C92D6700775F70 /* yajl_parser.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D101212C92D6600775F70 /* yajl_parser.c */; }; - 043D10A112C92D6700775F70 /* wax_xml.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D101C12C92D6600775F70 /* wax_xml.m */; }; - 043D10A212C92D6700775F70 /* lapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D101E12C92D6600775F70 /* lapi.c */; }; - 043D10A412C92D6700775F70 /* lauxlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D102012C92D6600775F70 /* lauxlib.c */; }; - 043D10A612C92D6700775F70 /* lbaselib.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D102212C92D6600775F70 /* lbaselib.c */; }; - 043D10A712C92D6700775F70 /* lcode.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D102312C92D6600775F70 /* lcode.c */; }; - 043D10A912C92D6700775F70 /* ldblib.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D102512C92D6600775F70 /* ldblib.c */; }; - 043D10AA12C92D6700775F70 /* ldebug.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D102612C92D6600775F70 /* ldebug.c */; }; - 043D10AC12C92D6700775F70 /* ldo.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D102812C92D6600775F70 /* ldo.c */; }; - 043D10AE12C92D6700775F70 /* ldump.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D102A12C92D6600775F70 /* ldump.c */; }; - 043D10AF12C92D6700775F70 /* lfunc.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D102B12C92D6600775F70 /* lfunc.c */; }; - 043D10B112C92D6700775F70 /* lgc.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D102D12C92D6600775F70 /* lgc.c */; }; - 043D10B312C92D6700775F70 /* linit.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D102F12C92D6600775F70 /* linit.c */; }; - 043D10B412C92D6700775F70 /* liolib.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D103012C92D6600775F70 /* liolib.c */; }; - 043D10B512C92D6700775F70 /* llex.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D103112C92D6600775F70 /* llex.c */; }; - 043D10B812C92D6700775F70 /* lmathlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D103412C92D6600775F70 /* lmathlib.c */; }; - 043D10B912C92D6700775F70 /* lmem.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D103512C92D6600775F70 /* lmem.c */; }; - 043D10BB12C92D6700775F70 /* loadlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D103712C92D6600775F70 /* loadlib.c */; }; - 043D10BC12C92D6700775F70 /* lobject.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D103812C92D6600775F70 /* lobject.c */; }; - 043D10BE12C92D6700775F70 /* lopcodes.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D103A12C92D6600775F70 /* lopcodes.c */; }; - 043D10C012C92D6700775F70 /* loslib.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D103C12C92D6600775F70 /* loslib.c */; }; - 043D10C112C92D6700775F70 /* lparser.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D103D12C92D6600775F70 /* lparser.c */; }; - 043D10C312C92D6700775F70 /* lstate.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D103F12C92D6700775F70 /* lstate.c */; }; - 043D10C512C92D6700775F70 /* lstring.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D104112C92D6700775F70 /* lstring.c */; }; - 043D10C712C92D6700775F70 /* lstrlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D104312C92D6700775F70 /* lstrlib.c */; }; - 043D10C812C92D6700775F70 /* ltable.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D104412C92D6700775F70 /* ltable.c */; }; - 043D10CA12C92D6700775F70 /* ltablib.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D104612C92D6700775F70 /* ltablib.c */; }; - 043D10CB12C92D6700775F70 /* ltm.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D104712C92D6700775F70 /* ltm.c */; }; - 043D10D012C92D6700775F70 /* lundump.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D104C12C92D6700775F70 /* lundump.c */; }; - 043D10D212C92D6700775F70 /* lvm.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D104E12C92D6700775F70 /* lvm.c */; }; - 043D10D412C92D6700775F70 /* lzio.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D105012C92D6700775F70 /* lzio.c */; }; - 043D10D612C92D6700775F70 /* print.c in Sources */ = {isa = PBXBuildFile; fileRef = 043D105212C92D6700775F70 /* print.c */; }; - 043D10D812C92D6700775F70 /* wax.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D106F12C92D6700775F70 /* wax.m */; }; - 043D10DA12C92D6700775F70 /* wax_class.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D107112C92D6700775F70 /* wax_class.m */; }; - 043D10DC12C92D6700775F70 /* wax_gc.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D107312C92D6700775F70 /* wax_gc.m */; }; - 043D10DE12C92D6700775F70 /* wax_helpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D107512C92D6700775F70 /* wax_helpers.m */; }; - 043D10E012C92D6700775F70 /* wax_instance.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D107712C92D6700775F70 /* wax_instance.m */; }; - 043D10E212C92D6700775F70 /* wax_server.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D107912C92D6700775F70 /* wax_server.m */; }; - 043D10E512C92D6700775F70 /* wax_struct.m in Sources */ = {isa = PBXBuildFile; fileRef = 043D107C12C92D6700775F70 /* wax_struct.m */; }; + 0524C3832E579D890034275B /* bin in Resources */ = {isa = PBXBuildFile; fileRef = 0524C3822E579D890034275B /* bin */; }; + 0524C3852E57A3F10034275B /* wax_http.h in Headers */ = {isa = PBXBuildFile; fileRef = 043D0FF712C92D6600775F70 /* wax_http.h */; settings = {ATTRIBUTES = (Public, ); }; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -263,10 +174,90 @@ 043D107A12C92D6700775F70 /* wax_stdlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wax_stdlib.h; sourceTree = ""; }; 043D107B12C92D6700775F70 /* wax_struct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wax_struct.h; sourceTree = ""; }; 043D107C12C92D6700775F70 /* wax_struct.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = wax_struct.m; sourceTree = ""; }; + 0524C1F02E5792650034275B /* Wax.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Wax.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0524C3822E579D890034275B /* bin */ = {isa = PBXFileReference; lastKnownFileType = folder; name = bin; path = ../../bin; sourceTree = ""; }; AA747D9E0F9514B9006C5449 /* Framework_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Framework_Prefix.pch; sourceTree = SOURCE_ROOT; }; - D2AAC07E0554694100DB518D /* libwax.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwax.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ +/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ + 0524C37E2E5792FC0034275B /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = { + isa = PBXFileSystemSynchronizedBuildFileExceptionSet; + membershipExceptions = ( + bin/hammer, + "bin/update-xibs", + bin/waxsim, + "lib/build-scripts/compile-stdlib.sh", + "lib/build-scripts/compile-stdlib32&64.sh", + "lib/build-scripts/copy-scripts32.sh", + "lib/build-scripts/copy-scripts64.sh", + "lib/build-scripts/lua32", + "lib/build-scripts/lua64", + "lib/build-scripts/luac.lua", + "lib/build-scripts/luac32", + "lib/build-scripts/luac32.lua", + "lib/build-scripts/luac64", + "lib/build-scripts/luac64.lua", + "lib/extensions/capi/tolua++/bind/dispatch_lua.pkg", + "lib/extensions/capi/tolua++/bind/objc_runtime_lua.pkg", + "lib/extensions/capi/tolua++/bind/pthread.pkg", + "lib/extensions/capi/tolua++/bind/UIKitFunction.pkg", + lib/extensions/HTTP/wax_http.h, + lib/extensions/json/Rakefile, + "lib/extensions/json/yajl-1.0.9.tar.gz", + lib/project.rake, + lib/stdlib/enums.lua, + lib/stdlib/ext/block.lua, + lib/stdlib/ext/http.lua, + lib/stdlib/ext/init.lua, + lib/stdlib/ext/number.lua, + lib/stdlib/ext/string.lua, + lib/stdlib/ext/table.lua, + lib/stdlib/helpers/autoload.lua, + lib/stdlib/helpers/base64.lua, + lib/stdlib/helpers/bit.lua, + lib/stdlib/helpers/cache.lua, + lib/stdlib/helpers/callback.lua, + lib/stdlib/helpers/frame.lua, + lib/stdlib/helpers/init.lua, + lib/stdlib/helpers/pickView.lua, + lib/stdlib/helpers/time.lua, + lib/stdlib/helpers/WaxServer.lua, + lib/stdlib/init.lua, + lib/stdlib/luaspec/init.lua, + lib/stdlib/luaspec/luamock.lua, + lib/stdlib/luaspec/luaspec.lua, + lib/stdlib/repl.lua, + lib/stdlib/structs.lua, + lib/stdlib/waxClass.lua, + ); + publicHeaders = ( + lib/extensions/filesystem/wax_filesystem.h, + "lib/extensions/ivar/NSObject+TBIvarAccess.h", + lib/extensions/json/wax_json.h, + lib/extensions/xml/wax_xml.h, + lib/lua/lua.h, + lib/lua/luaconf.h, + lib/wax_luau.h, + lib/wax.h, + ); + target = 0524C1EF2E5792650034275B /* Wax */; + }; +/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ + +/* Begin PBXFileSystemSynchronizedRootGroup section */ + 0524C1F12E5792650034275B /* Wax */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (0524C37E2E5792FC0034275B /* PBXFileSystemSynchronizedBuildFileExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = Wax; sourceTree = ""; }; +/* End PBXFileSystemSynchronizedRootGroup section */ + +/* Begin PBXFrameworksBuildPhase section */ + 0524C1ED2E5792650034275B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + /* Begin PBXGroup section */ 000DD9D21DCC739D00E2C840 /* memory */ = { isa = PBXGroup; @@ -392,7 +383,7 @@ 034768DFFF38A50411DB9C8B /* Products */ = { isa = PBXGroup; children = ( - D2AAC07E0554694100DB518D /* libwax.a */, + 0524C1F02E5792650034275B /* Wax.framework */, ); name = Products; sourceTree = ""; @@ -631,9 +622,11 @@ 0867D691FE84028FC02AAC07 /* Framework */ = { isa = PBXGroup; children = ( + 0524C3822E579D890034275B /* bin */, 043D0FE712C92D6600775F70 /* Wax */, 08FB77AEFE84172EC02AAC07 /* Classes */, 32C88DFF0371C24200C91783 /* Other Sources */, + 0524C1F12E5792650034275B /* Wax */, 034768DFFF38A50411DB9C8B /* Products */, ); name = Framework; @@ -659,50 +652,39 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - D2AAC07A0554694100DB518D /* Headers */ = { + 0524C1EB2E5792650034275B /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 008AB8B61B04382600E5DF56 /* wax_block_transfer_pool.h in Headers */, - 008AB8BE1B04382600E5DF56 /* tolua_event.h in Headers */, - 00E9B16F1AEFB272004EDF30 /* wax_define.h in Headers */, - 00F09AB31BEB338D006DCE1C /* wax_sqlite.h in Headers */, - 008AB8BC1B04382600E5DF56 /* tolua++.h in Headers */, - 008AB8B41B04382600E5DF56 /* wax_block_transfer.h in Headers */, - 00F09AAC1BEB3374006DCE1C /* wax_CGContext.h in Headers */, - 008AB8AA1B04382600E5DF56 /* NSObject+TBIvarAccess.h in Headers */, - 00F09AAA1BEB3374006DCE1C /* wax_CGTransform.h in Headers */, - 008AB8B01B04382600E5DF56 /* wax_block_call.h in Headers */, - 008AB8C31B04382600E5DF56 /* wax_capi.h in Headers */, - 006181821BCF546D00B9F155 /* wax_block_description.h in Headers */, - 000DD9D51DCC739D00E2C840 /* wax_memory.h in Headers */, - 00F09AB51BEB338E006DCE1C /* wax_sqlite_operation.h in Headers */, - 00E9B16D1AEFB272004EDF30 /* wax_lock.h in Headers */, - 008AB8B21B04382600E5DF56 /* wax_block_call_pool.h in Headers */, - 00E9B1691AEFB272004EDF30 /* wax_config.h in Headers */, - 008AB8AE1B04382600E5DF56 /* wax_block.h in Headers */, + 0524C3852E57A3F10034275B /* wax_http.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - D2AAC07D0554694100DB518D /* Wax */ = { + 0524C1EF2E5792650034275B /* Wax */ = { isa = PBXNativeTarget; - buildConfigurationList = 1DEB921E08733DC00010E9CD /* Build configuration list for PBXNativeTarget "Wax" */; + buildConfigurationList = 0524C1F42E5792650034275B /* Build configuration list for PBXNativeTarget "Wax" */; buildPhases = ( - 0415600712D3DA2F00FA4BA9 /* Compile stdlib scripts */, - D2AAC07A0554694100DB518D /* Headers */, - D2AAC07B0554694100DB518D /* Sources */, + 0524C1EB2E5792650034275B /* Headers */, + 0524C1EC2E5792650034275B /* Sources */, + 0524C1ED2E5792650034275B /* Frameworks */, + 0524C3802E579CB70034275B /* Resources */, ); buildRules = ( ); dependencies = ( ); + fileSystemSynchronizedGroups = ( + 0524C1F12E5792650034275B /* Wax */, + ); name = Wax; - productName = Framework; - productReference = D2AAC07E0554694100DB518D /* libwax.a */; - productType = "com.apple.product-type.library.static"; + packageProductDependencies = ( + ); + productName = Wax; + productReference = 0524C1F02E5792650034275B /* Wax.framework */; + productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ @@ -710,6 +692,14 @@ 0867D690FE84028FC02AAC07 /* Project object */ = { isa = PBXProject; attributes = { + BuildIndependentTargetsInParallel = YES; + LastSwiftUpdateCheck = 1640; + LastUpgradeCheck = 1640; + TargetAttributes = { + 0524C1EF2E5792650034275B = { + CreatedOnToolsVersion = 16.4; + }; + }; }; buildConfigurationList = 1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "Framework" */; compatibilityVersion = "Xcode 3.1"; @@ -726,195 +716,263 @@ projectDirPath = ""; projectRoot = ""; targets = ( - D2AAC07D0554694100DB518D /* Wax */, + 0524C1EF2E5792650034275B /* Wax */, ); }; /* End PBXProject section */ -/* Begin PBXShellScriptBuildPhase section */ - 0415600712D3DA2F00FA4BA9 /* Compile stdlib scripts */ = { - isa = PBXShellScriptBuildPhase; +/* Begin PBXResourcesBuildPhase section */ + 0524C3802E579CB70034275B /* Resources */ = { + isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - ); - inputPaths = ( - ); - name = "Compile stdlib scripts"; - outputPaths = ( + 0524C3832E579D890034275B /* bin in Resources */, ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/zsh; - shellScript = "#\"$PROJECT_DIR/wax/lib/build-scripts/compile-stdlib.sh\""; - showEnvVarsInLog = 0; }; -/* End PBXShellScriptBuildPhase section */ +/* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - D2AAC07B0554694100DB518D /* Sources */ = { + 0524C1EC2E5792650034275B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 043D108212C92D6700775F70 /* wax_filesystem.m in Sources */, - 00E9B16E1AEFB272004EDF30 /* wax_lock.m in Sources */, - 008AB8C01B04382600E5DF56 /* tolua_map.c in Sources */, - 043D108412C92D6700775F70 /* wax_http.m in Sources */, - 043D108612C92D6700775F70 /* wax_http_connection.m in Sources */, - 008AB8BD1B04382600E5DF56 /* tolua_event.c in Sources */, - 043D108712C92D6700775F70 /* wax_json.c in Sources */, - 043D108C12C92D6700775F70 /* yajl.c in Sources */, - 043D108D12C92D6700775F70 /* yajl_alloc.c in Sources */, - 043D108F12C92D6700775F70 /* yajl_buf.c in Sources */, - 008AB8B11B04382600E5DF56 /* wax_block_call.m in Sources */, - 043D109312C92D6700775F70 /* yajl_encode.c in Sources */, - 043D109512C92D6700775F70 /* yajl_gen.c in Sources */, - 043D109712C92D6700775F70 /* yajl_lex.c in Sources */, - 008AB8AB1B04382600E5DF56 /* NSObject+TBIvarAccess.m in Sources */, - 043D109A12C92D6700775F70 /* yajl_parser.c in Sources */, - 043D10A112C92D6700775F70 /* wax_xml.m in Sources */, - 043D10A212C92D6700775F70 /* lapi.c in Sources */, - 043D10A412C92D6700775F70 /* lauxlib.c in Sources */, - 043D10A612C92D6700775F70 /* lbaselib.c in Sources */, - 043D10A712C92D6700775F70 /* lcode.c in Sources */, - 043D10A912C92D6700775F70 /* ldblib.c in Sources */, - 043D10AA12C92D6700775F70 /* ldebug.c in Sources */, - 043D10AC12C92D6700775F70 /* ldo.c in Sources */, - 043D10AE12C92D6700775F70 /* ldump.c in Sources */, - 043D10AF12C92D6700775F70 /* lfunc.c in Sources */, - 043D10B112C92D6700775F70 /* lgc.c in Sources */, - 043D10B312C92D6700775F70 /* linit.c in Sources */, - 008AB8C11B04382600E5DF56 /* tolua_push.c in Sources */, - 043D10B412C92D6700775F70 /* liolib.c in Sources */, - 000DD9D61DCC739D00E2C840 /* wax_memory.m in Sources */, - 008AB8B51B04382600E5DF56 /* wax_block_transfer.m in Sources */, - 043D10B512C92D6700775F70 /* llex.c in Sources */, - 043D10B812C92D6700775F70 /* lmathlib.c in Sources */, - 008AB8B31B04382600E5DF56 /* wax_block_call_pool.m in Sources */, - 008AB8B91B04382600E5DF56 /* objc_runtime_lua.m in Sources */, - 043D10B912C92D6700775F70 /* lmem.c in Sources */, - 043D10BB12C92D6700775F70 /* loadlib.c in Sources */, - 00F09AB41BEB338E006DCE1C /* wax_sqlite.m in Sources */, - 008AB8BF1B04382600E5DF56 /* tolua_is.c in Sources */, - 043D10BC12C92D6700775F70 /* lobject.c in Sources */, - 00F09AAB1BEB3374006DCE1C /* wax_CGTransform.m in Sources */, - 043D10BE12C92D6700775F70 /* lopcodes.c in Sources */, - 006181831BCF546D00B9F155 /* wax_block_description.m in Sources */, - 043D10C012C92D6700775F70 /* loslib.c in Sources */, - 043D10C112C92D6700775F70 /* lparser.c in Sources */, - 043D10C312C92D6700775F70 /* lstate.c in Sources */, - 043D10C512C92D6700775F70 /* lstring.c in Sources */, - 043D10C712C92D6700775F70 /* lstrlib.c in Sources */, - 008AB8B71B04382600E5DF56 /* wax_block_transfer_pool.m in Sources */, - 043D10C812C92D6700775F70 /* ltable.c in Sources */, - 00F09AB61BEB338E006DCE1C /* wax_sqlite_operation.m in Sources */, - 008AB8B81B04382600E5DF56 /* dispatch_lua.m in Sources */, - 043D10CA12C92D6700775F70 /* ltablib.c in Sources */, - 043D10CB12C92D6700775F70 /* ltm.c in Sources */, - 043D10D012C92D6700775F70 /* lundump.c in Sources */, - 043D10D212C92D6700775F70 /* lvm.c in Sources */, - 00E9B16A1AEFB272004EDF30 /* wax_config.m in Sources */, - 043D10D412C92D6700775F70 /* lzio.c in Sources */, - 043D10D612C92D6700775F70 /* print.c in Sources */, - 008AB8BB1B04382600E5DF56 /* UIKitFunction_lua.m in Sources */, - 043D10D812C92D6700775F70 /* wax.m in Sources */, - 043D10DA12C92D6700775F70 /* wax_class.m in Sources */, - 00F09AAD1BEB3374006DCE1C /* wax_CGContext.m in Sources */, - 043D10DC12C92D6700775F70 /* wax_gc.m in Sources */, - 043D10DE12C92D6700775F70 /* wax_helpers.m in Sources */, - 008AB8BA1B04382600E5DF56 /* pthread_lua.m in Sources */, - 043D10E012C92D6700775F70 /* wax_instance.m in Sources */, - 043D10E212C92D6700775F70 /* wax_server.m in Sources */, - 008AB8AF1B04382600E5DF56 /* wax_block.m in Sources */, - 008AB8C41B04382600E5DF56 /* wax_capi.m in Sources */, - 008AB8C21B04382600E5DF56 /* tolua_to.c in Sources */, - 043D10E512C92D6700775F70 /* wax_struct.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin XCBuildConfiguration section */ - 1DEB921F08733DC00010E9CD /* Debug */ = { + 0524C1F52E5792650034275B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD)"; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = NO; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/Framework.dst; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = Framework_Prefix.pch; - HEADER_SEARCH_PATHS = "$(SDK_ROOT)/usr/include/libxml2"; - INSTALL_PATH = /usr/local/lib; - IPHONEOS_DEPLOYMENT_TARGET = 5.0; - OTHER_LDFLAGS = ""; - PRODUCT_NAME = wax; - VALID_ARCHS = "$(ARCHS_STANDARD)"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MACH_O_TYPE = staticlib; + MACOSX_DEPLOYMENT_TARGET = 15.5; + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.alibaba.Wax; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = auto; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx xros xrsimulator"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_INSTALL_MODULE = YES; + SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,7"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + XROS_DEPLOYMENT_TARGET = 2.5; }; name = Debug; }; - 1DEB922008733DC00010E9CD /* Release */ = { + 0524C1F62E5792650034275B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD)"; - DSTROOT = /tmp/Framework.dst; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = Framework_Prefix.pch; - HEADER_SEARCH_PATHS = "$(BASE_SDK)/usr/include/libxml2"; - INSTALL_PATH = /usr/local/lib; - IPHONEOS_DEPLOYMENT_TARGET = 5.0; - LINK_WITH_STANDARD_LIBRARIES = NO; - ONLY_ACTIVE_ARCH = NO; - OTHER_LDFLAGS = ""; - PRODUCT_NAME = wax; - STRIP_STYLE = all; - TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = "$(ARCHS_STANDARD)"; - WRAPPER_EXTENSION = framework; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = NO; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MACH_O_TYPE = staticlib; + MACOSX_DEPLOYMENT_TARGET = 15.5; + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.alibaba.Wax; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = auto; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx xros xrsimulator"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_INSTALL_MODULE = YES; + SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,7"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + XROS_DEPLOYMENT_TARGET = 2.5; }; name = Release; }; 1DEB922308733DC00010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; + 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = NO; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = LUA_USE_MKSTEMP; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 5.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = "-ObjC"; - PREBINDING = NO; SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; + WARNING_CFLAGS = ""; }; name = Debug; }; 1DEB922408733DC00010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; + 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = NO; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = LUA_USE_MKSTEMP; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 5.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; OTHER_LDFLAGS = "-ObjC"; - PREBINDING = NO; SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; + WARNING_CFLAGS = ""; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 1DEB921E08733DC00010E9CD /* Build configuration list for PBXNativeTarget "Wax" */ = { + 0524C1F42E5792650034275B /* Build configuration list for PBXNativeTarget "Wax" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1DEB921F08733DC00010E9CD /* Debug */, - 1DEB922008733DC00010E9CD /* Release */, + 0524C1F52E5792650034275B /* Debug */, + 0524C1F62E5792650034275B /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/tools/Framework/Framework.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/tools/Framework/Framework.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/tools/Framework/Framework.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/tools/Framework/Framework.xcodeproj/xcshareddata/xcschemes/WaxFramework.xcscheme b/tools/Framework/Framework.xcodeproj/xcshareddata/xcschemes/WaxFramework.xcscheme new file mode 100644 index 00000000..4ab2be9c --- /dev/null +++ b/tools/Framework/Framework.xcodeproj/xcshareddata/xcschemes/WaxFramework.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/Framework/Scripts/build b/tools/Framework/Scripts/build index dc5d0472..484c772c 100755 --- a/tools/Framework/Scripts/build +++ b/tools/Framework/Scripts/build @@ -1,4 +1,17 @@ #!/bin/bash -xcodebuild -configuration Release -target "Wax" -sdk iphoneos -xcodebuild -configuration Release -target "Wax" -sdk iphonesimulator +xcodebuild archive \ + -scheme WaxFramework \ + -destination "generic/platform=iOS" \ + -archivePath ./build/ios_devices.xcarchive \ + SKIP_INSTALL=NO \ + BUILD_LIBRARY_FOR_DISTRIBUTION=YES + + +xcodebuild archive \ + -scheme WaxFramework \ + -destination "generic/platform=iOS Simulator" \ + -archivePath ./build/ios_sim.xcarchive \ + SKIP_INSTALL=NO \ + BUILD_LIBRARY_FOR_DISTRIBUTION=YES + diff --git a/tools/Framework/Scripts/package b/tools/Framework/Scripts/package index 382605f2..22ec3ec3 100755 --- a/tools/Framework/Scripts/package +++ b/tools/Framework/Scripts/package @@ -1,78 +1,9 @@ #!/bin/bash -FRAMEWORK_NAME=wax -FRAMEWORK_VERSION=A -FRAMEWORK_CURRENT_VERSION=0.9 -FRAMEWORK_COMPATIBILITY_VERSION=0.9 -BUILD_TYPE=Release - -# This is the full name of the framework we'll build -FRAMEWORK_DIR=$FRAMEWORK_NAME.framework - -# Clean any existing framework that might be there already -echo "Framework: Cleaning framework..." -[ -d "$FRAMEWORK_DIR" ] && \ - rm -rf "$FRAMEWORK_DIR" - -# Build the canonical Framework bundle directory structure -echo "Framework: Setting up directories..." -mkdir -p $FRAMEWORK_DIR -mkdir -p $FRAMEWORK_DIR/Versions -mkdir -p $FRAMEWORK_DIR/Versions/$FRAMEWORK_VERSION -mkdir -p $FRAMEWORK_DIR/Versions/$FRAMEWORK_VERSION/Resources -mkdir -p $FRAMEWORK_DIR/Versions/$FRAMEWORK_VERSION/Headers - -echo "Framework: Creating symlinks..." -ln -s $FRAMEWORK_VERSION $FRAMEWORK_DIR/Versions/Current -ln -s Versions/Current/Headers $FRAMEWORK_DIR/Headers -ln -s Versions/Current/Resources $FRAMEWORK_DIR/Resources -ln -s Versions/Current/$FRAMEWORK_NAME $FRAMEWORK_DIR/$FRAMEWORK_NAME - -# Check that this is what your static libraries are called -FRAMEWORK_INPUT_ARM_FILES="build/$BUILD_TYPE-iphoneos/lib$FRAMEWORK_NAME.a" -FRAMEWORK_INPUT_I386_FILES="build/$BUILD_TYPE-iphonesimulator/lib$FRAMEWORK_NAME.a" - -# The trick for creating a fully usable library is -# to use lipo to glue the different library -# versions together into one file. When an -# application is linked to this library, the -# linker will extract the appropriate platform -# version and use that. -# The library file is given the same name as the -# framework with no .a extension. - -echo "Framework: Creating library..." - -# lipo \ -# "$FRAMEWORK_INPUT_ARM_FILES" \ -# -create \ -# -arch i386 "$FRAMEWORK_INPUT_I386_FILES" \ -# -o "$FRAMEWORK_DIR/Versions/Current/$FRAMEWORK_NAME" - -lipo -create \ - "$FRAMEWORK_INPUT_ARM_FILES" \ - "$FRAMEWORK_INPUT_I386_FILES" \ - -output "$FRAMEWORK_DIR/Versions/Current/$FRAMEWORK_NAME" - -# Now copy the final assets over: your library -# header files and the plist file -echo "Framework: Copying assets into current version..." - -cp wax/lib/wax.h $FRAMEWORK_DIR/Headers/ -cp wax/lib/lua/lua.h $FRAMEWORK_DIR/Headers/ -cp wax/lib/lua/luaconf.h $FRAMEWORK_DIR/Headers/ -cp wax/lib/extensions/HTTP/wax_http.h $FRAMEWORK_DIR/Headers/ -cp wax/lib/extensions/json/wax_json.h $FRAMEWORK_DIR/Headers/ -cp wax/lib/extensions/xml/wax_xml.h $FRAMEWORK_DIR/Headers/ -cp wax/lib/extensions/filesystem/wax_filesystem.h $FRAMEWORK_DIR/Headers/ - -cp Framework.plist $FRAMEWORK_DIR/Resources/Info.plist -cp wax/lib/build-scripts/copy-scripts.sh $FRAMEWORK_DIR/Resources/ -cp wax/lib/project.rake $FRAMEWORK_DIR/Resources/ -cp -RL wax/bin $FRAMEWORK_DIR/Resources/ - - -# Copy into wax's framework dir WAX_FRAMEWORK_DIR="../../framework" -rm -rf "$WAX_FRAMEWORK_DIR/wax.framework" -mv "wax.framework" "$WAX_FRAMEWORK_DIR" +rm -rf "$WAX_FRAMEWORK_DIR/wax.xcframework" + +xcodebuild -create-xcframework \ + -framework ./build/ios_devices.xcarchive/Products/Library/Frameworks/wax.framework \ + -framework ./build/ios_sim.xcarchive/Products/Library/Frameworks/wax.framework \ + -output "$WAX_FRAMEWORK_DIR/wax.xcframework" diff --git a/tools/Tests/Tests.xcodeproj/project.pbxproj b/tools/Tests/Tests.xcodeproj/project.pbxproj index 86bb50a1..5f13952e 100755 --- a/tools/Tests/Tests.xcodeproj/project.pbxproj +++ b/tools/Tests/Tests.xcodeproj/project.pbxproj @@ -8,7 +8,6 @@ /* Begin PBXBuildFile section */ 00DAC0F61AF0B5CF00206217 /* wax_config.m in Sources */ = {isa = PBXBuildFile; fileRef = 00DAC0F01AF0B5CF00206217 /* wax_config.m */; }; - 00DAC0F71AF0B5CF00206217 /* wax_imp_call_pool.m in Sources */ = {isa = PBXBuildFile; fileRef = 00DAC0F21AF0B5CF00206217 /* wax_imp_call_pool.m */; }; 00DAC0F81AF0B5CF00206217 /* wax_lock.m in Sources */ = {isa = PBXBuildFile; fileRef = 00DAC0F41AF0B5CF00206217 /* wax_lock.m */; }; 00DAC1071AF0B5DA00206217 /* wax_block.m in Sources */ = {isa = PBXBuildFile; fileRef = 00DAC0FB1AF0B5DA00206217 /* wax_block.m */; }; 00DAC1081AF0B5DA00206217 /* wax_block_call.m in Sources */ = {isa = PBXBuildFile; fileRef = 00DAC0FD1AF0B5DA00206217 /* wax_block_call.m */; }; @@ -69,6 +68,21 @@ 04D22AA3113EEB48000F7048 /* SimpleDelegateObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 04D22A9C113EEB48000F7048 /* SimpleDelegateObject.m */; }; 04D22AA4113EEB48000F7048 /* SimpleObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 04D22A9E113EEB48000F7048 /* SimpleObject.m */; }; 04D22AA5113EEB48000F7048 /* Structs.m in Sources */ = {isa = PBXBuildFile; fileRef = 04D22AA2113EEB48000F7048 /* Structs.m */; }; + 0538B4B42E53DD3000470547 /* UIKitFunction.pkg in Resources */ = {isa = PBXBuildFile; fileRef = 0538B4A92E53DD3000470547 /* UIKitFunction.pkg */; }; + 0538B4B52E53DD3000470547 /* pthread.pkg in Resources */ = {isa = PBXBuildFile; fileRef = 0538B4A72E53DD3000470547 /* pthread.pkg */; }; + 0538B4B62E53DD3000470547 /* objc_runtime_lua.pkg in Resources */ = {isa = PBXBuildFile; fileRef = 0538B4A62E53DD3000470547 /* objc_runtime_lua.pkg */; }; + 0538B4B72E53DD3000470547 /* dispatch_lua.pkg in Resources */ = {isa = PBXBuildFile; fileRef = 0538B4A42E53DD3000470547 /* dispatch_lua.pkg */; }; + 0538B4B82E53DD3000470547 /* objc_runtime_lua.m in Sources */ = {isa = PBXBuildFile; fileRef = 0538B4A52E53DD3000470547 /* objc_runtime_lua.m */; }; + 0538B4B92E53DD3000470547 /* tolua_to.c in Sources */ = {isa = PBXBuildFile; fileRef = 0538B4B12E53DD3000470547 /* tolua_to.c */; }; + 0538B4BA2E53DD3000470547 /* pthread_lua.m in Sources */ = {isa = PBXBuildFile; fileRef = 0538B4A82E53DD3000470547 /* pthread_lua.m */; }; + 0538B4BB2E53DD3000470547 /* tolua_is.c in Sources */ = {isa = PBXBuildFile; fileRef = 0538B4AE2E53DD3000470547 /* tolua_is.c */; }; + 0538B4BC2E53DD3000470547 /* tolua_push.c in Sources */ = {isa = PBXBuildFile; fileRef = 0538B4B02E53DD3000470547 /* tolua_push.c */; }; + 0538B4BD2E53DD3000470547 /* tolua_event.c in Sources */ = {isa = PBXBuildFile; fileRef = 0538B4AD2E53DD3000470547 /* tolua_event.c */; }; + 0538B4BE2E53DD3000470547 /* UIKitFunction_lua.m in Sources */ = {isa = PBXBuildFile; fileRef = 0538B4AA2E53DD3000470547 /* UIKitFunction_lua.m */; }; + 0538B4BF2E53DD3000470547 /* tolua_map.c in Sources */ = {isa = PBXBuildFile; fileRef = 0538B4AF2E53DD3000470547 /* tolua_map.c */; }; + 0538B4C02E53DD3000470547 /* dispatch_lua.m in Sources */ = {isa = PBXBuildFile; fileRef = 0538B4A32E53DD3000470547 /* dispatch_lua.m */; }; + 0538B4C42E53DD4700470547 /* wax_memory.m in Sources */ = {isa = PBXBuildFile; fileRef = 0538B4C22E53DD4700470547 /* wax_memory.m */; }; + 0538B4C72E53DD6500470547 /* wax_block_description.m in Sources */ = {isa = PBXBuildFile; fileRef = 0538B4C62E53DD6500470547 /* wax_block_description.m */; }; 1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; }; 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; @@ -83,6 +97,8 @@ compilerSpec = com.apple.compilers.proxy.script; filePatterns = "*.lua"; fileType = pattern.proxy; + inputFiles = ( + ); isEditable = 1; outputFiles = ( ); @@ -93,8 +109,6 @@ /* Begin PBXFileReference section */ 00DAC0EF1AF0B5CF00206217 /* wax_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wax_config.h; sourceTree = ""; }; 00DAC0F01AF0B5CF00206217 /* wax_config.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = wax_config.m; sourceTree = ""; }; - 00DAC0F11AF0B5CF00206217 /* wax_imp_call_pool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wax_imp_call_pool.h; sourceTree = ""; }; - 00DAC0F21AF0B5CF00206217 /* wax_imp_call_pool.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = wax_imp_call_pool.m; sourceTree = ""; }; 00DAC0F31AF0B5CF00206217 /* wax_lock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wax_lock.h; sourceTree = ""; }; 00DAC0F41AF0B5CF00206217 /* wax_lock.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = wax_lock.m; sourceTree = ""; }; 00DAC0F51AF0B5CF00206217 /* wax_define.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = wax_define.h; path = ../../../../lib/wax_define.h; sourceTree = ""; }; @@ -200,6 +214,7 @@ 043E6132113C3DA5007A6104 /* print.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = print.c; sourceTree = ""; }; 043E6146113C3DA5007A6104 /* wax.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wax.h; sourceTree = ""; }; 043E6147113C3DA5007A6104 /* wax.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = wax.m; sourceTree = ""; }; + 043E6146113C3DA5007A6105 /* wax_luau.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wax_luau.h; sourceTree = ""; }; 043E6148113C3DA5007A6104 /* wax_class.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wax_class.h; sourceTree = ""; }; 043E6149113C3DA5007A6104 /* wax_class.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = wax_class.m; sourceTree = ""; }; 043E614C113C3DA5007A6104 /* wax_helpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wax_helpers.h; sourceTree = ""; }; @@ -219,6 +234,25 @@ 04D22AA0113EEB48000F7048 /* SimpleProtocolLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SimpleProtocolLoader.h; sourceTree = ""; }; 04D22AA1113EEB48000F7048 /* Structs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Structs.h; sourceTree = ""; }; 04D22AA2113EEB48000F7048 /* Structs.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Structs.m; sourceTree = ""; }; + 0538B4A32E53DD3000470547 /* dispatch_lua.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = dispatch_lua.m; sourceTree = ""; }; + 0538B4A42E53DD3000470547 /* dispatch_lua.pkg */ = {isa = PBXFileReference; lastKnownFileType = text; path = dispatch_lua.pkg; sourceTree = ""; }; + 0538B4A52E53DD3000470547 /* objc_runtime_lua.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = objc_runtime_lua.m; sourceTree = ""; }; + 0538B4A62E53DD3000470547 /* objc_runtime_lua.pkg */ = {isa = PBXFileReference; lastKnownFileType = text; path = objc_runtime_lua.pkg; sourceTree = ""; }; + 0538B4A72E53DD3000470547 /* pthread.pkg */ = {isa = PBXFileReference; lastKnownFileType = text; path = pthread.pkg; sourceTree = ""; }; + 0538B4A82E53DD3000470547 /* pthread_lua.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = pthread_lua.m; sourceTree = ""; }; + 0538B4A92E53DD3000470547 /* UIKitFunction.pkg */ = {isa = PBXFileReference; lastKnownFileType = text; path = UIKitFunction.pkg; sourceTree = ""; }; + 0538B4AA2E53DD3000470547 /* UIKitFunction_lua.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIKitFunction_lua.m; sourceTree = ""; }; + 0538B4AC2E53DD3000470547 /* tolua_event.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = tolua_event.h; sourceTree = ""; }; + 0538B4AD2E53DD3000470547 /* tolua_event.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = tolua_event.c; sourceTree = ""; }; + 0538B4AE2E53DD3000470547 /* tolua_is.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = tolua_is.c; sourceTree = ""; }; + 0538B4AF2E53DD3000470547 /* tolua_map.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = tolua_map.c; sourceTree = ""; }; + 0538B4B02E53DD3000470547 /* tolua_push.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = tolua_push.c; sourceTree = ""; }; + 0538B4B12E53DD3000470547 /* tolua_to.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = tolua_to.c; sourceTree = ""; }; + 0538B4B22E53DD3000470547 /* tolua++.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "tolua++.h"; sourceTree = ""; }; + 0538B4C12E53DD4700470547 /* wax_memory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wax_memory.h; sourceTree = ""; }; + 0538B4C22E53DD4700470547 /* wax_memory.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = wax_memory.m; sourceTree = ""; }; + 0538B4C52E53DD6500470547 /* wax_block_description.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wax_block_description.h; sourceTree = ""; }; + 0538B4C62E53DD6500470547 /* wax_block_description.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = wax_block_description.m; sourceTree = ""; }; 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 1D6058910D05DD3D006BFB54 /* Tests.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Tests.app; sourceTree = BUILT_PRODUCTS_DIR; }; 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; @@ -250,8 +284,6 @@ children = ( 00DAC0EF1AF0B5CF00206217 /* wax_config.h */, 00DAC0F01AF0B5CF00206217 /* wax_config.m */, - 00DAC0F11AF0B5CF00206217 /* wax_imp_call_pool.h */, - 00DAC0F21AF0B5CF00206217 /* wax_imp_call_pool.m */, 00DAC0F31AF0B5CF00206217 /* wax_lock.h */, 00DAC0F41AF0B5CF00206217 /* wax_lock.m */, ); @@ -262,6 +294,8 @@ 00DAC0F91AF0B5DA00206217 /* block */ = { isa = PBXGroup; children = ( + 0538B4C52E53DD6500470547 /* wax_block_description.h */, + 0538B4C62E53DD6500470547 /* wax_block_description.m */, 00DAC0FA1AF0B5DA00206217 /* wax_block.h */, 00DAC0FB1AF0B5DA00206217 /* wax_block.m */, 00DAC0FC1AF0B5DA00206217 /* wax_block_call.h */, @@ -280,6 +314,7 @@ 00DAC1041AF0B5DA00206217 /* capi */ = { isa = PBXGroup; children = ( + 0538B4B32E53DD3000470547 /* tolua++ */, 00DAC1051AF0B5DA00206217 /* wax_capi.h */, 00DAC1061AF0B5DA00206217 /* wax_capi.m */, ); @@ -304,6 +339,7 @@ 043E614D113C3DA5007A6104 /* wax_helpers.m */, 043E614E113C3DA5007A6104 /* wax_instance.h */, 043E614F113C3DA5007A6104 /* wax_instance.m */, + 043E6146113C3DA5007A6105 /* wax_luau.h */, 0413C06E1200C9960069C579 /* wax_server.h */, 0413C06F1200C9960069C579 /* wax_server.m */, 043E6150113C3DA5007A6104 /* wax_struct.h */, @@ -326,6 +362,7 @@ 043E60CD113C3DA5007A6104 /* extensions */ = { isa = PBXGroup; children = ( + 0538B4C32E53DD4700470547 /* memory */, 00DAC0F91AF0B5DA00206217 /* block */, 00DAC1041AF0B5DA00206217 /* capi */, 043E60D4113C3DA5007A6104 /* http */, @@ -462,6 +499,46 @@ path = lua; sourceTree = ""; }; + 0538B4AB2E53DD3000470547 /* bind */ = { + isa = PBXGroup; + children = ( + 0538B4A32E53DD3000470547 /* dispatch_lua.m */, + 0538B4A42E53DD3000470547 /* dispatch_lua.pkg */, + 0538B4A52E53DD3000470547 /* objc_runtime_lua.m */, + 0538B4A62E53DD3000470547 /* objc_runtime_lua.pkg */, + 0538B4A72E53DD3000470547 /* pthread.pkg */, + 0538B4A82E53DD3000470547 /* pthread_lua.m */, + 0538B4A92E53DD3000470547 /* UIKitFunction.pkg */, + 0538B4AA2E53DD3000470547 /* UIKitFunction_lua.m */, + ); + path = bind; + sourceTree = ""; + }; + 0538B4B32E53DD3000470547 /* tolua++ */ = { + isa = PBXGroup; + children = ( + 0538B4AB2E53DD3000470547 /* bind */, + 0538B4AC2E53DD3000470547 /* tolua_event.h */, + 0538B4AD2E53DD3000470547 /* tolua_event.c */, + 0538B4AE2E53DD3000470547 /* tolua_is.c */, + 0538B4AF2E53DD3000470547 /* tolua_map.c */, + 0538B4B02E53DD3000470547 /* tolua_push.c */, + 0538B4B12E53DD3000470547 /* tolua_to.c */, + 0538B4B22E53DD3000470547 /* tolua++.h */, + ); + path = "tolua++"; + sourceTree = ""; + }; + 0538B4C32E53DD4700470547 /* memory */ = { + isa = PBXGroup; + children = ( + 0538B4C12E53DD4700470547 /* wax_memory.h */, + 0538B4C22E53DD4700470547 /* wax_memory.m */, + ); + name = memory; + path = ../../../../../lib/extensions/memory; + sourceTree = ""; + }; 080E96DDFE201D6D7F000001 /* Classes */ = { isa = PBXGroup; children = ( @@ -586,6 +663,10 @@ 91373B241066B2B30089FEE3 /* Entitlements.plist in Resources */, 91373BF01066C8930089FEE3 /* Icon.png in Resources */, 0448E8591288852F002122B7 /* copy-scripts.sh in Resources */, + 0538B4B42E53DD3000470547 /* UIKitFunction.pkg in Resources */, + 0538B4B52E53DD3000470547 /* pthread.pkg in Resources */, + 0538B4B62E53DD3000470547 /* objc_runtime_lua.pkg in Resources */, + 0538B4B72E53DD3000470547 /* dispatch_lua.pkg in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -604,7 +685,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$PROJECT_DIR/wax/lib/build-scripts/copy-scripts.sh\""; + shellScript = "\"$PROJECT_DIR/wax/lib/build-scripts/copy-scripts.sh\"\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -618,6 +699,16 @@ 043E6159113C3DA5007A6104 /* wax_http_connection.m in Sources */, 043E615B113C3DA5007A6104 /* wax_json.c in Sources */, 043E615D113C3DA5007A6104 /* yajl.c in Sources */, + 0538B4B82E53DD3000470547 /* objc_runtime_lua.m in Sources */, + 0538B4B92E53DD3000470547 /* tolua_to.c in Sources */, + 0538B4BA2E53DD3000470547 /* pthread_lua.m in Sources */, + 0538B4C72E53DD6500470547 /* wax_block_description.m in Sources */, + 0538B4BB2E53DD3000470547 /* tolua_is.c in Sources */, + 0538B4BC2E53DD3000470547 /* tolua_push.c in Sources */, + 0538B4BD2E53DD3000470547 /* tolua_event.c in Sources */, + 0538B4BE2E53DD3000470547 /* UIKitFunction_lua.m in Sources */, + 0538B4BF2E53DD3000470547 /* tolua_map.c in Sources */, + 0538B4C02E53DD3000470547 /* dispatch_lua.m in Sources */, 043E615E113C3DA5007A6104 /* yajl_alloc.c in Sources */, 043E615F113C3DA5007A6104 /* yajl_buf.c in Sources */, 00DAC0F61AF0B5CF00206217 /* wax_config.m in Sources */, @@ -655,6 +746,7 @@ 043E617C113C3DA5007A6104 /* lstate.c in Sources */, 00DAC10A1AF0B5DA00206217 /* wax_block_transfer.m in Sources */, 043E617D113C3DA5007A6104 /* lstring.c in Sources */, + 0538B4C42E53DD4700470547 /* wax_memory.m in Sources */, 043E617E113C3DA5007A6104 /* lstrlib.c in Sources */, 043E617F113C3DA5007A6104 /* ltable.c in Sources */, 043E6180113C3DA5007A6104 /* ltablib.c in Sources */, @@ -671,7 +763,6 @@ 04D22AA3113EEB48000F7048 /* SimpleDelegateObject.m in Sources */, 04D22AA4113EEB48000F7048 /* SimpleObject.m in Sources */, 04D22AA5113EEB48000F7048 /* Structs.m in Sources */, - 00DAC0F71AF0B5CF00206217 /* wax_imp_call_pool.m in Sources */, 0413C0701200C9960069C579 /* wax_gc.m in Sources */, 0413C0711200C9960069C579 /* wax_server.m in Sources */, ); @@ -687,6 +778,7 @@ ARCHS = "$(ARCHS_STANDARD)"; CODE_SIGN_IDENTITY = "iPhone Developer"; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 5H77ATHPZT; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -697,10 +789,15 @@ ); HEADER_SEARCH_PATHS = "$(SDK_ROOT)/usr/include/libxml2"; INFOPLIST_FILE = "Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; PRODUCT_NAME = Tests; PROVISIONING_PROFILE = ""; SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + TARGETED_DEVICE_FAMILY = 1; VALID_ARCHS = "$(ARCHS_STANDARD)"; }; name = Debug; @@ -712,15 +809,21 @@ ARCHS = "$(ARCHS_STANDARD)"; CODE_SIGN_IDENTITY = "iPhone Developer"; COPY_PHASE_STRIP = YES; + DEVELOPMENT_TEAM = 5H77ATHPZT; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = Tests_Prefix.pch; GCC_PREPROCESSOR_DEFINITIONS = "WAX_LUA_INIT_SCRIPT='\"AppDelegate\"'"; HEADER_SEARCH_PATHS = "$(SDK_ROOT)/usr/include/libxml2"; INFOPLIST_FILE = "Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; PRODUCT_NAME = Tests; PROVISIONING_PROFILE = ""; SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + TARGETED_DEVICE_FAMILY = 1; VALID_ARCHS = "$(ARCHS_STANDARD)"; }; name = Release; @@ -728,13 +831,13 @@ 91373B1B1066B28C0089FEE3 /* Ad Hoc */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; GCC_C_LANGUAGE_STANDARD = c99; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 6.0; PREBINDING = NO; - SDKROOT = iphoneos4.0; + SDKROOT = iphoneos; }; name = "Ad Hoc"; }; @@ -746,15 +849,21 @@ CODE_SIGN_ENTITLEMENTS = Entitlements.plist; CODE_SIGN_IDENTITY = "iPhone Developer"; COPY_PHASE_STRIP = YES; + DEVELOPMENT_TEAM = ""; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = Tests_Prefix.pch; GCC_PREPROCESSOR_DEFINITIONS = "WAX_LUA_INIT_SCRIPT='\"AppDelegate\"'"; HEADER_SEARCH_PATHS = "$(SDK_ROOT)/usr/include/libxml2"; INFOPLIST_FILE = "Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; PRODUCT_NAME = Tests; PROVISIONING_PROFILE = ""; SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + TARGETED_DEVICE_FAMILY = 1; VALID_ARCHS = "$(ARCHS_STANDARD)"; }; name = "Ad Hoc"; @@ -762,13 +871,13 @@ 91373B201066B2980089FEE3 /* Distribution */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; GCC_C_LANGUAGE_STANDARD = c99; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 6.0; PREBINDING = NO; - SDKROOT = iphoneos4.0; + SDKROOT = iphoneos; }; name = Distribution; }; @@ -779,15 +888,21 @@ ARCHS = "$(ARCHS_STANDARD)"; CODE_SIGN_IDENTITY = "iPhone Developer"; COPY_PHASE_STRIP = YES; + DEVELOPMENT_TEAM = 5H77ATHPZT; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = Tests_Prefix.pch; GCC_PREPROCESSOR_DEFINITIONS = "WAX_LUA_INIT_SCRIPT='\"AppDelegate\"'"; HEADER_SEARCH_PATHS = "$(SDK_ROOT)/usr/include/libxml2"; INFOPLIST_FILE = "Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; PRODUCT_NAME = Tests; PROVISIONING_PROFILE = ""; SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + TARGETED_DEVICE_FAMILY = 1; VALID_ARCHS = "$(ARCHS_STANDARD)"; }; name = Distribution; @@ -795,26 +910,26 @@ C01FCF4F08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; GCC_C_LANGUAGE_STANDARD = c99; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 6.0; PREBINDING = NO; - SDKROOT = iphoneos4.0; + SDKROOT = iphoneos; }; name = Debug; }; C01FCF5008A954540054247B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; GCC_C_LANGUAGE_STANDARD = c99; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 6.0; PREBINDING = NO; - SDKROOT = iphoneos4.0; + SDKROOT = iphoneos; }; name = Release; }; diff --git a/tools/Tests/Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/tools/Tests/Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/tools/Tests/Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/tools/Tests/Tests.xcodeproj/xcshareddata/xcschemes/Tests.xcscheme b/tools/Tests/Tests.xcodeproj/xcshareddata/xcschemes/Tests.xcscheme new file mode 100644 index 00000000..a51dd63e --- /dev/null +++ b/tools/Tests/Tests.xcodeproj/xcshareddata/xcschemes/Tests.xcscheme @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/Tests/scripts/AppDelegate.lua b/tools/Tests/scripts/AppDelegate.lua index f55a2840..d1d99b15 100644 --- a/tools/Tests/scripts/AppDelegate.lua +++ b/tools/Tests/scripts/AppDelegate.lua @@ -1,22 +1,29 @@ waxClass{"AppDelegate", protocols = {"UIApplicationDelegate"}} function applicationDidFinishLaunching(self, application) - -- local frame = UIScreen:mainScreen():bounds() - -- self.window = UIWindow:initWithFrame(frame) - -- self.window:setBackgroundColor(UIColor:orangeColor()) - -- - -- local view = UIView:init() - -- - -- local button = UIButton:buttonWithType(UIButtonTypeRoundedRect) - -- button:setTitle_forState("Test GC", UIControlStateNormal) - -- button:setFrame(CGRect(100, 100, 120, 100)) - -- button:addTarget_action_forControlEvents(self, "gcTouched:", UIControlEventTouchUpInside) - -- self.window:addSubview(button) - - -- self.window:makeKeyAndVisible() + local frame = UIScreen:mainScreen():bounds() + self.window = UIWindow:initWithFrame(frame) + self.window:setBackgroundColor(UIColor:orangeColor()) + + -- Required as window root since iOS 13 + local rootVC = UIViewController:init() + + local view = UIView:initWithFrame(frame) + local button = UIButton:buttonWithType(UIButtonTypeRoundedRect) + button:setTitle_forState("Test GC", UIControlStateNormal) + button:setFrame(CGRect(0, 0, 120, 100)) + button:addTarget_action_forControlEvents(self, "gcTouched:", UIControlEventTouchUpInside) + view:addSubview(button) + + local rvcView = rootVC:view() + rvcView:addSubview(view) + + self.window:setRootViewController(rootVC) + self.window:makeKeyAndVisible() + return true end --- function gcTouched(self, sender) --- puts("boom") --- collectgarbage("collect") --- end \ No newline at end of file +function gcTouched(self, sender) + puts("boom") + collectgarbage("collect") +end diff --git a/tools/Tests/scripts/tests/fixtures/ExtendedSimpleObject.lua b/tools/Tests/scripts/tests/fixtures/ExtendedSimpleObject.lua index fad98d14..6dc87027 100644 --- a/tools/Tests/scripts/tests/fixtures/ExtendedSimpleObject.lua +++ b/tools/Tests/scripts/tests/fixtures/ExtendedSimpleObject.lua @@ -2,10 +2,12 @@ waxClass{"ExtendedSimpleObject", SimpleObject} function init(self) self.super:init() + return self end function initWithAnimal(self, animal) self.super:initWithValue(animal) + return self end function initWithValue(self, value) diff --git a/tools/Tests/scripts/tests/gcTest.lua b/tools/Tests/scripts/tests/gcTest.lua deleted file mode 100644 index 9f4ececb..00000000 --- a/tools/Tests/scripts/tests/gcTest.lua +++ /dev/null @@ -1,37 +0,0 @@ -describe["Auto Retain"] = function() - before = function() - end - - it["correctly retains an init'd object"] = function() - local obj = NSDate:init() - expect( obj:retainCount() ).should_be(1) - end - - it["correctly allows double retaining"] = function() - local obj = NSDate:init():retain() - expect( obj:retainCount() ).should_be(2) - end - - it["correctly retains an alloc'd copy"] = function() - local obj = NSObject:alloc():init() - expect( obj:retainCount() ).should_be(1) - end - - it["correctly retains an object copy"] = function() - local obj = NSDate:init() - local objCopy = obj:copy() - expect( objCopy:retainCount() ).should_be(1) - end - -end - - -describe["Garbage collector"] = function() - before = function() - end - - it["releases unused objects"] = function() - -- Can't think of a good way to test this! - -- should probably use weak tables - end -end \ No newline at end of file diff --git a/tools/Tests/scripts/tests/init.lua b/tools/Tests/scripts/tests/init.lua index bd397409..66864d79 100644 --- a/tools/Tests/scripts/tests/init.lua +++ b/tools/Tests/scripts/tests/init.lua @@ -5,7 +5,6 @@ require "tests.objcToLuaTest" require "tests.instanceTest" require "tests.protocolTest" require "tests.structTest" -require "tests.gcTest" require "tests.jsonTest" require "tests.xmlTest" require "tests.base64Test" diff --git a/tools/Tests/scripts/tests/structTest.lua b/tools/Tests/scripts/tests/structTest.lua index 674fa58a..748f129d 100644 --- a/tools/Tests/scripts/tests/structTest.lua +++ b/tools/Tests/scripts/tests/structTest.lua @@ -1,3 +1,11 @@ +function createCGRect() + if wax.isArm64 == true then + wax.struct.create("CGRect", "dddd", "x", "y", "width", "height") + else + wax.struct.create("CGRect", "ffff", "x", "y", "width", "height") + end +end + describe["Unpacking structs"] = function() before = function() Structs = wax.class["Structs"] @@ -28,7 +36,12 @@ describe["Packing structs"] = function() end it["can pack a multivalue struct"] = function() - local struct = wax.struct.pack("ffff", 1, 2, 3, 4) + local struct + if wax.isArm64 == true then + struct = wax.struct.pack("dddd", 1, 2, 3, 4) + else + struct = wax.struct.pack("ffff", 1, 2, 3, 4) + end expect( Structs:expectsCGRectOneTwoThreeFour(struct) ).should_be(true) end @@ -44,6 +57,7 @@ end describe["Creating structs"] = function() before = function() Structs = wax.class["Structs"] + createCGRect() end it["can be created"] = function() @@ -57,9 +71,10 @@ describe["Creating structs"] = function() expect( Structs:expectsCustomStructFiftySixty(CustomStruct(50,60)) ).should_be(true) end + it["reads existing structs by obj-c correctly"] = function() - wax.struct.create("CGRect", "ffff", "x", "y", "width", "height") - expect( Structs:expectsCGRectTwoFourSixEight(CGRect(2,4,6,8)) ).should_be(true) + local actual = CGRect(2,4,6,8) + expect( Structs:expectsCGRectTwoFourSixEight(actual) ).should_be(true) end end @@ -67,6 +82,7 @@ describe["Reading custom structs"] = function() before = function() Structs = wax.class["Structs"] wax.struct.create("CustomStruct", "dd", "x", "y") + createCGRect() end it["can access values by name"] = function() @@ -82,7 +98,6 @@ describe["Reading custom structs"] = function() end it["can access existing structs by name"] = function() - wax.struct.create("CGRect", "ffff", "x", "y", "width", "height") local result = CGRect(2,4,6,8) expect( result.x ).should_be(2) expect( result.y ).should_be(4) diff --git a/tools/WaxWatchFramework/WaxWatchFramework.xcodeproj/project.pbxproj b/tools/WaxWatchFramework/WaxWatchFramework.xcodeproj/project.pbxproj index f6a485d1..5b87ed1c 100644 --- a/tools/WaxWatchFramework/WaxWatchFramework.xcodeproj/project.pbxproj +++ b/tools/WaxWatchFramework/WaxWatchFramework.xcodeproj/project.pbxproj @@ -3,109 +3,109 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 70; objects = { /* Begin PBXBuildFile section */ 00A41A5E1BE073BD00D47270 /* WaxWatchFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A5D1BE073BD00D47270 /* WaxWatchFramework.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 00A41B331BE073D600D47270 /* wax_config.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A671BE073D600D47270 /* wax_config.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B331BE073D600D47270 /* wax_config.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A671BE073D600D47270 /* wax_config.h */; }; 00A41B341BE073D600D47270 /* wax_config.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41A681BE073D600D47270 /* wax_config.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41B371BE073D600D47270 /* wax_lock.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A6B1BE073D600D47270 /* wax_lock.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B371BE073D600D47270 /* wax_lock.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A6B1BE073D600D47270 /* wax_lock.h */; }; 00A41B381BE073D600D47270 /* wax_lock.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41A6C1BE073D600D47270 /* wax_lock.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41B451BE073D600D47270 /* wax_block.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A7C1BE073D600D47270 /* wax_block.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B451BE073D600D47270 /* wax_block.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A7C1BE073D600D47270 /* wax_block.h */; }; 00A41B461BE073D600D47270 /* wax_block.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41A7D1BE073D600D47270 /* wax_block.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41B471BE073D600D47270 /* wax_block_call.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A7E1BE073D600D47270 /* wax_block_call.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B471BE073D600D47270 /* wax_block_call.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A7E1BE073D600D47270 /* wax_block_call.h */; }; 00A41B481BE073D600D47270 /* wax_block_call.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41A7F1BE073D600D47270 /* wax_block_call.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41B491BE073D600D47270 /* wax_block_call_pool.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A801BE073D600D47270 /* wax_block_call_pool.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B491BE073D600D47270 /* wax_block_call_pool.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A801BE073D600D47270 /* wax_block_call_pool.h */; }; 00A41B4A1BE073D600D47270 /* wax_block_call_pool.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41A811BE073D600D47270 /* wax_block_call_pool.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41B4B1BE073D600D47270 /* wax_block_description.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A821BE073D600D47270 /* wax_block_description.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B4B1BE073D600D47270 /* wax_block_description.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A821BE073D600D47270 /* wax_block_description.h */; }; 00A41B4C1BE073D600D47270 /* wax_block_description.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41A831BE073D600D47270 /* wax_block_description.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41B4D1BE073D600D47270 /* wax_block_transfer.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A841BE073D600D47270 /* wax_block_transfer.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B4D1BE073D600D47270 /* wax_block_transfer.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A841BE073D600D47270 /* wax_block_transfer.h */; }; 00A41B4E1BE073D600D47270 /* wax_block_transfer.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41A851BE073D600D47270 /* wax_block_transfer.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41B4F1BE073D600D47270 /* wax_block_transfer_pool.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A861BE073D600D47270 /* wax_block_transfer_pool.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B4F1BE073D600D47270 /* wax_block_transfer_pool.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A861BE073D600D47270 /* wax_block_transfer_pool.h */; }; 00A41B501BE073D600D47270 /* wax_block_transfer_pool.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41A871BE073D600D47270 /* wax_block_transfer_pool.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41B511BE073D600D47270 /* dispatch_lua.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41A8B1BE073D600D47270 /* dispatch_lua.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41B531BE073D600D47270 /* objc_runtime_lua.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41A8D1BE073D600D47270 /* objc_runtime_lua.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41B561BE073D600D47270 /* pthread_lua.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41A901BE073D600D47270 /* pthread_lua.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41B591BE073D600D47270 /* tolua++.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A931BE073D600D47270 /* tolua++.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B591BE073D600D47270 /* tolua++.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A931BE073D600D47270 /* tolua++.h */; }; 00A41B5A1BE073D600D47270 /* tolua_event.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41A941BE073D600D47270 /* tolua_event.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41B5B1BE073D600D47270 /* tolua_event.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A951BE073D600D47270 /* tolua_event.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B5B1BE073D600D47270 /* tolua_event.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A951BE073D600D47270 /* tolua_event.h */; }; 00A41B5C1BE073D600D47270 /* tolua_is.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41A961BE073D600D47270 /* tolua_is.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41B5D1BE073D600D47270 /* tolua_map.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41A971BE073D600D47270 /* tolua_map.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41B5E1BE073D600D47270 /* tolua_push.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41A981BE073D600D47270 /* tolua_push.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41B5F1BE073D600D47270 /* tolua_to.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41A991BE073D600D47270 /* tolua_to.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41B601BE073D600D47270 /* wax_capi.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A9A1BE073D600D47270 /* wax_capi.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B601BE073D600D47270 /* wax_capi.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41A9A1BE073D600D47270 /* wax_capi.h */; }; 00A41B611BE073D600D47270 /* wax_capi.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41A9B1BE073D600D47270 /* wax_capi.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41B6C1BE073D600D47270 /* NSObject+TBIvarAccess.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AAB1BE073D600D47270 /* NSObject+TBIvarAccess.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B6C1BE073D600D47270 /* NSObject+TBIvarAccess.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AAB1BE073D600D47270 /* NSObject+TBIvarAccess.h */; }; 00A41B6D1BE073D600D47270 /* NSObject+TBIvarAccess.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AAC1BE073D600D47270 /* NSObject+TBIvarAccess.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41B8B1BE073D600D47270 /* lapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AD01BE073D600D47270 /* lapi.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41B8C1BE073D600D47270 /* lapi.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AD11BE073D600D47270 /* lapi.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B8C1BE073D600D47270 /* lapi.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AD11BE073D600D47270 /* lapi.h */; }; 00A41B8D1BE073D600D47270 /* lauxlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AD21BE073D600D47270 /* lauxlib.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41B8E1BE073D600D47270 /* lauxlib.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AD31BE073D600D47270 /* lauxlib.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B8E1BE073D600D47270 /* lauxlib.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AD31BE073D600D47270 /* lauxlib.h */; }; 00A41B8F1BE073D600D47270 /* lbaselib.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AD41BE073D600D47270 /* lbaselib.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41B901BE073D600D47270 /* lcode.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AD51BE073D600D47270 /* lcode.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41B911BE073D600D47270 /* lcode.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AD61BE073D600D47270 /* lcode.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B911BE073D600D47270 /* lcode.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AD61BE073D600D47270 /* lcode.h */; }; 00A41B921BE073D600D47270 /* ldblib.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AD71BE073D600D47270 /* ldblib.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41B931BE073D600D47270 /* ldebug.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AD81BE073D600D47270 /* ldebug.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41B941BE073D600D47270 /* ldebug.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AD91BE073D600D47270 /* ldebug.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B941BE073D600D47270 /* ldebug.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AD91BE073D600D47270 /* ldebug.h */; }; 00A41B951BE073D600D47270 /* ldo.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41ADA1BE073D600D47270 /* ldo.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41B961BE073D600D47270 /* ldo.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41ADB1BE073D600D47270 /* ldo.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B961BE073D600D47270 /* ldo.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41ADB1BE073D600D47270 /* ldo.h */; }; 00A41B971BE073D600D47270 /* ldump.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41ADC1BE073D600D47270 /* ldump.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41B981BE073D600D47270 /* lfunc.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41ADD1BE073D600D47270 /* lfunc.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41B991BE073D600D47270 /* lfunc.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41ADE1BE073D600D47270 /* lfunc.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B991BE073D600D47270 /* lfunc.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41ADE1BE073D600D47270 /* lfunc.h */; }; 00A41B9A1BE073D600D47270 /* lgc.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41ADF1BE073D600D47270 /* lgc.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41B9B1BE073D600D47270 /* lgc.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AE01BE073D600D47270 /* lgc.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B9B1BE073D600D47270 /* lgc.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AE01BE073D600D47270 /* lgc.h */; }; 00A41B9C1BE073D600D47270 /* linit.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AE11BE073D600D47270 /* linit.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41B9D1BE073D600D47270 /* liolib.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AE21BE073D600D47270 /* liolib.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41B9E1BE073D600D47270 /* llex.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AE31BE073D600D47270 /* llex.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41B9F1BE073D600D47270 /* llex.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AE41BE073D600D47270 /* llex.h */; settings = {ASSET_TAGS = (); }; }; - 00A41BA01BE073D600D47270 /* llimits.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AE51BE073D600D47270 /* llimits.h */; settings = {ASSET_TAGS = (); }; }; + 00A41B9F1BE073D600D47270 /* llex.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AE41BE073D600D47270 /* llex.h */; }; + 00A41BA01BE073D600D47270 /* llimits.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AE51BE073D600D47270 /* llimits.h */; }; 00A41BA11BE073D600D47270 /* lmathlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AE61BE073D600D47270 /* lmathlib.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41BA21BE073D600D47270 /* lmem.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AE71BE073D600D47270 /* lmem.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41BA31BE073D600D47270 /* lmem.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AE81BE073D600D47270 /* lmem.h */; settings = {ASSET_TAGS = (); }; }; + 00A41BA31BE073D600D47270 /* lmem.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AE81BE073D600D47270 /* lmem.h */; }; 00A41BA41BE073D600D47270 /* loadlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AE91BE073D600D47270 /* loadlib.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41BA51BE073D600D47270 /* lobject.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AEA1BE073D600D47270 /* lobject.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41BA61BE073D600D47270 /* lobject.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AEB1BE073D600D47270 /* lobject.h */; settings = {ASSET_TAGS = (); }; }; + 00A41BA61BE073D600D47270 /* lobject.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AEB1BE073D600D47270 /* lobject.h */; }; 00A41BA71BE073D600D47270 /* lopcodes.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AEC1BE073D600D47270 /* lopcodes.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41BA81BE073D600D47270 /* lopcodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AED1BE073D600D47270 /* lopcodes.h */; settings = {ASSET_TAGS = (); }; }; + 00A41BA81BE073D600D47270 /* lopcodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AED1BE073D600D47270 /* lopcodes.h */; }; 00A41BA91BE073D600D47270 /* loslib.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AEE1BE073D600D47270 /* loslib.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41BAA1BE073D600D47270 /* lparser.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AEF1BE073D600D47270 /* lparser.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41BAB1BE073D600D47270 /* lparser.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AF01BE073D600D47270 /* lparser.h */; settings = {ASSET_TAGS = (); }; }; + 00A41BAB1BE073D600D47270 /* lparser.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AF01BE073D600D47270 /* lparser.h */; }; 00A41BAC1BE073D600D47270 /* lstate.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AF11BE073D600D47270 /* lstate.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41BAD1BE073D600D47270 /* lstate.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AF21BE073D600D47270 /* lstate.h */; settings = {ASSET_TAGS = (); }; }; + 00A41BAD1BE073D600D47270 /* lstate.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AF21BE073D600D47270 /* lstate.h */; }; 00A41BAE1BE073D600D47270 /* lstring.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AF31BE073D600D47270 /* lstring.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41BAF1BE073D600D47270 /* lstring.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AF41BE073D600D47270 /* lstring.h */; settings = {ASSET_TAGS = (); }; }; + 00A41BAF1BE073D600D47270 /* lstring.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AF41BE073D600D47270 /* lstring.h */; }; 00A41BB01BE073D600D47270 /* lstrlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AF51BE073D600D47270 /* lstrlib.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41BB11BE073D600D47270 /* ltable.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AF61BE073D600D47270 /* ltable.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41BB21BE073D600D47270 /* ltable.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AF71BE073D600D47270 /* ltable.h */; settings = {ASSET_TAGS = (); }; }; + 00A41BB21BE073D600D47270 /* ltable.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AF71BE073D600D47270 /* ltable.h */; }; 00A41BB31BE073D600D47270 /* ltablib.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AF81BE073D600D47270 /* ltablib.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41BB41BE073D600D47270 /* ltm.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AF91BE073D600D47270 /* ltm.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41BB51BE073D600D47270 /* ltm.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AFA1BE073D600D47270 /* ltm.h */; settings = {ASSET_TAGS = (); }; }; - 00A41BB61BE073D600D47270 /* lua.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AFB1BE073D600D47270 /* lua.h */; settings = {ASSET_TAGS = (); }; }; - 00A41BB71BE073D600D47270 /* luaconf.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AFC1BE073D600D47270 /* luaconf.h */; settings = {ASSET_TAGS = (); }; }; - 00A41BB81BE073D600D47270 /* lualib.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AFD1BE073D600D47270 /* lualib.h */; settings = {ASSET_TAGS = (); }; }; + 00A41BB51BE073D600D47270 /* ltm.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AFA1BE073D600D47270 /* ltm.h */; }; + 00A41BB61BE073D600D47270 /* lua.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AFB1BE073D600D47270 /* lua.h */; }; + 00A41BB71BE073D600D47270 /* luaconf.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AFC1BE073D600D47270 /* luaconf.h */; }; + 00A41BB81BE073D600D47270 /* lualib.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AFD1BE073D600D47270 /* lualib.h */; }; 00A41BB91BE073D600D47270 /* lundump.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41AFE1BE073D600D47270 /* lundump.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41BBA1BE073D600D47270 /* lundump.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AFF1BE073D600D47270 /* lundump.h */; settings = {ASSET_TAGS = (); }; }; + 00A41BBA1BE073D600D47270 /* lundump.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41AFF1BE073D600D47270 /* lundump.h */; }; 00A41BBB1BE073D600D47270 /* lvm.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41B001BE073D600D47270 /* lvm.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41BBC1BE073D600D47270 /* lvm.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B011BE073D600D47270 /* lvm.h */; settings = {ASSET_TAGS = (); }; }; + 00A41BBC1BE073D600D47270 /* lvm.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B011BE073D600D47270 /* lvm.h */; }; 00A41BBD1BE073D600D47270 /* lzio.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41B021BE073D600D47270 /* lzio.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41BBE1BE073D600D47270 /* lzio.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B031BE073D600D47270 /* lzio.h */; settings = {ASSET_TAGS = (); }; }; + 00A41BBE1BE073D600D47270 /* lzio.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B031BE073D600D47270 /* lzio.h */; }; 00A41BBF1BE073D600D47270 /* print.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41B041BE073D600D47270 /* print.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41BDA1BE073D600D47270 /* wax.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B231BE073D600D47270 /* wax.h */; settings = {ASSET_TAGS = (); }; }; + 00A41BDA1BE073D600D47270 /* wax.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B231BE073D600D47270 /* wax.h */; }; 00A41BDB1BE073D600D47270 /* wax.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41B241BE073D600D47270 /* wax.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41BDC1BE073D600D47270 /* wax_class.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B251BE073D600D47270 /* wax_class.h */; settings = {ASSET_TAGS = (); }; }; + 00A41BDC1BE073D600D47270 /* wax_class.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B251BE073D600D47270 /* wax_class.h */; }; 00A41BDD1BE073D600D47270 /* wax_class.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41B261BE073D600D47270 /* wax_class.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41BDE1BE073D600D47270 /* wax_define.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B271BE073D600D47270 /* wax_define.h */; settings = {ASSET_TAGS = (); }; }; - 00A41BDF1BE073D600D47270 /* wax_gc.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B281BE073D600D47270 /* wax_gc.h */; settings = {ASSET_TAGS = (); }; }; + 00A41BDE1BE073D600D47270 /* wax_define.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B271BE073D600D47270 /* wax_define.h */; }; + 00A41BDF1BE073D600D47270 /* wax_gc.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B281BE073D600D47270 /* wax_gc.h */; }; 00A41BE01BE073D600D47270 /* wax_gc.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41B291BE073D600D47270 /* wax_gc.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41BE11BE073D600D47270 /* wax_helpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B2A1BE073D600D47270 /* wax_helpers.h */; settings = {ASSET_TAGS = (); }; }; + 00A41BE11BE073D600D47270 /* wax_helpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B2A1BE073D600D47270 /* wax_helpers.h */; }; 00A41BE21BE073D600D47270 /* wax_helpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41B2B1BE073D600D47270 /* wax_helpers.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41BE31BE073D600D47270 /* wax_instance.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B2C1BE073D600D47270 /* wax_instance.h */; settings = {ASSET_TAGS = (); }; }; + 00A41BE31BE073D600D47270 /* wax_instance.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B2C1BE073D600D47270 /* wax_instance.h */; }; 00A41BE41BE073D600D47270 /* wax_instance.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41B2D1BE073D600D47270 /* wax_instance.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41BE51BE073D600D47270 /* wax_server.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B2E1BE073D600D47270 /* wax_server.h */; settings = {ASSET_TAGS = (); }; }; + 00A41BE51BE073D600D47270 /* wax_server.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B2E1BE073D600D47270 /* wax_server.h */; }; 00A41BE61BE073D600D47270 /* wax_server.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41B2F1BE073D600D47270 /* wax_server.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 00A41BE71BE073D600D47270 /* wax_stdlib.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B301BE073D600D47270 /* wax_stdlib.h */; settings = {ASSET_TAGS = (); }; }; - 00A41BE81BE073D600D47270 /* wax_struct.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B311BE073D600D47270 /* wax_struct.h */; settings = {ASSET_TAGS = (); }; }; + 00A41BE71BE073D600D47270 /* wax_stdlib.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B301BE073D600D47270 /* wax_stdlib.h */; }; + 00A41BE81BE073D600D47270 /* wax_struct.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A41B311BE073D600D47270 /* wax_struct.h */; }; 00A41BE91BE073D600D47270 /* wax_struct.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41B321BE073D600D47270 /* wax_struct.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41C7A1BE0A2C300D47270 /* WaxWatchLib.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A41C791BE0A2C300D47270 /* WaxWatchLib.h */; }; 00A41C7C1BE0A2C300D47270 /* WaxWatchLib.m in Sources */ = {isa = PBXBuildFile; fileRef = 00A41C7B1BE0A2C300D47270 /* WaxWatchLib.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; @@ -164,6 +164,7 @@ 00A41CB51BE0A32E00D47270 /* lvm.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41B001BE073D600D47270 /* lvm.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41CB61BE0A32E00D47270 /* lzio.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41B021BE073D600D47270 /* lzio.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 00A41CB71BE0A32E00D47270 /* print.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A41B041BE073D600D47270 /* print.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 055D7D0B2E5D3A010001F544 /* wax_luau.h in Headers */ = {isa = PBXBuildFile; fileRef = 055D7D0A2E5D3A010001F544 /* wax_luau.h */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -286,8 +287,13 @@ 00A41C771BE0A2C300D47270 /* libwax.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwax.a; sourceTree = BUILT_PRODUCTS_DIR; }; 00A41C791BE0A2C300D47270 /* WaxWatchLib.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WaxWatchLib.h; sourceTree = ""; }; 00A41C7B1BE0A2C300D47270 /* WaxWatchLib.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WaxWatchLib.m; sourceTree = ""; }; + 055D7D0A2E5D3A010001F544 /* wax_luau.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wax_luau.h; sourceTree = ""; }; /* End PBXFileReference section */ +/* Begin PBXFileSystemSynchronizedRootGroup section */ + 05FF3AF42E58B35000374831 /* memory */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = memory; sourceTree = ""; }; +/* End PBXFileSystemSynchronizedRootGroup section */ + /* Begin PBXFrameworksBuildPhase section */ 00A41A561BE073BD00D47270 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; @@ -338,6 +344,7 @@ 00A41A651BE073D600D47270 /* lib */ = { isa = PBXGroup; children = ( + 055D7D0A2E5D3A010001F544 /* wax_luau.h */, 00A41A661BE073D600D47270 /* adaptation */, 00A41A7A1BE073D600D47270 /* extensions */, 00A41ACF1BE073D600D47270 /* lua */, @@ -376,6 +383,7 @@ 00A41A7A1BE073D600D47270 /* extensions */ = { isa = PBXGroup; children = ( + 05FF3AF42E58B35000374831 /* memory */, 00A41A7B1BE073D600D47270 /* block */, 00A41A881BE073D600D47270 /* capi */, 00A41AAA1BE073D600D47270 /* ivar */, @@ -535,6 +543,7 @@ 00A41B4D1BE073D600D47270 /* wax_block_transfer.h in Headers */, 00A41BAF1BE073D600D47270 /* lstring.h in Headers */, 00A41BA81BE073D600D47270 /* lopcodes.h in Headers */, + 055D7D0B2E5D3A010001F544 /* wax_luau.h in Headers */, 00A41BA01BE073D600D47270 /* llimits.h in Headers */, 00A41BDC1BE073D600D47270 /* wax_class.h in Headers */, 00A41BB71BE073D600D47270 /* luaconf.h in Headers */, @@ -586,6 +595,9 @@ ); dependencies = ( ); + fileSystemSynchronizedGroups = ( + 05FF3AF42E58B35000374831 /* memory */, + ); name = WaxWatchFramework; productName = WaxWatchFramework; productReference = 00A41A5A1BE073BD00D47270 /* wax.framework */; @@ -603,6 +615,9 @@ ); dependencies = ( ); + fileSystemSynchronizedGroups = ( + 05FF3AF42E58B35000374831 /* memory */, + ); name = WaxWatchLib; productName = WaxWatchLib; productReference = 00A41C771BE0A2C300D47270 /* libwax.a */; @@ -614,7 +629,8 @@ 00A41A511BE073BD00D47270 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0700; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1640; ORGANIZATIONNAME = test.jz.com; TargetAttributes = { 00A41A591BE073BD00D47270 = { @@ -627,10 +643,11 @@ }; buildConfigurationList = 00A41A541BE073BD00D47270 /* Build configuration list for PBXProject "WaxWatchFramework" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, + Base, ); mainGroup = 00A41A501BE073BD00D47270; productRefGroup = 00A41A5B1BE073BD00D47270 /* Products */; @@ -786,17 +803,29 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = 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_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; @@ -804,6 +833,7 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -832,17 +862,29 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = 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_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; @@ -850,6 +892,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -871,10 +914,14 @@ 00A41A631BE073BD00D47270 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_ENABLE_OBJC_ARC = NO; + CLANG_WARN_STRICT_PROTOTYPES = NO; + CODE_SIGN_IDENTITY = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = WaxWatchFramework/WaxWatch_Prefix.pch; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -884,29 +931,45 @@ ); INFOPLIST_FILE = WaxWatchFramework/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; PRODUCT_BUNDLE_IDENTIFIER = com.jz.test.WaxWatchFramework; PRODUCT_NAME = wax; SKIP_INSTALL = YES; + WATCHOS_DEPLOYMENT_TARGET = 9.6; }; name = Debug; }; 00A41A641BE073BD00D47270 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_ENABLE_OBJC_ARC = NO; + CLANG_WARN_STRICT_PROTOTYPES = NO; + CODE_SIGN_IDENTITY = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = WaxWatchFramework/WaxWatch_Prefix.pch; GCC_PREPROCESSOR_DEFINITIONS = "WAX_TARGET_OS_WATCH=1"; INFOPLIST_FILE = WaxWatchFramework/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; PRODUCT_BUNDLE_IDENTIFIER = com.jz.test.WaxWatchFramework; PRODUCT_NAME = wax; SKIP_INSTALL = YES; + WATCHOS_DEPLOYMENT_TARGET = 9.6; }; name = Release; }; @@ -922,6 +985,7 @@ OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = wax; SKIP_INSTALL = YES; + WATCHOS_DEPLOYMENT_TARGET = 9.6; }; name = Debug; }; @@ -934,6 +998,7 @@ OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = wax; SKIP_INSTALL = YES; + WATCHOS_DEPLOYMENT_TARGET = 9.6; }; name = Release; }; @@ -965,6 +1030,7 @@ 00A41C7F1BE0A2C300D47270 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; diff --git a/tools/WaxWatchFramework/WaxWatchFramework.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/tools/WaxWatchFramework/WaxWatchFramework.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/tools/WaxWatchFramework/WaxWatchFramework.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/tools/WaxWatchFramework/WaxWatchFramework.xcodeproj/xcshareddata/xcschemes/WaxWatchFramework.xcscheme b/tools/WaxWatchFramework/WaxWatchFramework.xcodeproj/xcshareddata/xcschemes/WaxWatchFramework.xcscheme index db9953ab..d35e65fa 100644 --- a/tools/WaxWatchFramework/WaxWatchFramework.xcodeproj/xcshareddata/xcschemes/WaxWatchFramework.xcscheme +++ b/tools/WaxWatchFramework/WaxWatchFramework.xcodeproj/xcshareddata/xcschemes/WaxWatchFramework.xcscheme @@ -1,6 +1,6 @@ - - - - - - - - :package + +desc "Build the simulator and device libs for the phone" +task :build do + sh "Scripts/build" +end + +desc "Package the lib into a framework" +task :package => :build do + sh "Scripts/package" +end \ No newline at end of file diff --git a/tools/mobdebug/Scripts/build b/tools/mobdebug/Scripts/build new file mode 100755 index 00000000..efb68c79 --- /dev/null +++ b/tools/mobdebug/Scripts/build @@ -0,0 +1,17 @@ +#!/bin/bash + +xcodebuild archive \ + -scheme mobdebug \ + -destination "generic/platform=iOS" \ + -archivePath ./build/ios_devices.xcarchive \ + SKIP_INSTALL=NO \ + BUILD_LIBRARY_FOR_DISTRIBUTION=YES + + +xcodebuild archive \ + -scheme mobdebug \ + -destination "generic/platform=iOS Simulator" \ + -archivePath ./build/ios_sim.xcarchive \ + SKIP_INSTALL=NO \ + BUILD_LIBRARY_FOR_DISTRIBUTION=YES + diff --git a/tools/mobdebug/Scripts/package b/tools/mobdebug/Scripts/package new file mode 100755 index 00000000..3381efe7 --- /dev/null +++ b/tools/mobdebug/Scripts/package @@ -0,0 +1,6 @@ +#!/bin/bash + +xcodebuild -create-xcframework \ + -framework ./build/ios_devices.xcarchive/Products/Library/Frameworks/mobdebug.framework \ + -framework ./build/ios_sim.xcarchive/Products/Library/Frameworks/mobdebug.framework \ + -output ./mobdebug.xcframework diff --git a/tools/mobdebug/mobdebug.podspec b/tools/mobdebug/mobdebug.podspec index b316592a..159067be 100644 --- a/tools/mobdebug/mobdebug.podspec +++ b/tools/mobdebug/mobdebug.podspec @@ -22,7 +22,7 @@ Pod::Spec.new do |s| s.platform = :ios # When using multiple platforms - s.ios.deployment_target = '4.3' + s.ios.deployment_target = '15.0' s.source_files = 'mobdebug/*.{h,m,c}', 'mobdebug/luasocket/*.{h,m,c}' diff --git a/tools/mobdebug/mobdebug.xcodeproj/project.pbxproj b/tools/mobdebug/mobdebug.xcodeproj/project.pbxproj index a9093fc5..f9d5a47b 100644 --- a/tools/mobdebug/mobdebug.xcodeproj/project.pbxproj +++ b/tools/mobdebug/mobdebug.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -248,7 +248,6 @@ 0010CE161B69BD8D0032F514 /* Frameworks */, 0010CE171B69BD8D0032F514 /* Headers */, 0010CE181B69BD8D0032F514 /* Resources */, - 0010CE191B69BD8D0032F514 /* ShellScript */, ); buildRules = ( ); @@ -265,7 +264,8 @@ 0010CE111B69BD8D0032F514 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0610; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1640; ORGANIZATIONNAME = taobao.com; TargetAttributes = { 0010CE1A1B69BD8D0032F514 = { @@ -275,10 +275,11 @@ }; buildConfigurationList = 0010CE141B69BD8D0032F514 /* Build configuration list for PBXProject "mobdebug" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, + Base, ); mainGroup = 0010CE101B69BD8D0032F514; productRefGroup = 0010CE1C1B69BD8D0032F514 /* Products */; @@ -301,23 +302,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 0010CE191B69BD8D0032F514 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /usr/bin/python; - shellScript = "# TAG: BUILD SCRIPT (do not remove this comment)\n# Build script generated using https://github.com/kstenerud/iOS-Universal-Framework Mk 8 (beta 2012-06-16)\nimport logging\n\n\n##############################################################################\n#\n# Configuration\n#\n##############################################################################\n\n# Select which kind of framework to build.\n#\n# Note: Due to issues with Xcode's build process, if you select\n# 'embeddedframework', it will still show the regular framework\n# (as a symlink) along side of the embedded framework. Be sure to\n# instruct your users to copy/move the embedded framework in this case!\n#\n# If your framework contains resources such as images, nibs, momds, plists,\n# zipfiles and such, choose 'embeddedframework'.\n#\n# If your framework contains no resources, choose 'framework'.\n#\nconfig_framework_type = 'framework'\n#config_framework_type = 'embeddedframework'\n\n# Open the build directory in Finder when the universal framework is\n# successfully built.\n#\n# This value can be overridden by setting the UFW_OPEN_BUILD_DIR env variable\n# to True or False.\n#\n# Recommended setting: True\n#\nconfig_open_build_dir = True\n\n# If true, ensures that all public headers are stored in the framework under\n# the same directory hierarchy as they were in the source tree.\n#\n# Xcode by default places all headers at the same top level, but every other\n# build tool in the known universe preserves directory structure. For simple\n# libraries it doesn't really matter much, but for ports of existing software\n# packages or for bigger libraries, it makes sense to have more structure.\n#\n# The default is set to \"False\" since that's what most Xcode users are used to.\n#\n# Recommended setting: True for deep hierarchy projects, False otherwise.\n#\nconfig_deep_header_hierarchy = False\n\n# Specify where the top of the public header hierarchy is. This path is\n# relative to the project's dir (PROJECT_DIR). You can reference environment\n# variables using templating syntax (e.g. \"${TARGET_NAME}/Some/Subdir\")\n#\n# NOTE: Only used if config_deep_header_hierarchy is True.\n#\n# If this is set to None, the script will attempt to figure out for itself\n# where the top of the header hierarchy is by looking for common path prefixes\n# in the public header files. This process can fail if:\n# - You only have one public header file.\n# - Your source header files don't all have a common root.\n#\n# A common approach is to use \"${TARGET_NAME}\", working under the assumption\n# that all of your header files share the common root of a directory under\n# your project with the same name as your target (which is the Xcode default).\n#\n# Recommended setting: \"${TARGET_NAME}\"\n#\nconfig_deep_header_top = \"${TARGET_NAME}\"\n\n# Warn when \"DerivedData\" is detected in any of the header, library, or\n# framework search paths. In almost all cases, references to directories under\n# DerivedData are added as a result of an Xcode bug and must be manually\n# removed.\n#\n# Recommended setting: True\n#\nconfig_warn_derived_data = True\n\n# Warn if no headers were marked public in this framework.\n#\n# Recommended setting: True\n#\nconfig_warn_no_public_headers = True\n\n# Cause the build to fail if any warnings are issued.\n#\n# Recommended setting: True\n#\nconfig_fail_on_warnings = True\n\n# Minimum log level\n#\n# Recommended setting: logging.INFO\n#\nconfig_log_level = logging.INFO\n\n\n##############################################################################\n#\n# Don't touch anything below here unless you know what you're doing.\n#\n##############################################################################\n\nimport collections\nimport json\nimport os\nimport re\nimport shlex\nimport shutil\nimport string\nimport subprocess\nimport sys\nimport time\nimport traceback\n\n\n##############################################################################\n#\n# Globals\n#\n##############################################################################\n\nlog = logging.getLogger('UFW')\n\nissued_warnings = False\n\n\n##############################################################################\n#\n# Classes\n#\n##############################################################################\n\n# Allows the slave build to communicate with the master build.\n#\nclass BuildState:\n\n def __init__(self):\n self.reload()\n\n def reset(self):\n self.slave_platform = None\n self.slave_architectures = []\n self.slave_linked_archive_paths = []\n self.slave_built_fw_path = None\n self.slave_built_embedded_fw_path = None\n\n def set_slave_properties(self, architectures,\n linked_archive_paths,\n built_fw_path,\n built_embedded_fw_path):\n self.slave_platform = os.environ['PLATFORM_NAME']\n self.slave_architectures = architectures\n self.slave_linked_archive_paths = linked_archive_paths\n self.slave_built_fw_path = built_fw_path\n self.slave_built_embedded_fw_path = built_embedded_fw_path\n\n def get_save_path(self):\n return os.path.join(os.environ['PROJECT_TEMP_DIR'], \"ufw_build_state.json\")\n\n def persist(self):\n filename = self.get_save_path()\n parent = os.path.dirname(filename)\n if not os.path.isdir(parent):\n os.makedirs(parent)\n with open(filename, \"w\") as f:\n f.write(json.dumps(self.__dict__))\n\n def reload(self):\n self.reset()\n filename = self.get_save_path()\n if os.path.exists(filename):\n with open(filename, \"r\") as f:\n new_dict = json.loads(f.read())\n if new_dict is not None:\n self.__dict__ = dict(self.__dict__.items() + new_dict.items())\n\n\n# Holds information about the current project and build environment.\n#\nclass Project:\n\n def __init__(self, filename):\n sourcecode_types = ['sourcecode.c.c',\n 'sourcecode.c.objc',\n 'sourcecode.cpp.cpp',\n 'sourcecode.cpp.objcpp',\n 'sourcecode.asm.asm',\n 'sourcecode.asm.llvm',\n 'sourcecode.nasm']\n\n self.build_state = BuildState()\n self.project_data = self.load_from_file(filename)\n self.target = filter(lambda x: x['name'] == os.environ['TARGET_NAME'], self.project_data['targets'])[0]\n self.public_headers = self.get_build_phase_files('PBXHeadersBuildPhase', lambda x: x.get('settings', False) and x['settings'].get('ATTRIBUTES', False) and 'Public' in x['settings']['ATTRIBUTES'])\n self.static_libraries = self.get_build_phase_files('PBXFrameworksBuildPhase', lambda x: x['fileRef']['fileType'] == 'archive.ar' and x['fileRef']['sourceTree'] not in ['DEVELOPER_DIR', 'SDKROOT'])\n self.static_frameworks = self.get_build_phase_files('PBXFrameworksBuildPhase', lambda x: x['fileRef']['fileType'] == 'wrapper.framework' and x['fileRef']['sourceTree'] not in ['DEVELOPER_DIR', 'SDKROOT'])\n self.compilable_sources = self.get_build_phase_files('PBXSourcesBuildPhase', lambda x: x['fileRef']['fileType'] in sourcecode_types)\n self.header_paths = [os.path.join(*x['pathComponents']) for x in self.public_headers]\n\n self.headers_dir = os.path.join(os.environ['TARGET_BUILD_DIR'], os.environ['CONTENTS_FOLDER_PATH'], 'Headers')\n self.libtool_path = os.path.join(os.environ['DT_TOOLCHAIN_DIR'], 'usr', 'bin', 'libtool')\n self.project_filename = os.path.join(os.environ['PROJECT_FILE_PATH'], \"project.pbxproj\")\n self.local_exe_path = os.path.join(os.environ['TARGET_BUILD_DIR'], os.environ['EXECUTABLE_PATH'])\n self.local_architectures = os.environ['ARCHS'].split(' ')\n self.local_built_fw_path = os.path.join(os.environ['TARGET_BUILD_DIR'], os.environ['WRAPPER_NAME'])\n self.local_built_embedded_fw_path = os.path.splitext(self.local_built_fw_path)[0] + \".embeddedframework\"\n self.local_linked_archive_paths = [self.get_linked_ufw_archive_path(arch) for arch in self.local_architectures]\n self.local_platform = os.environ['PLATFORM_NAME']\n other_platforms = os.environ['SUPPORTED_PLATFORMS'].split(' ')\n other_platforms.remove(self.local_platform)\n self.other_platform = other_platforms[0]\n\n sdk_name = os.environ['SDK_NAME']\n if not sdk_name.startswith(self.local_platform):\n raise Exception(\"%s didn't start with %s\" % (sdk_name, self.local_platform))\n self.sdk_version = sdk_name[len(self.local_platform):]\n\n # Load an Xcode project file.\n #\n def load_from_file(self, filename):\n project_file = json.loads(subprocess.check_output([\"plutil\", \"-convert\", \"json\", \"-o\", \"-\", filename]))\n all_objects = project_file['objects']\n del project_file['objects']\n for obj in all_objects.values():\n self.fix_keys(obj)\n self.unpack_objects(self.build_dereference_list(all_objects, None, None, project_file))\n self.unpack_objects(self.build_dereference_list(all_objects, None, None, all_objects.values()))\n project_data = project_file['rootObject']\n self.build_full_paths(project_data, splitpath(os.environ['SOURCE_ROOT']))\n return project_data\n\n def is_key(self, obj): \n return isinstance(obj, basestring) and len(obj) == 24 and re.search('^[0-9a-fA-F]+$', obj) is not None\n \n def build_dereference_list(self, all_objects, parent, key, obj):\n deref_list = []\n if self.is_key(obj):\n dereferenced = all_objects.get(obj, obj)\n if dereferenced is not obj:\n deref_list.append((parent, key, obj, dereferenced))\n elif isinstance(obj, collections.Mapping):\n for k, v in obj.iteritems():\n deref_list += self.build_dereference_list(all_objects, obj, k, v)\n elif isinstance(obj, collections.Iterable) and not isinstance(obj, basestring):\n for item in obj:\n deref_list += self.build_dereference_list(all_objects, obj, None, item)\n return deref_list\n \n def unpack_objects(self, deref_list):\n for parent, key, orig, obj in deref_list:\n if key is None:\n parent.remove(orig)\n parent.append(obj)\n else:\n parent[key] = obj\n\n # Store the full path, separated into components, to a node inside the node\n # as \"pathComponents\". Also recurse into that node if it's a group.\n #\n def build_full_paths(self, node, base_path):\n # Some nodes are relative to a different source tree, specified as an\n # env variable.\n if node.get('sourceTree', '') != '':\n new_base_path = os.environ.get(node['sourceTree'], None)\n if new_base_path:\n base_path = splitpath(new_base_path)\n # Add the current node's path, if any.\n if node.get('path', False):\n base_path = base_path + splitpath(node['path'])\n node['pathComponents'] = base_path\n # Recurse if this is a group.\n if node['isa'] == 'PBXGroup':\n for child in node['children']:\n self.build_full_paths(child, base_path)\n elif node['isa'] == 'PBXProject':\n self.build_full_paths(node['mainGroup'], base_path)\n self.build_full_paths(node['productRefGroup'], base_path)\n for child in node['targets']:\n self.build_full_paths(child, base_path)\n projectRefs = node.get('projectReferences', None)\n if projectRefs is not None:\n for child in projectRefs[0].values():\n self.build_full_paths(child, base_path)\n\n # Fix up any inconvenient keys.\n #\n def fix_keys(self, obj):\n key_remappings = {'lastKnownFileType': 'fileType', 'explicitFileType': 'fileType'}\n for key in list(set(key_remappings.keys()) & set(obj.keys())):\n obj[key_remappings[key]] = obj[key]\n del obj[key]\n\n # Get the files from a build phase.\n #\n def get_build_phase_files(self, build_phase_name, filter_func):\n build_phase = filter(lambda x: x['isa'] == build_phase_name, self.target['buildPhases'])[0]\n build_files = filter(filter_func, build_phase['files'])\n return [x['fileRef'] for x in build_files]\n\n # Get the truncated paths of all headers that start with the specified\n # relative path. Paths are read and returned as fully separated lists.\n # e.g. ['Some', 'Path', 'To', 'A', 'Header'] with relative_path of\n # ['Some', 'Path'] gets truncated to ['To', 'A', 'Header']\n #\n def movable_headers_relative_to(self, relative_path):\n rel_path_length = len(relative_path)\n result = filter(lambda path: len(path) >= rel_path_length and\n path[:rel_path_length] == relative_path, self.header_paths)\n return [path[rel_path_length:] for path in result]\n\n # Get the full path to where a linkable archive (library or framework)\n # is supposed to be.\n #\n def get_linked_archive_path(self, architecture):\n return os.path.join(os.environ['OBJECT_FILE_DIR_%s' % os.environ['CURRENT_VARIANT']],\n architecture,\n os.environ['EXECUTABLE_NAME'])\n\n # Get the full path to our custom linked archive of the project.\n #\n def get_linked_ufw_archive_path(self, architecture):\n return self.get_linked_archive_path(architecture) + \".ufwbuild\"\n\n # Get the full path to the executable of an archive.\n #\n def get_exe_path(self, node):\n path = os.path.join(*node['pathComponents'])\n if node['fileType'] == 'wrapper.framework':\n # Frameworks are directories, so go one deeper\n path = os.path.join(path, os.path.splitext(node['pathComponents'][-1])[0])\n return path\n\n # Get the path to the directory containing the archive.\n #\n def get_containing_path(self, node):\n return os.path.join(*node['pathComponents'])\n \n def get_archive_search_paths(self):\n log.info(\"Search paths = %s\" % set([self.get_containing_path(fw) for fw in self.static_frameworks] + [self.get_containing_path(fw) for fw in self.static_libraries]))\n return set([self.get_containing_path(fw) for fw in self.static_frameworks] + [self.get_containing_path(fw) for fw in self.static_libraries])\n\n # Command to link all objects of a single architecture.\n #\n def get_single_arch_link_command(self, architecture):\n cmd = [self.libtool_path,\n \"-static\",\n \"-arch_only\", architecture,\n \"-syslibroot\", os.environ['SDKROOT'],\n \"-L%s\" % os.environ['TARGET_BUILD_DIR'],\n \"-filelist\", os.environ['LINK_FILE_LIST_%s_%s' % (os.environ['CURRENT_VARIANT'], architecture)]]\n if os.environ.get('OTHER_LDFLAGS', False):\n cmd += [os.environ['OTHER_LDFLAGS']]\n if os.environ.get('WARNING_LDFLAGS', False):\n cmd += [os.environ['WARNING_LDFLAGS']]\n# cmd += [\"-L%s\" % libpath for libpath in self.get_archive_search_paths()]\n cmd += [self.get_exe_path(fw) for fw in self.static_frameworks]\n cmd += [self.get_exe_path(lib) for lib in self.static_libraries]\n cmd += [\"-o\", self.get_linked_ufw_archive_path(architecture)]\n return cmd\n\n # Command to link all local architectures for the current configuration\n # into an archive. This reads all libraries + the UFW-built archives and\n # overwrites the final product.\n #\n def get_local_archs_link_command(self):\n cmd = [self.libtool_path,\n \"-static\"]\n cmd += self.local_linked_archive_paths\n cmd += [self.get_exe_path(fw) for fw in self.static_frameworks]\n cmd += [self.get_exe_path(lib) for lib in self.static_libraries]\n cmd += [\"-o\", os.path.join(os.environ['TARGET_BUILD_DIR'], os.environ['EXECUTABLE_PATH'])]\n return cmd\n\n # Command to link all architectures into a universal archive.\n # This reads all UFW-built archives and overwrites the final product.\n #\n def get_all_archs_link_command(self):\n cmd = [self.libtool_path,\n \"-static\"]\n cmd += self.local_linked_archive_paths + self.build_state.slave_linked_archive_paths\n cmd += [\"-o\", os.path.join(os.environ['TARGET_BUILD_DIR'], os.environ['EXECUTABLE_PATH'])]\n return cmd\n\n # Build up an environment for the slave process. This uses BUILD_ROOT\n # and TEMP_ROOT to convert all environment variables to values suitable\n # for the slave build environment so that xcodebuild doesn't try to build\n # in the project directory under \"build\".\n #\n def get_slave_environment(self):\n ignored = ['LD_MAP_FILE_PATH',\n 'HEADER_SEARCH_PATHS',\n 'LIBRARY_SEARCH_PATHS',\n 'FRAMEWORK_SEARCH_PATHS']\n build_root = os.environ['BUILD_ROOT']\n temp_root = os.environ['TEMP_ROOT']\n newenv = {}\n for key, value in os.environ.items():\n if key not in ignored and not key.startswith('LINK_FILE_LIST_') and not key.startswith('LD_DEPENDENCY_'):\n if build_root in value or temp_root in value:\n newenv[key] = value.replace(self.local_platform, self.other_platform)\n return newenv\n\n # Command to invoke xcodebuild on the slave platform.\n #\n def get_slave_project_build_command(self):\n cmd = [\"xcodebuild\",\n \"-project\",\n os.environ['PROJECT_FILE_PATH'],\n \"-target\",\n os.environ['TARGET_NAME'],\n \"-configuration\",\n os.environ['CONFIGURATION'],\n \"-sdk\",\n self.other_platform + self.sdk_version]\n cmd += [\"%s=%s\" % (key, value) for key, value in self.get_slave_environment().items()]\n cmd += [\"UFW_MASTER_PLATFORM=\" + os.environ['PLATFORM_NAME']]\n cmd += [os.environ['ACTION']]\n return cmd\n\n\n\n##############################################################################\n#\n# Utility Functions\n#\n##############################################################################\n\n# Split a path into a list of path components.\n#\ndef splitpath(path, maxdepth=20):\n (head, tail) = os.path.split(path)\n return splitpath(head, maxdepth - 1) + [tail] if maxdepth and head and head != path else [ head or tail ]\n\n# Remove all subdirectories under a path.\n#\ndef remove_subdirs(path, ignore_files):\n if os.path.exists(path):\n for filename in filter(lambda x: x not in ignore_files, os.listdir(path)):\n fullpath = os.path.join(path, filename)\n if os.path.isdir(fullpath):\n log.info(\"Remove %s\" % fullpath)\n shutil.rmtree(fullpath)\n\n# Make whatever parent paths are necessary for a path to exist.\n#\ndef ensure_path_exists(path):\n if not os.path.isdir(path):\n os.makedirs(path)\n\n# Make whatever parent paths are necessary for a path's parent to exist.\n#\ndef ensure_parent_exists(path):\n parent = os.path.dirname(path)\n if not os.path.isdir(parent):\n os.makedirs(parent)\n\n# Remove a file or dir if it exists.\n#\ndef remove_path(path):\n if os.path.exists(path):\n if os.path.isdir(path) and not os.path.islink(path):\n shutil.rmtree(path)\n else:\n os.remove(path)\n\n# Move a file or dir, replacing the destination if it exists.\n#\ndef move_file(src, dst):\n if src == dst or not os.path.isfile(src):\n return\n log.info(\"Move %s to %s\" % (src, dst))\n ensure_parent_exists(dst)\n remove_path(dst)\n shutil.move(src, dst)\n\n# Copy a file or dir, replacing the destination if it exists already.\n#\ndef copy_overwrite(src, dst):\n if src != dst:\n remove_path(dst)\n ensure_parent_exists(dst)\n shutil.copytree(src, dst, symlinks=True)\n\n# Attempt to symlink link_path -> link_to.\n# link_to must be a path relative to link_path's parent and must exist.\n# If link_path already exists, do nothing.\n#\ndef attempt_symlink(link_path, link_to):\n # Only allow linking to an existing file\n os.stat(os.path.abspath(os.path.join(link_path, \"..\", link_to)))\n\n # Only make the link if it hasn't already been made\n if not os.path.exists(link_path):\n log.info(\"Symlink %s -> %s\" % (link_path, link_to))\n os.symlink(link_to, link_path)\n\n# Takes the last entry in an array-based path and returns a normal path\n# relative to base_path.\n#\ndef top_level_file_path(base_path, path_list):\n return os.path.join(base_path, os.path.split(path_list[-1])[-1])\n\n# Takes all entries in an array-based path and returns a normal path\n# relative to base_path.\n#\ndef full_file_path(base_path, path_list):\n return os.path.join(*([base_path] + path_list))\n\n# Print a command before executing it.\n# Also print out all output from the command to STDOUT.\n#\ndef print_and_call(cmd):\n log.info(\"Cmd \" + \" \".join(cmd))\n p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n result = p.communicate()[0]\n if len(result) > 0:\n log.info(result)\n if p.returncode != 0:\n raise subprocess.CalledProcessError(p.returncode, cmd)\n\n# Special print-and-call command for the slave build that strips out\n# xcodebuild's spammy list of environment variables.\n#\ndef print_and_call_slave_build(cmd, other_platform):\n separator = '=== BUILD NATIVE TARGET '\n p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n result = p.communicate()[0].split(separator)\n if len(result) == 1:\n result = result[0]\n else:\n result = separator + result[1]\n log.info(\"Cmd \" + \" \".join(cmd) + \"\\n\" + result)\n if p.returncode != 0:\n raise subprocess.CalledProcessError(p.returncode, cmd)\n\n# Issue a warning and record that a warning has been issued.\n#\ndef issue_warning(msg, *args, **kwargs):\n global issued_warnings\n issued_warnings = True\n log.warn(msg, *args, **kwargs)\n\n\n\n##############################################################################\n#\n# Main Application\n#\n##############################################################################\n\n# Check if we are running as master.\n#\ndef is_master():\n return os.environ.get('UFW_MASTER_PLATFORM', os.environ['PLATFORM_NAME']) == os.environ['PLATFORM_NAME']\n\n# DerivedData should almost never appear in any framework, library, or header\n# search paths. However, Xcode will sometimes add them in, so we check to make\n# sure.\n#\ndef check_for_derived_data_in_search_paths(project):\n search_path_keys = [\"FRAMEWORK_SEARCH_PATHS\", \"LIBRARY_SEARCH_PATHS\", \"HEADER_SEARCH_PATHS\"]\n build_configs = project.target['buildConfigurationList']['buildConfigurations']\n build_settings = filter(lambda x: x['name'] == os.environ['CONFIGURATION'], build_configs)[0]['buildSettings']\n \n found_something = False\n for path_key in filter(lambda x: x in build_settings, search_path_keys):\n path = build_settings[path_key]\n if \"DerivedData\" in path:\n found_something = True\n log.warn(\"Derived data in %s\" % path)\n issue_warning(\"'%s' contains reference to 'DerivedData'.\" % path_key)\n if found_something:\n log.warn(\"Check your build settings and remove any entries that contain paths inside the DerivedData folder.\")\n log.warn(\"Otherwise you can disable this warning by changing 'config_warn_derived_data' in this script.\")\n\n# Link local architectures into their respective archives.\n#\ndef link_local_archs(project):\n for arch in project.local_architectures:\n print_and_call(project.get_single_arch_link_command(arch))\n\n# Link only the local architectures into the final product, not the slave\n# architectures. For iphoneos, this will be armv6, armv7. For simulator, this\n# will be i386.\n#\ndef link_combine_local_archs(project):\n print_and_call(project.get_local_archs_link_command())\n\n# Link all architectures into the final product.\n#\ndef link_combine_all_archs(project):\n print_and_call(project.get_all_archs_link_command())\n\n# Check if we should open the build directory after a successful build.\n#\ndef should_open_build_dir():\n env_setting = os.environ.get('UFW_OPEN_BUILD_DIR', None)\n if env_setting is not None:\n return env_setting\n\n return config_open_build_dir\n\n# Open the build dir in Finder.\n#\ndef open_build_dir():\n print_and_call(['open', os.environ['TARGET_BUILD_DIR']])\n\n# Check if the build was started by selecting \"Archive\" under \"Product\" in\n# Xcode.\n#\ndef is_archive_build():\n # ACTION is always 'build', but perhaps Apple will fix this someday?\n archive_build = os.environ['ACTION'] == 'archive'\n\n if not archive_build:\n # This can be passed in as an env variable when building from command line.\n archive_build = os.environ.get('UFW_ACTION', None) == 'archive'\n\n build_dir = splitpath(os.environ['BUILD_DIR'])\n if not archive_build:\n # This partial path is used when you select \"archive\" from within Xcode.\n archive_build = 'ArchiveIntermediates' in build_dir\n\n # It only counts as a full archive build if this target is being built into\n # its own build dir (not being built as a dependency of another target)\n#if archive_build:\n# archive_build = os.environ['TARGET_NAME'] in build_dir\n \n return archive_build\n\n# Xcode by default throws all public headers into the top level directory.\n# This function moves them to their expected deep hierarchy.\n#\ndef build_deep_header_hierarchy(project):\n header_path_top = config_deep_header_top\n if not header_path_top:\n header_path_top = os.path.commonprefix(project.header_paths)\n else:\n header_path_top = splitpath(header_path_top)\n\n built_headers_path = os.path.join(os.environ['TARGET_BUILD_DIR'], os.environ['PUBLIC_HEADERS_FOLDER_PATH'])\n movable_headers = project.movable_headers_relative_to(header_path_top)\n\n # Remove subdirs if they only contain files that have been rebuilt\n ignore_headers = filter(lambda x: not os.path.isfile(top_level_file_path(built_headers_path, x)), movable_headers)\n remove_subdirs(built_headers_path, [file[0] for file in ignore_headers])\n\n # Move rebuilt headers into their proper subdirs\n for header in movable_headers:\n move_file(top_level_file_path(built_headers_path, header), full_file_path(built_headers_path, header))\n\n# Add all symlinks needed to make a full framework structure:\n#\n# MyFramework.framework\n# |-- MyFramework -> Versions/Current/MyFramework\n# |-- Headers -> Versions/Current/Headers\n# |-- Resources -> Versions/Current/Resources\n# `-- Versions\n# |-- A\n# | |-- MyFramework\n# | |-- Headers\n# | | `-- MyFramework.h\n# | `-- Resources\n# | |-- Info.plist\n# | |-- MyViewController.nib\n# | `-- en.lproj\n# | `-- InfoPlist.strings\n# `-- Current -> A\n#\ndef add_symlinks_to_framework(project):\n base_dir = project.local_built_fw_path\n attempt_symlink(os.path.join(base_dir, \"Versions\", \"Current\"), os.environ['FRAMEWORK_VERSION'])\n if os.path.isdir(os.path.join(base_dir, \"Versions\", \"Current\", \"Headers\")):\n attempt_symlink(os.path.join(base_dir, \"Headers\"), os.path.join(\"Versions\", \"Current\", \"Headers\"))\n if os.path.isdir(os.path.join(base_dir, \"Versions\", \"Current\", \"Resources\")):\n attempt_symlink(os.path.join(base_dir, \"Resources\"), os.path.join(\"Versions\", \"Current\", \"Resources\"))\n attempt_symlink(os.path.join(base_dir, os.environ['EXECUTABLE_NAME']), os.path.join(\"Versions\", \"Current\", os.environ['EXECUTABLE_NAME']))\n\n# Build an embedded framework structure.\n# An embedded framework contains the actual framework, plus a \"Resources\"\n# directory containing symlinks to all resources found in the actual framework,\n# with the exception of \"Info.plist\" and anything ending in \".lproj\":\n#\n# MyFramework.embeddedframework\n# |-- MyFramework.framework\n# | |-- MyFramework -> Versions/Current/MyFramework\n# | |-- Headers -> Versions/Current/Headers\n# | |-- Resources -> Versions/Current/Resources\n# | `-- Versions\n# | |-- A\n# | | |-- MyFramework\n# | | |-- Headers\n# | | | `-- MyFramework.h\n# | | `-- Resources\n# | | |-- Info.plist\n# | | |-- MyViewController.nib\n# | | `-- en.lproj\n# | | `-- InfoPlist.strings\n# | `-- Current -> A\n# `-- Resources\n# `-- MyViewController.nib -> ../MyFramework.framework/Resources/MyViewController.nib\n#\ndef build_embedded_framework(project):\n fw_path = project.local_built_fw_path\n embedded_path = project.local_built_embedded_fw_path\n fw_name = os.environ['WRAPPER_NAME']\n\n if (os.path.islink(fw_path)):\n # If the framework path is a link, the build result already in embeddedframework.\n # Just recreate embeddedframework's Resources\n remove_path(os.path.join(embedded_path, \"Resources\"))\n else:\n remove_path(embedded_path)\n ensure_path_exists(embedded_path)\n copy_overwrite(fw_path, os.path.join(embedded_path, fw_name))\n\n # Create embeddedframework's Resources \n ensure_path_exists(os.path.join(embedded_path, \"Resources\"))\n symlink_source = os.path.join(\"..\", fw_name, \"Resources\")\n symlink_path = os.path.join(embedded_path, \"Resources\")\n if os.path.isdir(os.path.join(fw_path, \"Resources\")):\n for file in filter(lambda x: x != \"Info.plist\" and not x.endswith(\".lproj\"), os.listdir(os.path.join(fw_path, \"Resources\"))):\n attempt_symlink(os.path.join(symlink_path, file), os.path.join(symlink_source, file))\n\n # Remove the normal framework and replace it with a symlink to the copy\n # in the embedded framework. This is needed because Xcode runs its strip\n # phase AFTER the script runs.\n embed_fw_wrapper = os.path.splitext(os.environ['WRAPPER_NAME'])[0] + \".embeddedframework\"\n remove_path(fw_path)\n attempt_symlink(fw_path, os.path.join(embed_fw_wrapper, os.environ['WRAPPER_NAME']))\n\n\n# Run the build process in slave mode to build the other configuration\n# (device/simulator).\n#\ndef run_slave_build(project):\n print_and_call_slave_build(project.get_slave_project_build_command(), project.other_platform)\n\n# Run the build process.\n#\ndef run_build():\n project = Project(os.path.join(os.environ['PROJECT_FILE_PATH'], \"project.pbxproj\"))\n\n # Issue warnings only if we're master.\n if is_master():\n if len(project.compilable_sources) == 0:\n raise Exception(\"No compilable sources found. Please add at least one source file to build target %s.\" % os.environ['TARGET_NAME'])\n\n if config_warn_derived_data:\n check_for_derived_data_in_search_paths(project)\n if config_warn_no_public_headers and len(project.public_headers) == 0:\n issue_warning('No headers in build target %s were marked public. Please move at least one header to \"Public\" in the \"Copy Headers\" build phase.' % os.environ['TARGET_NAME'])\n\n # Only build slave if this is an archive build.\n if is_archive_build():\n if is_master():\n log.debug(\"Building as MASTER\")\n # The slave-side linker tries to include this (nonexistent) path as\n # a library path.\n ensure_path_exists(project.get_slave_environment()['BUILT_PRODUCTS_DIR'])\n project.build_state.persist()\n run_slave_build(project)\n project.build_state.reload()\n else:\n log.debug(\"Building as SLAVE\")\n project.build_state.reload()\n project.build_state.set_slave_properties(project.local_architectures,\n project.local_linked_archive_paths,\n project.local_built_fw_path,\n project.local_built_embedded_fw_path)\n project.build_state.persist()\n\n link_local_archs(project)\n \n # Only do a universal binary when building an archive.\n if is_archive_build() and is_master():\n link_combine_all_archs(project)\n else:\n link_combine_local_archs(project)\n\n if config_deep_header_hierarchy:\n build_deep_header_hierarchy(project)\n\n add_symlinks_to_framework(project)\n \n if is_master():\n if config_framework_type == 'embeddedframework':\n build_embedded_framework(project)\n elif config_framework_type != 'framework':\n raise Exception(\"%s: Unknown framework type for config_framework_type\" % config_framework_type)\n\n\nif __name__ == \"__main__\":\n log_handler = logging.StreamHandler()\n log_handler.setFormatter(logging.Formatter(\"%(name)s (\" + os.environ['PLATFORM_NAME'] + \"): %(levelname)s: %(message)s\"))\n log.addHandler(log_handler)\n log.setLevel(config_log_level)\n\n error_code = 0\n prefix = \"M\" if is_master() else \"S\"\n log_handler.setFormatter(logging.Formatter(\"%(name)s (\" + prefix + \" \" + os.environ['PLATFORM_NAME'] + \"): %(levelname)s: %(message)s\"))\n\n log.debug(\"Begin build process\")\n\n if config_deep_header_top:\n config_deep_header_top = string.Template(config_deep_header_top).substitute(os.environ)\n\n try:\n run_build()\n if issued_warnings:\n if config_fail_on_warnings:\n error_code = 1\n log.warn(\"Build completed with warnings\")\n else:\n log.info(\"Build completed\")\n if not is_archive_build():\n log.info(\"Note: This is *NOT* a universal framework build. To build as a universal framework, do an archive build.\")\n log.info(\"To do an archive build from command line, use \\\"xcodebuild -configuration Release UFW_ACTION=archive clean build\\\"\")\n except Exception:\n traceback.print_exc(file=sys.stdout)\n error_code = 1\n log.error(\"Build failed\")\n finally:\n if error_code == 0 and is_archive_build() and is_master():\n log.info(\"Built framework is in \" + os.environ['TARGET_BUILD_DIR'])\n#if should_open_build_dir():\n#open_build_dir()\n sys.exit(error_code)\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 0010CE151B69BD8D0032F514 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -350,23 +334,38 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = 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_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", @@ -379,7 +378,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -392,30 +391,44 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = 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_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu99; + 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 = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; @@ -431,6 +444,8 @@ DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; INFOPLIST_FILE = mobdebug/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + PRODUCT_BUNDLE_IDENTIFIER = "com.taobao.junzhan.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; @@ -447,6 +462,8 @@ DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; INFOPLIST_FILE = mobdebug/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + PRODUCT_BUNDLE_IDENTIFIER = "com.taobao.junzhan.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; @@ -474,6 +491,7 @@ 0010CE2F1B69BD8D0032F514 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; diff --git a/tools/mobdebug/mobdebug.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/tools/mobdebug/mobdebug.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/tools/mobdebug/mobdebug.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/tools/mobdebug/mobdebug.xcodeproj/xcshareddata/xcschemes/mobdebug.xcscheme b/tools/mobdebug/mobdebug.xcodeproj/xcshareddata/xcschemes/mobdebug.xcscheme index 2477762b..6d3a72b7 100644 --- a/tools/mobdebug/mobdebug.xcodeproj/xcshareddata/xcschemes/mobdebug.xcscheme +++ b/tools/mobdebug/mobdebug.xcodeproj/xcshareddata/xcschemes/mobdebug.xcscheme @@ -1,6 +1,6 @@ - - - - CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - com.taobao.junzhan.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/wax.podspec b/wax.podspec index 5a049094..b4accfe8 100644 --- a/wax.podspec +++ b/wax.podspec @@ -23,7 +23,7 @@ Pod::Spec.new do |s| s.platform = :ios # When using multiple platforms - s.ios.deployment_target = '4.3' + s.ios.deployment_target = '15.0' s.source_files = 'lib/*.{h,m}', 'lib/adaptation/*.{h,m}','lib/lua/*.{h,m,c}', 'lib/extensions/block/*.{h,m}', 'lib/extensions/capi/**/*.{h,m,c}', 'lib/extensions/CGAffine/*.{h,m}','lib/extensions/CGContext/*.{h,m}','lib/extensions/filesystem/*.{h,m}' ,'lib/extensions/HTTP/*.{h,m}','lib/extensions/ivar/*.{h,m}','lib/extensions/json/**/**/*.{h,m,c}','lib/extensions/memory/*.{h,m,c}','lib/extensions/SQLite/**/*.{h,m}','lib/extensions/xml/**/*.{h,m}'