Posts

Sort by:
Post not yet marked as solved
0 Replies
1 Views
I'm testing disabling iCloud for my app (https://support.apple.com/en-gb/HT207689) and it's disabled in my main app but when I use the share extension it's always enabled. I would think that disabling iCloud would disable it for all extensions you might have in your app. Is there no way to disable iCloud for an extension only for main app?
Posted
by
Post not yet marked as solved
0 Replies
4 Views
Not developer related but I can't find any help with google and trying to send a crash report to apple just causes spinning beachball. So hoping i can find some much needed help in this forum. Safari runs very slow and every time it launches i get an error producing the log below. Any fix suggestions please. Seeing a WebPrivacy library missing leaves me with no confidence using my mac. I had hoped a software update to Ventura 13.6.3 would resolve but no. Path: /Volumes/VOLUME/*/WebPrivacy.framework/Versions/A/XPCServices/com.apple.WebPrivacy.Service.xpc/Contents/MacOS/com.apple.WebPrivacy.Service Identifier: com.apple.WebPrivacy.Service Version: 34 (34.1.1) Build Info: WebPrivacy-34000000000000~249 (617C13) Code Type: X86-64 (Native) Parent Process: launchd [1] Responsible: Safari [5749] User ID: 501 Date/Time: 2023-11-15 09:15:24.5072 +0000 OS Version: macOS 13.6.3 (22G423) Report Version: 12 Anonymous UUID: EC45AED0-4F92-87DE-6EE8-AE74E4A4BD5E Sleep/Wake UUID: 65B3C137-4BC0-476B-9975-503694B76241 Time Awake Since Boot: 150000 seconds Time Since Wake: 88111 seconds System Integrity Protection: enabled Crashed Thread: 0 Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Termination Reason: Namespace DYLD, Code 1 Library missing Library not loaded: /System/Library/PrivateFrameworks/WebPrivacy.framework/Versions/A/WebPrivacy Referenced from: <BF03A141-E3B8-3EC8-B0D3-79F9E987841B> /Volumes/VOLUME/*/WebPrivacy.framework/Versions/A/XPCServices/com.apple.WebPrivacy.Service.xpc/Contents/MacOS/com.apple.WebPrivacy.Service Reason: tried: '/System/Library/PrivateFrameworks/WebPrivacy.framework/Versions/A/WebPrivacy' (no such file), '/System/Volumes/Preboot/Cryptexes/Incoming/OS/System/Library/PrivateFrameworks/WebPrivacy.framework/Versions/A/WebPrivacy' (no such file), '/System/Library/PrivateFrameworks/WebPrivacy.framework/Versions/A/WebPrivacy' (no such file, not in dyld cache), '/System/Library/Frameworks/WebPrivacy.framework/Versions/A/WebPrivacy' (no such file, not in dyld cache) (terminated at launch; ignore backtrace) Thread 0 Crashed: 0 dyld 0x7ff812633c52 __abort_with_payload + 10 1 dyld 0x7ff81264dfd7 abort_with_payload_wrapper_internal + 82 2 dyld 0x7ff81264e009 abort_with_payload + 9 3 dyld 0x7ff8125d28f0 dyld4::halt(char const*) + 375 4 dyld 0x7ff8125cfb71 dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*) + 4526 5 dyld 0x7ff8125ce3bd start + 1805 Thread 0 crashed with X86 Thread State (64-bit): rax: 0x0000000002000209 rbx: 0x0000000000000000 rcx: 0x00007ff7b8f8a3c8 rdx: 0x00007ff7b8f8a830 rdi: 0x0000000000000006 rsi: 0x0000000000000001 rbp: 0x00007ff7b8f8a410 rsp: 0x00007ff7b8f8a3c8 r8: 0x00007ff7b8f8a430 r9: 0x0000000000000000 r10: 0x0000000000000127 r11: 0x0000000000000246 r12: 0x0000000000000127 r13: 0x00007ff7b8f8a830 r14: 0x0000000000000001 r15: 0x0000000000000006 rip: 0x00007ff812633c52 rfl: 0x0000000000000246 cr2: 0x0000000000000000 Logical CPU: 0 Error Code: 0x02000209 Trap Number: 133 Binary Images: 0x106f74000 - 0x106f8bfff com.apple.WebPrivacy.Service (34) <bf03a141-e3b8-3ec8-b0d3-79f9e987841b> /Volumes/VOLUME/*/WebPrivacy.framework/Versions/A/XPCServices/com.apple.WebPrivacy.Service.xpc/Contents/MacOS/com.apple.WebPrivacy.Service 0x7ff8125c8000 - 0x7ff8126605ef dyld (*) <d963b325-2b69-3e5a-ab79-8ce1662ec8cc> /usr/lib/dyld External Modification Summary: Calls made by other processes targeting this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by all processes on this machine: task_for_pid: 153 thread_create: 0 thread_set_state: 5851 VM Region Summary: ReadOnly portion of Libraries: Total=171.8M resident=0K(0%) swapped_out_or_unallocated=171.8M(100%) Writable regions: Total=8452K written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=8452K(100%)
Posted
by
Post not yet marked as solved
0 Replies
17 Views
I am trying to carefully process HDR pixel buffers (10-bit YCbCr buffers) from the camera. I have watched all WWDC videos on this topic but have some doubts expressed below. Q. What assumptions are safe to make about sample values in Metal Core Image Kernels? Are the sample values received in Metal Core Image kernel linear or gamma corrected? Or does that depend on workingColorSpace property, or the input image that is supplied (though imageByMatchingToColorSpace() API, etc.)? And what could be the max and min values of these samples in either case? I see that setting workingColorSpace to NSNull() in context creation options will guarantee receiving the samples as is and normalised to [0-1]. But then it's possible the values are non-linear gamma corrected, and extracting linear values would involve writing conversion functions in the shader. In short, how do you safely process HDR pixel buffers received from the camera (which are in YCrCr420_10bit, which I believe have gamma correction applied, so Y in YCbCr is actually Y'. Can AVFoundation team clarify this?) ?
Posted
by
Post not yet marked as solved
1 Replies
31 Views
I'm converting some code that reads a file's ACLs and I'm having a hard time with acl_free crashing. There is clearly something that I am not understanding. // --- Do we have access control lists? let fileSecurity = properties.fileSecurity var accessList: acl_t? if CFFileSecurityCopyAccessControlList( fileSecurity, &amp;accessList ) { print( "We have access control lists" ) acl_free( &amp;accessList ) } The line acl_free( &amp;accessList ) crashes with the following. malloc: *** error for object 0x16d28ac40: pointer being freed was not allocated In the debugger I can see that accessList points to an object. "accessList = acl_t? 0x000000015b00ea00" I notice that the crash report ptr ref is different to what Xcode is showing in the debugger. Also worth noting, is CFFileSecurityCopyAccessControlList takes a "UnsafeMutablePointer&lt;acl_t?&gt;!" While acl_free takes a "void *obj_p" Can anyone please give me a ptr as to what I am doing wrong? 16" MacBook Pro M2 Pro with Ventura 13.5 running Xcode 15.0
Posted
by
Post not yet marked as solved
0 Replies
19 Views
Hi, I'm trying to drag an NSTextView from one NSView to another. I'm getting the right events, but the drag animation is not coming up. Subclassed TextView: class MyTextView:NSTextView, NSPasteboardItemDataProvider { func pasteboard(_ pasteboard: NSPasteboard?, item: NSPasteboardItem, provideDataForType type: NSPasteboard.PasteboardType) { NSLog ("Paste") } override func mouseDown(with theEvent: NSEvent) { let pasteboardItem = NSPasteboardItem() pasteboardItem.setDataProvider(self, forTypes: [.string]) let draggingItem = NSDraggingItem(pasteboardWriter: pasteboardItem) draggingItem.setDraggingFrame(self.bounds, contents:.Publisher) beginDraggingSession(with: [draggingItem], event: theEvent, source: self) } override func draggingUpdated(_ sender: NSDraggingInfo) -> NSDragOperation { return NSDragOperation.copy } } Subclassed NSView to receive the drop event: class DropView:NSView { func EnableDrop () { // Registering for drag drop types registerForDraggedTypes([NSPasteboard.PasteboardType.string, NSPasteboard.PasteboardType.URL, NSPasteboard.PasteboardType.multipleTextSelection, NSPasteboard.PasteboardType.color]) } func shouldAllowDrag(_ draggingInfo: NSDraggingInfo) -> Bool { return true } override func draggingEntered(_ sender: NSDraggingInfo) -> NSDragOperation { // To show a copy tooltip during drop return NSDragOperation.copy } override func prepareForDragOperation(_ sender: NSDraggingInfo) -> Bool { return true } override func performDragOperation(_ draggingInfo: NSDraggingInfo) -> Bool { let draggedview = draggingInfo.draggingSource as! NSView NSLog ("Drop received") return true } } When I create my view in the ViewController, I do "myviewobj.EnableDrop()" to receive drop events. However as stated above, I'm not able to see the drag animation happening, however, I do get events for it.
Posted
by
Post not yet marked as solved
0 Replies
15 Views
Hi community, newbie here and decided to tackle an app with a big element using Shape. I have created a view which draws segments of a circle and puts them together into said circle. I am now trying to add text to each segment to label them (as they act as buttons). I have tried using simple attempts such as .overlay as well as searching forums for solutions such as this one: https://stackoverflow.com/questions/66187564/how-can-i-insert-uiimages-in-my-circle-segments-with-swiftui Unfortunately I am not able to get the label to sit over its respective segment. The code I am sharing removes all attempts at labelling to show its current state. Here is my code to draw the segmented wheel: struct EmotionWheelView: View { // Prepare array of emotions for the selector let emotions: [Emotion] = Bundle.main.decode("emotions.json") // Bringing in the tapped and selected emotions to set in the parent @Binding public var tappedEmotion: String @Binding public var selectedEmotion: String @Binding public var selectedSegment: Int? var selectableEmotions: [Emotion] { var results: [Emotion] = [] if selectedEmotion.isEmpty { for emotion in emotions { if emotion.level == 1 { results.append(emotion) } } } else { var baseEmotion: Emotion { var result: Emotion = emotions[0] for emotion in emotions { if emotion.name == selectedEmotion { result = emotion } } return result } for emotion in emotions { for subID in baseEmotion.subID { if emotion.id == subID { results.append(emotion) } } } } return results } var data: [Double] { var results: [Double] = [] for _ in selectableEmotions { results.append(2.0) } return results } var colors: [Color] { var results: [Color] = [] var color: Color = .red for emotion in selectableEmotions { switch emotion.color { case "purple": color = Color.purple case "pink": color = Color.pink case "orange": color = Color.orange case "yellow": color = Color.yellow case "green": color = Color.green case "teal": color = Color.teal case "blue": color = Color.blue default: color = Color.black } results.append(color) } return results } var body: some View { EmotionWheel(selectableEmotions: selectableEmotions, data: data, colors: colors, tappedEmotion: $tappedEmotion, selectedSegment: $selectedSegment) .frame(maxHeight: 200) } } struct EmotionWheel: View { var selectableEmotions: [Emotion] var data: [Double] var colors: [Color] @Binding var tappedEmotion: String @Binding var selectedSegment: Int? private var totalValue: Double { data.reduce(0, +) } private var startAngles: [Double] { var angles: [Double] = [] var currentAngle = -Double.pi / 2 for value in data { angles.append(currentAngle) currentAngle += value / totalValue * 2 * .pi } return angles } private var endAngles: [Double] { var angles: [Double] = [] var currentAngle = -Double.pi / 2 for value in data { currentAngle += value / totalValue * 2 * .pi angles.append(currentAngle) } return angles } var body: some View { GeometryReader { geo in ZStack { ForEach(0..<data.count, id: \.self) { index in WheelSegment(startAngle: startAngles[index], endAngle: endAngles[index]) .stroke(Color(UIColor.systemBackground), lineWidth: 1) .fill(colors[index].gradient) .onTapGesture { withAnimation { selectedSegment = index tappedEmotion = selectableEmotions[index].name } } .scaleEffect(selectedSegment == index ? 1.1 : 1.0) .animation(.spring(dampingFraction: 0.8), value: selectedSegment) } Circle() .foregroundStyle(Color(UIColor.systemBackground)) .frame(width: geo.size.width / 2) .overlay { Text(tappedEmotion) .fontWeight(.bold) .foregroundStyle(getTappedColor(tappedEmotion: tappedEmotion)) .padding() } } .padding(40) } } } struct WheelSegment: Shape { var startAngle: Double var endAngle: Double func path(in rect: CGRect) -> Path { var path = Path() let center = CGPoint(x: rect.midX, y: rect.midY) let radius = min(rect.width, rect.height) path.move(to: center) path.addArc(center: center, radius: radius, startAngle: Angle(radians: startAngle), endAngle: Angle(radians: endAngle), clockwise: false) path.closeSubpath() return path } } func getTappedColor(tappedEmotion: String) -> Color { let emotions: [Emotion] = Bundle.main.decode("emotions.json") var color: Color = .red var toColor: Emotion { for emotion in emotions { if emotion.name == tappedEmotion { return emotion } } return emotions[0] } switch toColor.color { case "purple": color = Color.purple case "pink": color = Color.pink case "orange": color = Color.orange case "yellow": color = Color.yellow case "green": color = Color.green case "teal": color = Color.teal case "blue": color = Color.blue default: color = Color.black } return color } Result: Crude representation of goal (you get the idea):
Posted
by
Post not yet marked as solved
0 Replies
17 Views
Is it possible to edit a SwiftData document in an immersive scene? If so... how? At the moment I see that the modelContext is available in the contentView of a documentGroup, but can Document Data be made available to an Immserive scene's content?
Posted
by
Post not yet marked as solved
0 Replies
20 Views
I am creating an app that runs on Mac using objective-c. Since location information permission is required, I implemented the following. // AppDelegate.m #import <CoreLocation/CoreLocation.h> - (void)getLocation { CLLocationManager *locationManager = [[CLLocationManager alloc] init]; [locationManager requestWhenInUseAuthorization]; } - (IBAction)buttonClicked:(id)sender{ [self getLocation]; } Info.plist <key>NSLocationUsageDescription</key> <string>This app requires location information.</string> What I'm hoping for is that when I run this app and press the button, I'd like to see an OS alert asking for permission to use location information, saying "***" would like to use your current location. However, when I try it, no alert is displayed. However, the app name has been added to the "Location Services" item in "Security & Privacy" in System Preferences. How can I display alerts?
Posted
by
Post not yet marked as solved
1 Replies
31 Views
Dear Apple, The decision to NOT allow us to change the notification tone and to NOT allow us to increase the volume so that we can hear it means that as a stock trader I’m NOT getting the ACTIONABLE ALERTS I need during the day. PLEASE CHANGE THIS SO THAT I CAN: 1) increase the volume and 2) assign different notification tones to different applications and 3) make it so that I have the option of including VIBRATION with my notification. THANK YOU.
Posted
by
Post not yet marked as solved
0 Replies
27 Views
Hi everyone, I facing two issues with Xcode 15: 1- slow performance especially when trying to test the app on simulator or physical device, I tried to used simulator running iOS 16.4, also the preview take a long time to load. 2- I am Beginner and Xcode 15 not catching my mistakes immediately same as Xcode 14 My device is Mac Air M2 8GB (Sonoma 14.1.1)
Posted
by
Post not yet marked as solved
0 Replies
19 Views
Our iOS apps don't run properly after iOS 17.1.1 update. Our apps calls becomeFirstResponder when user taps on an editor button. And then it automaticalls calls the canBecomeFirstResponder command. In iOS 17.1.1 somehow the canBecomeFirstResponder gets called twice. As the variables and conditions are changed when the second call is made, everything gets messed up afterwards. Does anyone else have a similar issue? I'd appricaite it if someone can tell me this is an iOS bug that will be fixed, or if there is a workaround to fix this problem. Thanks.
Posted
by
Post not yet marked as solved
0 Replies
36 Views
Our app introduces monthly subscriptions. The process is to execute SKProductsRequest.start() from the app, verify the received receipt with our system, and turn on the premium feature. With the current app design, if you resubscribe from the iPhone settings, the app cannot detect it, so we have introduced a process to retrieve the receipt from Bundle.main.appStoreReceiptURL and verify whether it is the correct receipt. The expected receipt information is the receipt that includes the "original_transaction_id" and "transaction_id" information as shown below. "receipt": { ···omission··· }, "auto_renew_product_id": "jp.co.**********.subscription", "auto_renew_status": 1, "latest_receipt_info": { ···omission··· "original_transaction_id": "20000**********", ···omission··· "transaction_id": "200013**********", ···omission··· }, "latest_receipt": "Receipt", "status": 0 However, as shown below, we found many logs (more than a few dozen for 2% of users) where receipts with missing information were retrieved. Considering the number of data items, it is unlikely that the receipt was falsified. "receipt": { ···omission··· "in_app": [] }, "environment": "Production", "status": 0 Our system links users based on "original_transaction_id" and "transaction_id," but since we are unable to obtain the necessary information, we are unable to determine whether the user has already purchased a subscription. Question 1 What are the possible situations in which receipts with missing information like this are obtained? For example, is it possible for a receipt like this to be generated even though no charges have been made? Question 2 Is there a way to update such receipts with the correct information? I searched the Developer forum, but if I do SKReceiptRefreshRequest, will I be able to obtain necessary information such as "original_transaction_id" and "transaction_id"?
Posted
by
Post not yet marked as solved
2 Replies
44 Views
We are currently utilizing VZ with Lima (details: Lima VM and VZ) for our development environment. However, we're encountering a critical issue with the com.apple.Virtualization.VirtualMachine process leading to open file handle exhaustion. When mounting our programming languages dependency cache folder (Which can have a lot of files) into the VZ VM, we encounter an operating system error related to open file limits: /gomodcache/github.com/go-git/go-git/v5@v5.4.2/plumbing/object/patch.go:14:2: open /gomodcache/github.com/go-git/go-git/v5@v5.4.2/plumbing/format/diff/unified_encoder.go: too many open files in system Further investigation revealed an abnormally high number of open files associated with the com.apple.Virtualization.VirtualMachine process. A significant portion of these files are not actively used but remain open. Example Case: A file (/Users/rcurrah/test.txt) created on the Mac host and listed (ls) in the VM remains open even 20 minutes later, as evidenced by the following command output: ❯ lsof | grep 11208 | grep test.txt COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME com.apple 11208 rcurrah 4823r REG 1,13 0 46200882 /Users/rcurrah/test.txt Steps to Reproduce the Issue: To reproduce the file handle exhaustion follow the below steps. This process will create a large number of files on the Mac host, listing them on the VZ VM, and then verifying their open status using lsof. Setup the VZ Environment with Sharing: Create a VZ VM with your home directory shared to the VM. Create a Test Directory on the Mac Host: Create a new directory on your Mac host, e.g., mkdir ~/test-file-exhaustion. Generate a Large Number of Files: Navigate to the created directory: cd ~/test-file-exhaustion. Use a loop to create a large number of files, e.g., for i in {1..10000}; do touch "file_${i}.txt"; done. This will create 10,000 files named file_1.txt, file_2.txt, etc. List Files in the VM: Access the VZ VM shell. Navigate to the mounted directory and list the files using the ls command, e.g., ls /path/to/mounted/test-file-exhaustion. Check Open Files on Mac Host: Exit the VM and return to your Mac host terminal. Use the lsof command to check for open files related to the com.apple.Virtualization.VirtualMachine process: lsof | grep "$(pgrep com.apple.Virtualization.VirtualMachine)" | grep 'test-file-exhaustion' | wc -l. Document the Output: Record the output of the lsof command. Note the number of open files. Verify File Closure (or Lack Thereof): After a certain period, e.g., 20 minutes, repeat the lsof command to see if the files are still open, indicating that they haven’t been closed properly by the process. Given these observations, we have a couple of questions: Is this behavior of com.apple.Virtualization.VirtualMachine retaining open file handles a known issue or a bug? Should VZ be managing the closure of these file handles more efficiently, especially when they are no longer in use? This issue is impacting our development workflow significantly. Any guidance or insights on resolving this would be highly appreciated. Thank you for your attention to this matter. Best regards, Ryan
Posted
by
Post not yet marked as solved
0 Replies
29 Views
We are developing an app with e-commerce features, enabling the purchase of goods or services consumed outside of the app. For checkout we will use payment methods other than in-app purchases. We are contemplating a future version where users can unlock features or functionality within the app using in-app purchases. Is the use of the two payment methods - other payment methods for physical goods and in-app payments for in-app functionality - permitted within the same app?
Posted
by
Post not yet marked as solved
0 Replies
26 Views
Hello, I am trying to use the SwiftUI fileImporter to get the URL of a direcotry and access it for the files in it. If I follow the document( Access the directory’s content ) and use url.startAccessingSecurityScopedResource for each file, it always returns false. but this seems to be different from the documentation. If the current behavior is correct, will the documentation be updated in the future? Related: Access all files in UIDocumentPick… | Apple Developer Forums I asked this question because I am concerned that if I remove the standardAccessingSecurityScopedResource to match the current situation, the standardAccessingSecurityScopedResource may become necessary due to future iOS updates. Also, is there any way to know if the status of the AccessingSecurityScopedResource? It would be helpful if we could callstartAcesingSecurityScopedResource only when needed. Thanks Here is a sample code @main struct SampleApp: App { var body: some Scene { WindowGroup { ContentView() } } } struct ContentView: View { @State private var isShowingImportFolder = false @State private var isShowingImportFile = false var body: some View { VStack(spacing: 48) { Button("Read Folder") { isShowingImportFolder = true } .fileImporter(isPresented: $isShowingImportFolder, allowedContentTypes: [.folder]) { result in switch result { case .success(let url): processDirectory(url) case .failure(let error): print("failed. error: \(error)") } } Button("Read File") { isShowingImportFile = true } .fileImporter(isPresented: $isShowingImportFile, allowedContentTypes: [.data]) { result in switch result { case .success(let url): readFile(url) case .failure(let error): print("failed. error: \(error)") } } } } private func processDirectory(_ directory: URL) { guard directory.startAccessingSecurityScopedResource() else { fatalError("failed. directory.startAccessingSecurityScopedResource") } defer { directory.stopAccessingSecurityScopedResource() } var error: NSError? NSFileCoordinator().coordinate(readingItemAt: directory, error: &error) { url in let urls = try! FileManager.default.contentsOfDirectory(at: url, includingPropertiesForKeys: [.nameKey, .isDirectoryKey]) urls.lazy .filter { !$0.hasDirectoryPath } .forEach { readFile($0) } } } private func readFile(_ url: URL) { guard url.startAccessingSecurityScopedResource() else { print("failed access. \(url.path)") return } defer { url.stopAccessingSecurityScopedResource() } let data = try! Data(contentsOf: url) print("file.path: \(url.path()), size: \(data.count)") // read file... } }
Posted
by
Post not yet marked as solved
0 Replies
26 Views
I have edited the default widget with Intent, but am being hit with the following errors… it runs perfectly fine if I don’t use an Intent in a static widget Could not find an intent with identifier ConfigurationAppIntent, mangledTypeName: Optional("27trainWidgetsConfigExtension22ConfigurationAppIntentV") associateAppIntent(forUserActivity:) Error converting INIntent to App Intent: AppIntents.PerformIntentError.intentNotFound I think it may be something to do with Info.plist?
Posted
by
Post marked as solved
1 Replies
40 Views
I tried to create an menubar application but since it contains multiple View in a Scroll, as you may imagine, i had to use .menuBarExtraStyle(.window). The point is: the first time I open the menu the height seems to layout properly, but from the second time on, the view resizes to a certain smaller height amount. You may try with this simple snippet: MenuBarExtra("", systemImage: "info") { ScrollView { VStack(alignment: .leading) { ForEach(0..<100) { Text("Row \($0)") } } } } .menuBarExtraStyle(.window) Changing .menuBarExtraStyle(.window) to .menuBarExtraStyle(.menu) fixes the problem but of course you can't build your own layout, functionalities, etc... just display. Even setting a maximum height - .frame(maxHeight: maxHeight) - for the ScrollView, doesn't seem to affect this behavior. Did anyone faced this issue? Maybe there's a proper way to proceed and build this kind of layout?
Posted
by
Post not yet marked as solved
2 Replies
58 Views
I'd like to talk to someone at Apple that could help with a new programming language(s). There's several key features that could help Apple OS's be the best place for developers. Some of these features are: -Fast and small multiple inheritance (this one is huge, the entire reason people still use C++) -XML/JSON integration -Simplified databases -All smart pointers so no garbage collection required -Much more Basically there's multiple languages that compile into a object-oriented language. It's similar to .net in that way but the OO language is a little higher level than .net. Making a new language that works with OO is as simple as copying C#+ or Swift+ and modifying it. I'm not sure where to go with this so any help would be greatly appreciated!
Posted
by

TestFlight Public Links

Get Started

Pinned Posts

Categories

See all