Post not yet marked as solved
I'm trying to create an app that uses artificial intelligence technology.
One of the models provided on this website(https://developer.apple.com/machine-learning/models/) will be used.
Are there any copyright or legal issues if I create an app using the model provided by this website and distribute it to the App Store?
Post not yet marked as solved
Please can someone help I have spent 3 - 4 days trawling the internet and only finding complex answers that I can't get to work, and my head is ready to explode.
I only want to detect when the device orientation has changed and load a different background image. This is what I have so far:
import SwiftUI
struct Main_Menu_iPhone: View {
@State private var bloodGlucose: String = "0.0"
var body: some View {
ZStack {
Image("iPhone Background Portrait 828 x 1792 ")
.resizable()
.aspectRatio(contentMode: .fill)
VStack {
TextField("Blood Glucose : ", text: $bloodGlucose)
Spacer()
}
}
}
}
#Preview {
Main_Menu_iPhone()
}
Post not yet marked as solved
Hello Everyone,
I'm working on an app that utilizes the new C++ - Swift interop feature. I have a module called ModuleA that contains multiple Swift classes, and I need to store instances of these classes in a C++ class as a class member(to ensure ARC until the class object is deallocated). However, I want to retain the Swift class objects on the stack without directly allocating heap memory from C++.
Sample Swift Code:
public class SwiftClassA {
public init() {}
public func FuncA() -> Void {
// Perform operations specific to SwiftClassA }
}
public class SwiftClassB {
public init() {}
public func FuncA() -> Void {
// Perform operations specific to SwiftClassB
}
}
// Additional Swift classes (SwiftClassC to SwiftClassN) follow a similar structure.
Sample Cpp Code:
CppClass.hpp
#include "ModuleA-Swift.h" // Include generated Swift headerclass
CppClass {
public:
// Functions and declarationsprivate:
XYZ vClassObject; // Placeholder for Any Swift class object
};
CppClass.cpp
#include "ModuleA-Swift.h" // Include generated Swift headervoid
CppClass::SomeFuncA() noexcept
{
ModuleA::SwiftClassA obj = ModuleA::SwiftClassA::init(); // Initialize SwiftClassA object
vClassObject = obj; // Assign SwiftClassA object to vClassObject
}
void CppClass::SomeFuncB() noexcept {
ModuleA::SwiftClassB obj = ModuleA::SwiftClassB::init(); // Initialize SwiftClassB object
vClassObject = obj; // How do I Assign SwiftClassB object to vClassObject?
}
I'm looking for suggestions on how to efficiently store different types of Swift class objects in my C++ class while maintaining stack-based object retention and proper memory management. Any help or insights would be greatly appreciated.
Thanks,
Harshal
Post not yet marked as solved
I've defined a value stored in UserDefaults.
In a view struct I have code that can successfully update the stored value.
I've also added an @AppStorage var in an instance of a class, that can read this value and run business logic that depends on the current stored value.
But what I really want to do, is have code in my class that gets automatically called when the value stored in UserDefaults gets updated.
Basically I want to do this:
@AppStorage("languageChoice") var languageChoice: LanguageChoice = .all {
didSet {
print("hello")
}
}
Unfortunately didSet closures in @AppStorage vars do not appear to get called :-(
My clumsy attempts to use combine have all ended in tears from the compiler.
Any/all suggestions are greatly appreciated.
thanks,
Mike
Post not yet marked as solved
I am doing below code for getting thumbnail from usdz model using the QuickLookThumbnailing, But don't get the proper out.
guard let url = Bundle.main.url(forResource: resource, withExtension: withExtension) else{
print("Unable to create url for resource.")
return
}
let request = QLThumbnailGenerator.Request(fileAt: url, size: size, scale: 10.0, representationTypes: .all)
let generator = QLThumbnailGenerator.shared
generator.generateRepresentations(for: request) { thumbnail, type, error in
DispatchQueue.main.async {
if thumbnail == nil || error != nil {
print(error)
}else{
let tempImage = Image(uiImage: thumbnail!.uiImage)
print(tempImage)
self.thumbnailImage = Image(uiImage: thumbnail!.uiImage)
print("=============")
}
}
}
}
Below Screen Shot for selected model :
Below is the thumbnail image, which not come with guitar but get only usdz icon.
Post not yet marked as solved
I want to get thumbnail image from USDZ model from vision os, But it will get image without material apply. Here is my code
import Foundation
import SceneKit
import SceneKit.ModelIO
class ARQLThumbnailGenerator {
private let device = MTLCreateSystemDefaultDevice()!
/// Create a thumbnail image of the asset with the specified URL at the specified
/// animation time. Supports loading of .scn, .usd, .usdz, .obj, and .abc files,
/// and other formats supported by ModelIO.
/// - Parameters:
/// - url: The file URL of the asset.
/// - size: The size (in points) at which to render the asset.
/// - time: The animation time to which the asset should be advanced before snapshotting.
func thumbnail(for url: URL, size: CGSize, time: TimeInterval = 0) -> UIImage? {
let renderer = SCNRenderer(device: device, options: [:])
renderer.autoenablesDefaultLighting = true
if (url.pathExtension == "scn") {
let scene = try? SCNScene(url: url, options: nil)
renderer.scene = scene
} else {
let asset = MDLAsset(url: url)
let scene = SCNScene(mdlAsset: asset)
renderer.scene = scene
}
let image = renderer.snapshot(atTime: time, with: size, antialiasingMode: .multisampling4X)
self.saveImageFileInDocumentDirectory(imageData: image.pngData()!)
return image
}
func saveImageFileInDocumentDirectory(imageData : Data){
var uniqueID = UUID().uuidString
let tempPath = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)
let tempDocumentsDirectory: AnyObject = tempPath[0] as AnyObject
let uniqueVideoID = uniqueID + "image.png"
let tempDataPath = tempDocumentsDirectory.appendingPathComponent(uniqueVideoID) as String
try? imageData.write(to: URL(fileURLWithPath: tempDataPath), options: [])
}
}
Post not yet marked as solved
I am exploring on managing state in SwiftUI app with purpose built Views due to the advantages for managing dependency with Environment.
This is the minimal example I came up with:
@MainActor
struct AsyncStateModifier<T: Equatable>: View {
let input: T
let action: (T) async -> Void
@Environment var queue: AsyncActionQueue
var body: some View {
return EmptyView()
.onChange(of: input, initial: true) { old, new in
queue.process(action: action, with: input)
}
}
}
The drawback of this approach is initial: true allows the onChange callback to fire when view appears and since EmptyView doesn't appear the action is never executed initially.
When replacing EmptyView with Rectangle().hidden() this can be achieved, but I wanted to avoid having any impact on view hierarchy and EmptyView is suitable for that. Is there any alternative approach to make something like this possible?
Post not yet marked as solved
I'm making a Swift Program.
I got a .a file that builded from some c++ scripts,and I can see some fuctions in it by commed "nm *.a",
and a .h file like this
My question is how to call the fuctions in .a like "testDebug",I can call from c# like
[DllImport("__Internal")]
private static extern void testDebug();
Google's answer always with a right .h file,Maybe I should make .h file correct first.
Any reply would be greatly appreciated.
Hello,
I am developing a private internal Flutter app for our customer, which will not be published on the Apple Store. One of the key features of this app is to collect RF strength metrics to share user experience with the network.
For Android, we successfully implemented the required functionality and are able to collect the following metrics:
Signal strength level (0-4)
Signal strength in dBm
RSSI
RSRQ
Cell ID
Location Area Code
Carrier name
Mobile country code
Mobile network code
Radio access technology
Connection status
Duplex mode
However, for iOS, we are facing challenges with CoreTelephony, which is not returning the necessary data. We are aware that CoreTelephony is deprecated and are looking for alternatives.
We noticed that a lot of the information we need is available via FTMInternal-4. Is there a way to access this data for a private app? Are there any other recommended approaches or frameworks that can be used to gather cellular network information on iOS for an app that won't be distributed via the Apple Store?
my swift code
import Foundation
import CoreTelephony
class RfSignalStrengthImpl: RfSignalStrengthApi {
func getCellularSignalStrength(completion: @escaping (Result<CellularSignalStrength, Error>) -> Void) {
let networkInfo = CTTelephonyNetworkInfo()
guard let carrier = networkInfo.serviceSubscriberCellularProviders?.values.first else {
completion(.failure(NSError(domain: "com.xxxx.yyyy", code: 0, userInfo: [NSLocalizedDescriptionKey: "Carrier not found"])))
return
}
let carrierName = carrier.carrierName ?? "Unknown"
let mobileCountryCode = carrier.mobileCountryCode ?? "Unknown"
let mobileNetworkCode = carrier.mobileNetworkCode ?? "Unknown"
let radioAccessTechnology = networkInfo.serviceCurrentRadioAccessTechnology?.values.first ?? "Unknown"
var connectionStatus = "Unknown"
...
...
}
Thank you for your assistance.
Post not yet marked as solved
I'm trying to change app icon on Dock in macOS from my app. But couldn't get to work. The setAlternateIconName works fine in iOS simulator, but when I run in on my mac (Catalyst) I got this error: The requested operation couldn’t be completed because the feature is not supported.
Apple Doc - https://developer.apple.com/documentation/uikit/uiapplication/2806818-setalternateiconname
Thank you
Post not yet marked as solved
I have a virtual machine using apple's sample code on their developer page but i have no audio.
How do i create and setup an audio device for the vm?
I want to automatically load different views depending on OS (OSX or iOS). Is there a way that I can do this without the user having to click on a link? This is my code so far.
struct ContentView: View {
#if os(iOS)
var myOS = "iOS"
#elseif os(OSX)
var myOS = "OSX"
#else
var myOS = "Something Else"
#endif
var body: some View {
NavigationStack {
VStack {
Text("PLEASE WAIT....")
.font(.system(size: 24))
.fontWeight(.bold)
}
.padding()
if (myOS == "OSX"){
// Goto Screen for iMac
}
else{
// go to screen for iOS
}
}
}
}
If I use "NavigationLink", my understanding is that the user would need to click on a link. Is there some way to do this without user interaction?
Post not yet marked as solved
I'm debugging some Regex Builder code in my Playground. I run
the following piece code:
let timeMatchWithout = possibleTime.firstMatch(of: timeWithoutSec)
and I get this error message:
Regex.Match optional storedCapture contains no some
What could this possibly mean? contains no some???
Here is a more complete snippet, if this helps:
let hourRef = Reference<Substring>()
let minuteRef = Reference<Substring>()
let hourReg = Regex {
ChoiceOf {
Capture(as: hourRef) {
One(.digit)
One(.digit)
}
Capture(as: hourRef) {
One(.digit)
}
}
}
let minuteReg = Regex {
ChoiceOf {
Capture(as: minuteRef) {
One(.digit)
One(.digit)
}
Capture(as: minuteRef) {
One(.digit)
}
}
}
let ampmRef = Reference<Substring>()
let ampmReg = Regex {
Capture(as: ampmRef) {
ZeroOrMore {
ChoiceOf {
One("am")
One("pm")
One("a.m.")
One("p.m.")
}
}
} /* transform: {
$0.lowercase
} */
}.ignoresCase()
let timeWithoutSec = Regex {
hourReg
One(":")
minuteReg
ZeroOrMore(.whitespace)
ampmReg
}.ignoresCase()
let possibleTime = "10:20 AM"
let timeMatchWithout = possibleTime.firstMatch(of: timeWithoutSec)
The last line produces the error message.
Thanks for the help.
Note the removed transform: on the ampmReg definition. If that is included the compiler times out as noted in my previous post, yesterday.
Post not yet marked as solved
Why does this Regex Builder code in my SwiftUI app not work? I'm parsing a string that might
be a date and time with either AM or PM specified for the time. This bit
of code looks for the optional AM or PM.
The error I get is:
The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
What would 'distinct sub-expressions' mean in this case?
The code:
let ampmRef = Reference<Substring>()
let ampmReg = Regex {
Capture(as: ampmRef) {
ZeroOrMore {
ChoiceOf {
One("am")
One("pm")
}
}
} transform: {
$0.lowercase
}
}.ignoresCase()
In a related question, is there a way to return a default if the ChoiceOf fails both AM and PM?
Post not yet marked as solved
Hello everyone. I am developing an application with SwiftUI. I am having trouble with NavigationStack(path: ).
1st problem:
After the application runs, after clicking on the first list item, there is a flicker in the title section. I think it is the .navigationDestination that causes this problem, because when I change the navigationLink to Button in the “ActiveRegQueryView” screen, this problem disappears.
2nd Problem:
When you click on a list item, sometimes it stays pressed (grayed out) and does not take you to the screen (Video 1). If you try to click on an item more than once, navigatinLink passes more than one value to path and opens more than one page (I noticed this with path.count) (Video 2).
I don't have this problem if you edit the back button on the screen it takes you to (ActiveRegDetailView). (vm.path.removeLast())
The reason I use path is to close multiple screens and return to the start screen.
Video 1:
Video 2:
Main View:
import SwiftUI
struct ActiveRegView: View {
@Environment(NavigationViewModel.self) private var navViewModel
@AppStorage("sortOption") private var sortOrder: sorting = .byBrand
@State private var searchText = ""
var body: some View {
@Bindable var navViewModel = navViewModel
NavigationStack(path: $navViewModel.path) { // <- if i don't use path everything is OK
List {
ActiveRegQueryView(searchText: searchText, sortOrder: sortOrder) // <- Dynamic Query View
}
.navigationDestination(for: Registration.self, destination: {
ActiveRegDetailView(reg: $0)
.toolbar(.hidden, for: .tabBar)
})
}
}
}
Dynamic Query View:
import SwiftData
import SwiftUI
struct ActiveRegQueryView: View {
@Query private var regs: [Registration]
@Environment(NavigationViewModel.self) var vm
init(searchText: String, sortOrder: sorting) {
var order: SortDescriptor<Registration>
switch sortOrder {
case .byBrand:
order = SortDescriptor(\.brand)
case .byDateDescending:
order = SortDescriptor(\.entryRegistration.entryDate, order: .reverse)
case .byDateAscending:
order = SortDescriptor(\.entryRegistration.entryDate)
}
_regs = Query(filter: #Predicate {
if !searchText.isEmpty {
if $0.activeRegistration && ($0.brand.localizedStandardContains(searchText) || $0.model.localizedStandardContains(searchText) || $0.plate.localizedStandardContains(searchText)) {
return true
} else {
return false
}
} else {
return $0.activeRegistration
}
}, sort: [order])
}
var body: some View {
ForEach(regs) { reg in
NavigationLink(value: reg) {
ListRowView(reg: reg)
}
// Button {
// vm.path.append(reg)
// } label: {
// ListRowView(reg: reg)
// }
// .buttonStyle(.plain)
}
}
}
I look forward to your ideas for solutions. Thank you for your time.
I'm trying to get the same path you'd get by running getconf DARWIN_USER_CACHE_DIR in the terminal, but via
FileManager.default.urls(for: , in:) , but can't really find out how
is there a way to do that other than running the shell script via swift?
Post not yet marked as solved
I have an extremely straightforward situation where an @IBOutlet in a ViewController is connected to a property in an XIB file. I've been working with iOS apps for more than ten years, and done this about a million times.
For some reason, the property becomes nil at some point after the view is loaded. I can check with the debugger to see that it is not nil at viewDidLoad, and there is nothing in my code that sets it to anything else.
I added a custom setter and getter to the variable so that I could stop in the debugger when it gets set, and the setter only gets called once, with a non-nil value.
I suspect that somehow, a different copy of my ViewController is getting instantiated, but when it does, there are no calls to any of the usual methods like viewDidLoad. In fact there is not even a call to the init method. I don't understand how this is possible.
Post not yet marked as solved
Hi, I am new to Swift and would like to write a simple Swift script to show some HDR images or video on my VisionPro. I tried to find some code online as shown in the attachment to put one HDR image and one SDR side by side, but it seems like not to take any HDR effect. Thanks in advance.
Post not yet marked as solved
I am little confused about when to use State / StateObject / ObservedObject.
What I have researched and what I understand:
@State --> for value types
@StateObject --> for reference types
@ObservedObject --> child objects who needs reference to above two (the parent object should have @State/@StateObject and the object should conform to Observable)
I am clear about Environment object.
Post not yet marked as solved
Gents, dev(il)s,
I am looking for a piece of code or principal explanation to realise following:
I have a array of struct Item{}
Each item has child [Item]
in the content view I would like to have a hierarchical displayed tree of my Items and for each Item line I would like to have a button to remove it or add a child item for a selected one
I tired List entity, navigation and have no real success. Is anybody there to give me a small guide?
Thank you
M