Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
Since there's only documentation for Node.js, it's unclear of how to use FirebaseFunctions Swift library. I will appreciate if someone can provide some basic examples.
As #jnpdx pointed out in their comment, Firebase only support writing Callable Cloud Functions in Node.js.
What you can do though is call your Cloud Functions from Swift, as shown in the documentation here:
functions.httpsCallable("addMessage").call(["text": inputField.text]) { result, error in
if let error = error as NSError? {
if error.domain == FunctionsErrorDomain {
let code = FunctionsErrorCode(rawValue: error.code)
let message = error.localizedDescription
let details = error.userInfo[FunctionsErrorDetailsKey]
}
// ...
}
if let data = result?.data as? [String: Any], let text = data["text"] as? String {
self.resultField.text = text
}
}
And to handle errors:
if let error = error as NSError? {
if error.domain == FunctionsErrorDomain {
let code = FunctionsErrorCode(rawValue: error.code)
let message = error.localizedDescription
let details = error.userInfo[FunctionsErrorDetailsKey]
}
// ...
}
So it's usually a two-step process:
Write your Cloud Functions in Node.js.
Call them from any of the client side SDKs mentioned in that documentation link
See also the examples in the Firebase Functions Swift QuickStart (thanks to Paul for sharing that link).
See also the examples in the Firebase Functions Swift QuickStart
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
I need to check preconditions for proceeding a function in iOS/Swift.
Option 1:
guard let name = str["name"], let age = str["age"] else {
print("name/age missing")
return
}
Option 2:
guard let name = str["name"] else {
print("name missing")
return
}
guard let age = str["age"] else {
print("age missing")
return
}
Which option is recommended.
This is completely unrelated to Swift.
From a UI / UX perspective certainly the 2nd option since you can now point to the exact input field that is missing.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
I want to convert this Swift code to Objective C. I searched and did not find a way to convert automatically . Is there any way that can help convert ?
let token="0000000009"
SkyIdConfig.shared.setup(With: token)
var skyIdView:SkyDocumentsAnalyzer?
SkyIdConfig.shared.loadAndConfigure(){[unowned self] isConfigured,error in
if error != nil || !isConfigured {
print(error?.localizedDescription ?? "Error !!!!")
return
}
DispatchQueue.main.async {[unowned self] in
self.skyIdView=SkyIdBuilder.shared.getDocumentAnalyzerInstance(with: "03", lang: "fra")
if self.skyIdView != nil
{
self.skyIdView!.delegate=self
self.skyIdView?.modalPresentationStyle = .fullScreen
self.present(self.skyIdView!, animated: true, completion: nil)
}else{
print("Error in config loading")
}
}
}
Of course there is a way to convert ..
..manually. Which is the best way to understand whats going on.
your token is probably an
NSString *token = #"0000000009";
depending on the Class definition you have to look up how SkyIdConfig is done..
//assuming its something like..
[[SkyIdConfig shared] setupWith:token];
SkyDocumentsAnalyzer *skyIdView = [[SkyDocumentsAnalyzer alloc] init];
[[SkyIdConfig shared] loadAndConfigure];
before going forward in code read more about dispatching in objective-c (aka c) here...
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I have situation where On clicking on app icon i have to send sms and
call to a 5 numbers....do we have any third party api's or we have
predefined classes in ios?
regarding the second part of your question "predefined classes in ios"
you can open the device caller or messages app using a url:
func sms(to number: String) {
guard let url = URL(string: "sms:" + number) else {
return
}
UIApplication.shared.openURL(url)
}
func call(_ number: String) {
guard let url = URL(string: "tel://" + number) else {
return
}
UIApplication.shared.openURL(url)
}
example:
sms(to: "12345678901")
call("12345678901")
You can send same message to multiple user at same time using MFMessageComposerView. You can use third party api to message like Nexmo and Twilio.
You can do call once a time. Below is code for call:
NSString *phoneNumber = #"YOUR_CALL_NUMBER";
NSString *phoneURLString = [NSString stringWithFormat:#"tel:%#", phoneNumber];
NSURL *phoneURL = [NSURL URLWithString:phoneURLString];
[[UIApplication sharedApplication] openURL:phoneURL];
Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 6 years ago.
Improve this question
I am learner on iOS Development,today i try to code somethingenter image description here about FileManger,but this method return a type '()',how can i to resolve it?
the warning code as follow:
The problem is that your call to createDirectoryAtURL does not have a explicit return value. In Swift, that means it returns a Void which is represented by the empty tuple (). This is what your call should look like.
let temp = NSTemporaryDirectory()
let newDiretoryURL = NSURL.fileURLWithPath(temp + "/MyNewDirectory")
try fileManager.createDirectoryAtURL(newDiretoryURL, withIntermediateDirectories: false, attributes: nil)
print("Success")
}
} catch {
// handle errors here
}
Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 7 years ago.
Improve this question
I am connected to the server via TCP / IP and receives [UInt8]. I know that it is the audio. How to play the stream on the iPhone?
#IBAction func connectAndListen(sender: AnyObject) {
var client:TCPClient = TCPClient(addr: "80.233.248.96", port: 6969)
var (success,errmsg)=client.connect(timeout: 1)
if success{
while (success){
var (success,errmsg)=client.send(str:"GET / HTTP/1.0\n\n" )
if success{
var data = client.read(1024*10)
if let d = data{
var endMarker = NSMutableData(bytes: d, length: d.count)
println(endMarker)
self.audioPlayer = AVAudioPlayer(data: endMarker, error: nil)
self.audioPlayer?.prepareToPlay()
self.audioPlayer?.play()
}
}else{
println(errmsg)
break
}
}
}else{
println(errmsg)
}
}
my Crash:
fatal error: unexpectedly found nil while unwrapping an Optional value
on this self.audioPlayer!.prepareToPlay() Print screen my crash
Create an NSData object from the bytes in your stream.
Create an AVAudioPlayer using the initWithData:error: method.
Play the audio using the AVAudioPlayer play method.
I cannot tell you exactly how to create the NSData object, because I don't know how you get your byte stream, but the NSData class is well documented in the Apple documentation.