From a8fbfaf50ae3ed1289ff73e476180e170ab91e4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hans=20Kn=C3=B6chel?= Date: Mon, 9 Jan 2023 00:08:56 +0100 Subject: [PATCH 1/5] chore: build with TitaniumKit and latest Ti.SDK --- ios/Classes/TiWorkerModule.h | 2 +- ios/Classes/TiWorkerModule.m | 5 +- ios/Classes/TiWorkerProxy.h | 3 +- ios/iosworkermodule.xcodeproj/project.pbxproj | 78 ++++++++++++++++--- ios/manifest | 3 +- ios/titanium.xcconfig | 13 +--- 6 files changed, 79 insertions(+), 25 deletions(-) diff --git a/ios/Classes/TiWorkerModule.h b/ios/Classes/TiWorkerModule.h index 681fcdb..07e41ef 100644 --- a/ios/Classes/TiWorkerModule.h +++ b/ios/Classes/TiWorkerModule.h @@ -5,7 +5,7 @@ * Please see the LICENSE included with this distribution for details. */ -#import "TiModule.h" +#import @interface TiWorkerModule : TiModule diff --git a/ios/Classes/TiWorkerModule.m b/ios/Classes/TiWorkerModule.m index 06faf3c..61c4ab3 100644 --- a/ios/Classes/TiWorkerModule.m +++ b/ios/Classes/TiWorkerModule.m @@ -5,10 +5,9 @@ * Please see the LICENSE included with this distribution for details. */ +#import + #import "TiWorkerModule.h" -#import "TiBase.h" -#import "TiHost.h" -#import "TiUtils.h" #import "TiWorkerProxy.h" @implementation TiWorkerModule diff --git a/ios/Classes/TiWorkerProxy.h b/ios/Classes/TiWorkerProxy.h index 0a676df..945cbe2 100644 --- a/ios/Classes/TiWorkerProxy.h +++ b/ios/Classes/TiWorkerProxy.h @@ -5,8 +5,7 @@ * Please see the LICENSE included with this distribution for details. */ -#import "KrollBridge.h" -#import "TiProxy.h" +#import @interface TiWorkerSelfProxy : TiProxy { TiProxy *_parent; diff --git a/ios/iosworkermodule.xcodeproj/project.pbxproj b/ios/iosworkermodule.xcodeproj/project.pbxproj index ebf4547..cfd9a77 100644 --- a/ios/iosworkermodule.xcodeproj/project.pbxproj +++ b/ios/iosworkermodule.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 45; + objectVersion = 52; objects = { /* Begin PBXAggregateTarget section */ @@ -28,6 +28,7 @@ 24DD6CFA1134B3F500162E58 /* TiWorkerModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 24DD6CF81134B3F500162E58 /* TiWorkerModule.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; 24DE9E1111C5FE74003F90F6 /* TiWorkerModuleAssets.h in Headers */ = {isa = PBXBuildFile; fileRef = 24DE9E0F11C5FE74003F90F6 /* TiWorkerModuleAssets.h */; }; 24DE9E1211C5FE74003F90F6 /* TiWorkerModuleAssets.mm in Sources */ = {isa = PBXBuildFile; fileRef = 24DE9E1011C5FE74003F90F6 /* TiWorkerModuleAssets.mm */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; + 3A635FCD29420A16005EF7D0 /* TitaniumKit.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A635FCC29420A16005EF7D0 /* TitaniumKit.xcframework */; }; AA747D9F0F9514B9006C5449 /* TiWorker_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = AA747D9E0F9514B9006C5449 /* TiWorker_Prefix.pch */; }; AACBBE4A0F95108600F1A2B1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; }; /* End PBXBuildFile section */ @@ -50,6 +51,7 @@ 24DD6D1B1134B66800162E58 /* titanium.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = titanium.xcconfig; sourceTree = ""; }; 24DE9E0F11C5FE74003F90F6 /* TiWorkerModuleAssets.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TiWorkerModuleAssets.h; path = Classes/TiWorkerModuleAssets.h; sourceTree = ""; }; 24DE9E1011C5FE74003F90F6 /* TiWorkerModuleAssets.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = TiWorkerModuleAssets.mm; path = Classes/TiWorkerModuleAssets.mm; sourceTree = ""; }; + 3A635FCC29420A16005EF7D0 /* TitaniumKit.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = TitaniumKit.xcframework; path = "../../../../Library/Application Support/Titanium/mobilesdk/osx/11.1.1.GA/iphone/Frameworks/TitaniumKit.xcframework"; sourceTree = ""; }; AA747D9E0F9514B9006C5449 /* TiWorker_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TiWorker_Prefix.pch; sourceTree = SOURCE_ROOT; }; AACBBE490F95108600F1A2B1 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; D2AAC07E0554694100DB518D /* libTiWorker.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libTiWorker.a; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -61,6 +63,7 @@ buildActionMask = 2147483647; files = ( AACBBE4A0F95108600F1A2B1 /* Foundation.framework in Frameworks */, + 3A635FCD29420A16005EF7D0 /* TitaniumKit.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -89,6 +92,7 @@ 0867D69AFE84028FC02AAC07 /* Frameworks */ = { isa = PBXGroup; children = ( + 3A635FCC29420A16005EF7D0 /* TitaniumKit.xcframework */, AACBBE490F95108600F1A2B1 /* Foundation.framework */, ); name = Frameworks; @@ -156,16 +160,15 @@ 0867D690FE84028FC02AAC07 /* Project object */ = { isa = PBXProject; attributes = { + LastUpgradeCheck = 1410; }; buildConfigurationList = 1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "iosworkermodule" */; compatibilityVersion = "Xcode 3.1"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 1; knownRegions = ( - English, - Japanese, - French, - German, + en, + Base, ); mainGroup = 0867D691FE84028FC02AAC07 /* iosworkermodule */; productRefGroup = 034768DFFF38A50411DB9C8B /* Products */; @@ -223,6 +226,8 @@ ARCHS = "$(ARCHS_STANDARD)"; "ARCHS[sdk=iphoneos*]" = "$(ARCHS_STANDARD)"; "ARCHS[sdk=iphonesimulator*]" = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_WEAK = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; DSTROOT = /tmp/TiWorker.dst; @@ -266,6 +271,8 @@ ARCHS = "$(ARCHS_STANDARD)"; "ARCHS[sdk=iphoneos*]" = "$(ARCHS_STANDARD)"; "ARCHS[sdk=iphonesimulator*]" = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_WEAK = YES; DSTROOT = /tmp/TiWorker.dst; GCC_C_LANGUAGE_STANDARD = c99; GCC_MODEL_TUNING = G5; @@ -283,7 +290,7 @@ GCC_WARN_UNUSED_VALUE = NO; GCC_WARN_UNUSED_VARIABLE = NO; INSTALL_PATH = /usr/local/lib; - IPHONEOS_DEPLOYMENT_TARGET = 4.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; "IPHONEOS_DEPLOYMENT_TARGET[sdk=iphoneos*]" = 5.1.1; LIBRARY_SEARCH_PATHS = ""; OTHER_CFLAGS = "-DTI_POST_1_2"; @@ -303,25 +310,52 @@ ARCHS = "$(ARCHS_STANDARD)"; "ARCHS[sdk=iphoneos*]" = "$(ARCHS_STANDARD)"; "ARCHS[sdk=iphonesimulator*]" = "$(ARCHS_STANDARD)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ENABLE_MODULES = 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 = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; DSTROOT = /tmp/TiWorker.dst; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = TiWorker_Prefix.pch; GCC_PREPROCESSOR_DEFINITIONS = "TI_VERSION=$(TI_VERSION)"; GCC_TREAT_WARNINGS_AS_ERRORS = NO; GCC_VERSION = ""; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = NO; GCC_WARN_MISSING_PARENTHESES = NO; GCC_WARN_SHADOW = NO; GCC_WARN_STRICT_SELECTOR_MATCH = NO; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_PARAMETER = NO; GCC_WARN_UNUSED_VALUE = NO; GCC_WARN_UNUSED_VARIABLE = NO; INSTALL_PATH = /usr/local/lib; + ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = ( "-DDEBUG", "-DTI_POST_1_2", @@ -344,24 +378,49 @@ ARCHS = "$(ARCHS_STANDARD)"; "ARCHS[sdk=iphoneos*]" = "$(ARCHS_STANDARD)"; "ARCHS[sdk=iphonesimulator*]" = "$(ARCHS_STANDARD)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ENABLE_MODULES = 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; DSTROOT = /tmp/TiWorker.dst; + ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_MODEL_TUNING = G5; + GCC_NO_COMMON_BLOCKS = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = TiWorker_Prefix.pch; GCC_PREPROCESSOR_DEFINITIONS = "TI_VERSION=$(TI_VERSION)"; GCC_TREAT_WARNINGS_AS_ERRORS = NO; GCC_VERSION = ""; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = NO; GCC_WARN_MISSING_PARENTHESES = NO; GCC_WARN_SHADOW = NO; GCC_WARN_STRICT_SELECTOR_MATCH = NO; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_PARAMETER = NO; GCC_WARN_UNUSED_VALUE = NO; GCC_WARN_UNUSED_VARIABLE = NO; INSTALL_PATH = /usr/local/lib; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; OTHER_CFLAGS = "-DTI_POST_1_2"; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = TiWorker; @@ -375,6 +434,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 24DD6D1B1134B66800162E58 /* titanium.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = YES; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; @@ -386,9 +446,9 @@ isa = XCBuildConfiguration; baseConfigurationReference = 24DD6D1B1134B66800162E58 /* titanium.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = YES; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_ENABLE_FIX_AND_CONTINUE = NO; PRODUCT_NAME = "Build & test"; ZERO_LINK = NO; }; diff --git a/ios/manifest b/ios/manifest index 1cfcc39..e86fad3 100644 --- a/ios/manifest +++ b/ios/manifest @@ -4,7 +4,7 @@ # version: 1.2.1 apiversion: 2 -architectures: i386 x86_64 armv7 arm64 +architectures: x86_64 arm64 description: An iOS worker pool author: Jeff Haynie license: Apache Public License v2 @@ -17,3 +17,4 @@ moduleid: ti.worker guid: d97e8b6c-a598-4b21-be51-26449733a49d platform: iphone minsdk: 5.0.0 +mac: false diff --git a/ios/titanium.xcconfig b/ios/titanium.xcconfig index 8705dc8..acbc26c 100644 --- a/ios/titanium.xcconfig +++ b/ios/titanium.xcconfig @@ -4,16 +4,11 @@ // OF YOUR TITANIUM SDK YOU'RE BUILDING FOR // // -TITANIUM_SDK_VERSION = 7.5.0.GA - +TITANIUM_SDK_VERSION = 11.1.1.GA // // THESE SHOULD BE OK GENERALLY AS-IS // -TITANIUM_SDK = ~/Library/Application Support/Titanium/mobilesdk/osx/$(TITANIUM_SDK_VERSION) -TITANIUM_BASE_SDK = "$(TITANIUM_SDK)/iphone/include" -TITANIUM_BASE_SDK2 = "$(TITANIUM_SDK)/iphone/include/TiCore" -HEADER_SEARCH_PATHS= $(TITANIUM_BASE_SDK) $(TITANIUM_BASE_SDK2) - - - +TITANIUM_SDK = /Users/$(USER)/Library/Application Support/Titanium/mobilesdk/osx/$(TITANIUM_SDK_VERSION) +HEADER_SEARCH_PATHS = $(inherited) "$(TITANIUM_SDK)" +FRAMEWORK_SEARCH_PATHS = $(inherited) "$(TITANIUM_SDK)/iphone/Frameworks" From d5d918da05edbc4139b4b28c4af5645f23a64ad3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hans=20Kn=C3=B6chel?= Date: Mon, 9 Jan 2023 00:09:25 +0100 Subject: [PATCH 2/5] fix: retain temporary file until app is booted --- ios/Classes/TiWorkerProxy.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ios/Classes/TiWorkerProxy.m b/ios/Classes/TiWorkerProxy.m index d588324..5367763 100644 --- a/ios/Classes/TiWorkerProxy.m +++ b/ios/Classes/TiWorkerProxy.m @@ -115,7 +115,7 @@ - (id)initWithPath:(NSString *)path host:(id)host pageContext:(id)p NSString *wrapper = [NSString stringWithFormat:@"function TiWorkerStart__() { var worker = Ti.App.currentWorker; worker.nextTick = function(t) { setTimeout(t,0); }; %@\n};", jcode]; // we delete file below when booted - _tempFile = [self makeTemp:[wrapper dataUsingEncoding:NSUTF8StringEncoding]]; + _tempFile = [[self makeTemp:[wrapper dataUsingEncoding:NSUTF8StringEncoding]] retain]; NSURL *tempurl = [NSURL fileURLWithPath:_tempFile isDirectory:NO]; // start the boot which will run on its own thread automatically [_bridge boot:self url:tempurl preload:@{ @"App" : @{ @"currentWorker" : _selfProxy } }]; @@ -136,6 +136,7 @@ - (void)booted:(id)bridge NSLog(@"[INFO] Worker %@ (0x%X) is running", [_selfProxy url], self); [_selfProxy setExecutionContext:_bridge]; [[NSFileManager defaultManager] removeItemAtPath:_tempFile error:nil]; + [_tempFile release]; }); // start our JS processing From 2d8545323089b42d4676765e3c4e05813707f507 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hans=20Kn=C3=B6chel?= Date: Mon, 9 Jan 2023 00:09:42 +0100 Subject: [PATCH 3/5] =?UTF-8?q?fix:=20attach=20=E2=80=9CTiWorkerStart=5F?= =?UTF-8?q?=5F=E2=80=9D=20function=20to=20global=20scope?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ios/Classes/TiWorkerProxy.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/Classes/TiWorkerProxy.m b/ios/Classes/TiWorkerProxy.m index 5367763..878b034 100644 --- a/ios/Classes/TiWorkerProxy.m +++ b/ios/Classes/TiWorkerProxy.m @@ -112,7 +112,7 @@ - (id)initWithPath:(NSString *)path host:(id)host pageContext:(id)p // pull it in to some wrapper code so we can provide a start function and pre-define some variables/functions // the newline after the wrapped code is important due to trailing sourcemap comment - NSString *wrapper = [NSString stringWithFormat:@"function TiWorkerStart__() { var worker = Ti.App.currentWorker; worker.nextTick = function(t) { setTimeout(t,0); }; %@\n};", jcode]; + NSString *wrapper = [NSString stringWithFormat:@"function TiWorkerStart__() { var worker = Ti.App.currentWorker; worker.nextTick = function(t) { setTimeout(t,0); }; %@\n};\n\nglobal.TiWorkerStart__ = TiWorkerStart__;", jcode]; // we delete file below when booted _tempFile = [[self makeTemp:[wrapper dataUsingEncoding:NSUTF8StringEncoding]] retain]; From f98428836c0c4100b4482ab391573d223888a74d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hans=20Kn=C3=B6chel?= Date: Mon, 9 Jan 2023 00:10:10 +0100 Subject: [PATCH 4/5] chore(ios): bump version --- ios/manifest | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/manifest b/ios/manifest index e86fad3..2122476 100644 --- a/ios/manifest +++ b/ios/manifest @@ -2,7 +2,7 @@ # this is your module manifest and used by Titanium # during compilation, packaging, distribution, etc. # -version: 1.2.1 +version: 1.2.2 apiversion: 2 architectures: x86_64 arm64 description: An iOS worker pool From fca62dff12e85d7a97f31642890d8704561d902c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hans=20Kn=C3=B6chel?= Date: Mon, 9 Jan 2023 00:11:26 +0100 Subject: [PATCH 5/5] fix: restore dealloc fix for ARC environment --- ios/Classes/TiWorkerProxy.m | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ios/Classes/TiWorkerProxy.m b/ios/Classes/TiWorkerProxy.m index 878b034..5db94f0 100644 --- a/ios/Classes/TiWorkerProxy.m +++ b/ios/Classes/TiWorkerProxy.m @@ -115,7 +115,7 @@ - (id)initWithPath:(NSString *)path host:(id)host pageContext:(id)p NSString *wrapper = [NSString stringWithFormat:@"function TiWorkerStart__() { var worker = Ti.App.currentWorker; worker.nextTick = function(t) { setTimeout(t,0); }; %@\n};\n\nglobal.TiWorkerStart__ = TiWorkerStart__;", jcode]; // we delete file below when booted - _tempFile = [[self makeTemp:[wrapper dataUsingEncoding:NSUTF8StringEncoding]] retain]; + _tempFile = [self makeTemp:[wrapper dataUsingEncoding:NSUTF8StringEncoding]]; NSURL *tempurl = [NSURL fileURLWithPath:_tempFile isDirectory:NO]; // start the boot which will run on its own thread automatically [_bridge boot:self url:tempurl preload:@{ @"App" : @{ @"currentWorker" : _selfProxy } }]; @@ -136,7 +136,6 @@ - (void)booted:(id)bridge NSLog(@"[INFO] Worker %@ (0x%X) is running", [_selfProxy url], self); [_selfProxy setExecutionContext:_bridge]; [[NSFileManager defaultManager] removeItemAtPath:_tempFile error:nil]; - [_tempFile release]; }); // start our JS processing