diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/Info.plist b/packages/core/platforms/ios/TNSWidgets.xcframework/Info.plist index 83ff73fcd..225b1ed64 100644 --- a/packages/core/platforms/ios/TNSWidgets.xcframework/Info.plist +++ b/packages/core/platforms/ios/TNSWidgets.xcframework/Info.plist @@ -4,6 +4,37 @@ AvailableLibraries + + DebugSymbolsPath + dSYMs + LibraryIdentifier + ios-arm64 + LibraryPath + TNSWidgets.framework + SupportedArchitectures + + arm64 + + SupportedPlatform + ios + + + DebugSymbolsPath + dSYMs + LibraryIdentifier + ios-arm64_x86_64-maccatalyst + LibraryPath + TNSWidgets.framework + SupportedArchitectures + + arm64 + x86_64 + + SupportedPlatform + ios + SupportedPlatformVariant + maccatalyst + DebugSymbolsPath dSYMs @@ -21,20 +52,6 @@ SupportedPlatformVariant simulator - - DebugSymbolsPath - dSYMs - LibraryIdentifier - ios-arm64 - LibraryPath - TNSWidgets.framework - SupportedArchitectures - - arm64 - - SupportedPlatform - ios - CFBundlePackageType XFWK diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Headers b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Headers new file mode 120000 index 000000000..a177d2a6b --- /dev/null +++ b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Headers @@ -0,0 +1 @@ +Versions/Current/Headers \ No newline at end of file diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Modules b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Modules new file mode 120000 index 000000000..5736f3186 --- /dev/null +++ b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Modules @@ -0,0 +1 @@ +Versions/Current/Modules \ No newline at end of file diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/PrivateHeaders b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/PrivateHeaders new file mode 120000 index 000000000..d8e564526 --- /dev/null +++ b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/PrivateHeaders @@ -0,0 +1 @@ +Versions/Current/PrivateHeaders \ No newline at end of file diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Resources b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Resources new file mode 120000 index 000000000..953ee36f3 --- /dev/null +++ b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Resources @@ -0,0 +1 @@ +Versions/Current/Resources \ No newline at end of file diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/TNSWidgets b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/TNSWidgets new file mode 120000 index 000000000..e68c33d64 --- /dev/null +++ b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/TNSWidgets @@ -0,0 +1 @@ +Versions/Current/TNSWidgets \ No newline at end of file diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/NSData+Async.h b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/NSData+Async.h new file mode 100644 index 000000000..3e0cc8207 --- /dev/null +++ b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/NSData+Async.h @@ -0,0 +1,24 @@ +// +// NSData+Async.h +// TNSWidgets +// +// Created by Peter Staev on 7.08.19. +// Copyright © 2019 Telerik A D. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface NSData (Async) + ++ (void)dataWithContentsOfFile:(nonnull NSString*)path + completion:(void (^) (NSData*))callback; + +- (void)writeToFile:(nonnull NSString*) path + atomically:(BOOL)atomically + completion:(void (^) (void))callback; + +@end + +NS_ASSUME_NONNULL_END diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/NSString+Async.h b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/NSString+Async.h new file mode 100644 index 000000000..2f0592262 --- /dev/null +++ b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/NSString+Async.h @@ -0,0 +1,25 @@ +// +// NSString+Async.h +// TNSWidgets +// +// Created by Peter Staev on 5.08.19. +// Copyright © 2019 Telerik A D. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface NSString (Async) + ++ (void)stringWithContentsOfFile:(nonnull NSString*)path + encoding:(NSStringEncoding)enc + completion:(void (^) (NSString*, NSError*))callback; + +- (void)writeToFile:(nonnull NSString*) path + atomically:(BOOL)atomically + encoding:(NSStringEncoding)enc + completion:(void (^) (NSError*))callback; +@end + +NS_ASSUME_NONNULL_END diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/TNSLabel.h b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/TNSLabel.h new file mode 100644 index 000000000..1c170b9c9 --- /dev/null +++ b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/TNSLabel.h @@ -0,0 +1,16 @@ +// +// TNSLabel.h +// TNSWidgets +// +// Created by Hristo Hristov on 6/9/16. +// Copyright © 2016 Telerik A D. All rights reserved. +// + +#import + +@interface TNSLabel : UILabel + +@property(nonatomic) UIEdgeInsets padding; +@property(nonatomic) UIEdgeInsets borderThickness; + +@end diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/TNSProcess.h b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/TNSProcess.h new file mode 100644 index 000000000..d2f657014 --- /dev/null +++ b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/TNSProcess.h @@ -0,0 +1,29 @@ +// +// TNSProcess.h +// TNSWidgets +// +// Created by Panayot Cankov on 15/05/2017. +// Copyright © 2017 Telerik A D. All rights reserved. +// + +#ifndef TNSProcess_h +#define TNSProcess_h + +#import + +/** + * Get the milliseconds since the process started. + */ +double __tns_uptime(void); + +/** + * Provides access to NSLog. The runtime implementation of console.log is filtered in release. + * We rarely need to log in release but in cases such as when logging app startup times in release, + * this will be convenient shortcut to NSLog, NSLog is not exposed. + * + * Please note the {N} CLI may be filtering app output, prefixing the message with "CONSOLE LOG" + * will make the logs visible in "tns run ios --release" builds. + */ +void __nslog(NSString* message); + +#endif /* TNSProcess_h */ diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/TNSWidgets.h b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/TNSWidgets.h new file mode 100644 index 000000000..7da1d2adb --- /dev/null +++ b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/TNSWidgets.h @@ -0,0 +1,24 @@ +// +// TNSWidgets.h +// TNSWidgets +// +// Created by Panayot Cankov on 4/27/16. +// Copyright © 2016 Telerik A D. All rights reserved. +// + +#import + +//! Project version number for TNSWidgets. +FOUNDATION_EXPORT double TNSWidgetsVersionNumber; + +//! Project version string for TNSWidgets. +FOUNDATION_EXPORT const unsigned char TNSWidgetsVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + +#import "UIImage+TNSBlocks.h" +#import "UIView+PassThroughParent.h" +#import "TNSLabel.h" +#import "TNSProcess.h" +#import "NSString+Async.h" +#import "NSData+Async.h" diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/UIImage+TNSBlocks.h b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/UIImage+TNSBlocks.h new file mode 100644 index 000000000..9e67228be --- /dev/null +++ b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/UIImage+TNSBlocks.h @@ -0,0 +1,26 @@ +// +// UIImage+UIImage_Async.h +// TKImageAsync +// +// Created by Panayot Cankov on 4/18/16. +// Copyright © 2016 Telerik A D. All rights reserved. +// + +@interface UIImage (TNSBlocks) + +/** + * Similar to imageNamed: however it runs on a separate queue so the UI thread is not blocked. + * It also draws the UIImage in a small thumb to force decoding potentially avoiding UI hicckups when displayed. + */ ++ (void) tns_safeDecodeImageNamed: (NSString*) name completion: (void (^) (UIImage*))callback; + +/** + * Same as imageNamed, however calls to this method are sinchronized to be thread safe in iOS8 along with calls to tns_safeImageNamed and tns_safeDecodeImageNamed:completion: + * imageNamed is thread safe in iOS 9 and later so in later versions this methods simply fallbacks to imageNamed: + */ ++ (UIImage*) tns_safeImageNamed: (NSString*) name; + ++ (void) tns_decodeImageWithData: (NSData*) data completion: (void (^) (UIImage*))callback; ++ (void) tns_decodeImageWidthContentsOfFile: (NSString*) file completion: (void (^) (UIImage*))callback; + +@end diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/UIView+PassThroughParent.h b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/UIView+PassThroughParent.h new file mode 100644 index 000000000..e5f68c568 --- /dev/null +++ b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Headers/UIView+PassThroughParent.h @@ -0,0 +1,17 @@ +// +// UIView+PassThroughParent.h +// TNSWidgets +// +// Created by Manol Donev on 21.08.18. +// Copyright © 2018 Telerik A D. All rights reserved. +// + +#import + + +@interface UIView (PassThroughParent) + +- (BOOL) passThroughParent; +- (void) setPassThroughParent:(BOOL) passThroughParent; + +@end diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Modules/module.modulemap b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Modules/module.modulemap new file mode 100644 index 000000000..9184cde23 --- /dev/null +++ b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module TNSWidgets { + umbrella header "TNSWidgets.h" + + export * + module * { export * } +} diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/PrivateHeaders/NSObject+Swizzling.h b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/PrivateHeaders/NSObject+Swizzling.h new file mode 100644 index 000000000..d3d71a88f --- /dev/null +++ b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/PrivateHeaders/NSObject+Swizzling.h @@ -0,0 +1,17 @@ +// +// NSObject+Swizzling.h +// TNSWidgets +// +// Created by Manol Donev on 21.08.18. +// Copyright © 2018 Telerik A D. All rights reserved. +// + +#import +#import + + +@interface NSObject (Swizzling) + ++ (void)swizzleInstanceMethodWithOriginalSelector:(SEL)originalSelector fromClass:(Class)classContainigOriginalSel withSwizzlingSelector:(SEL)swizzlingSelector; + +@end diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/PrivateHeaders/UIView+PropertyBag.h b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/PrivateHeaders/UIView+PropertyBag.h new file mode 100644 index 000000000..65ccdf02d --- /dev/null +++ b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/PrivateHeaders/UIView+PropertyBag.h @@ -0,0 +1,18 @@ +// +// UIView+PropertyBag.h +// TNSWidgets +// +// Created by Manol Donev on 21.08.18. +// Copyright © 2018 Telerik A D. All rights reserved. +// + +#import +#import + + +@interface UIView (PropertyBag) + +- (id) propertyValueForKey:(NSString*) key; +- (void) setPropertyValue:(id) value forKey:(NSString*) key; + +@end diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Resources/Info.plist b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Resources/Info.plist new file mode 100644 index 000000000..d8cf5fe0d --- /dev/null +++ b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Resources/Info.plist @@ -0,0 +1,52 @@ + + + + + BuildMachineOSBuild + 21E258 + CFBundleDevelopmentRegion + en + CFBundleExecutable + TNSWidgets + CFBundleIdentifier + org.nativescript.TNSWidgets + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + TNSWidgets + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 13F17a + DTPlatformName + macosx + DTPlatformVersion + 12.3 + DTSDKBuild + 21E226 + DTSDKName + macosx12.3 + DTXcode + 1340 + DTXcodeBuild + 13F17a + LSMinimumSystemVersion + 10.15 + UIDeviceFamily + + 2 + + + diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/TNSWidgets b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/TNSWidgets new file mode 100755 index 000000000..c9f47a500 Binary files /dev/null and b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/TNSWidgets differ diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current new file mode 120000 index 000000000..8c7e5a667 --- /dev/null +++ b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/dSYMs/TNSWidgets.framework.dSYM/Contents/Info.plist b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/dSYMs/TNSWidgets.framework.dSYM/Contents/Info.plist new file mode 100644 index 000000000..ef076e371 --- /dev/null +++ b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/dSYMs/TNSWidgets.framework.dSYM/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleIdentifier + com.apple.xcode.dsym.org.nativescript.TNSWidgets + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + dSYM + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets new file mode 100644 index 000000000..540958d40 Binary files /dev/null and b/packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets differ diff --git a/packages/ui-mobile-base/ios/build.sh b/packages/ui-mobile-base/ios/build.sh index cd2972296..3b51e8984 100755 --- a/packages/ui-mobile-base/ios/build.sh +++ b/packages/ui-mobile-base/ios/build.sh @@ -31,6 +31,19 @@ xcodebuild \ SKIP_INSTALL=NO \ -quiet +echo "Build for Mac Catalyst" +xcodebuild \ + -project TNSWidgets/TNSWidgets.xcodeproj \ + -scheme TNSWidgets \ + -configuration Release \ + -destination "generic/platform=macOS,variant=Mac Catalyst" \ + clean build \ + BUILD_DIR=$(PWD)/TNSWidgets/build \ + CODE_SIGN_IDENTITY="" \ + CODE_SIGNING_REQUIRED=NO \ + SKIP_INSTALL=NO \ + -quiet + echo "Creating XCFramework" xcodebuild \ -create-xcframework \ @@ -38,4 +51,6 @@ xcodebuild \ -debug-symbols $(PWD)/TNSWidgets/build/Release-iphoneos/TNSWidgets.framework.dSYM \ -framework $(PWD)/TNSWidgets/build/Release-iphonesimulator/TNSWidgets.framework \ -debug-symbols $(PWD)/TNSWidgets/build/Release-iphonesimulator/TNSWidgets.framework.dSYM \ + -framework $(PWD)/TNSWidgets/build/Release-maccatalyst/TNSWidgets.framework \ + -debug-symbols $(PWD)/TNSWidgets/build/Release-maccatalyst/TNSWidgets.framework.dSYM \ -output $(PWD)/TNSWidgets/build/TNSWidgets.xcframework