1- i try to create framework
for my project but i didnt get true way to call my methods in another project inside appdelegate
;
2- Using framework
in another project App Transport Security warning !
my example framework
codes under below;
myFramework.swift
import UIKit
var loginUrl = "http://bla/login.php"
let prefs = UserDefaults.standard
public class myFramework: NSObject {
public override init (){
print("Started.")
}
public func doSomething(){
print("works")
}
public func login(secret : String)
{
print("Login Request")
let post_data: NSDictionary = NSMutableDictionary()
post_data.setValue(secret, forKey: "secret")
let url:URL = URL(string: loginUrl)!
let session = URLSession.shared
let request = NSMutableURLRequest(url: url)
request.httpMethod = "POST"
request.cachePolicy = NSURLRequest.CachePolicy.reloadIgnoringCacheData
var paramString = ""
for (key, value) in post_data
{
paramString = paramString + (key as! String) + "=" + (value as! String) + "&"
}
request.httpBody = paramString.data(using: String.Encoding.utf8)
let task = session.dataTask(with: request as URLRequest, completionHandler: {
(
data, response, error) in
guard let _:Data = data, let _:URLResponse = response , error == nil else {
return
}
let json: Any?
do
{
json = try JSONSerialization.jsonObject(with: data!, options: [])
}
catch
{
return
}
guard let server_response = json as? NSDictionary else
{
return
}
if let data_block = server_response["login"] as? NSDictionary
{
if let checksuccess = data_block["success"] as? Bool
{
if checksuccess == true {
if let getUserId = data_block["userId"] {
print("Service Connected")
print(getUserId)
prefs.set(secret, forKey: "secret")
prefs.set(getUserId, forKey: "userId")
}
}else{
if let getMessage = data_block["message"] {
print(getMessage)
}
}
DispatchQueue.main.async(execute: self.LoginDone)
}
}
})
task.resume()
}
public func LoginDone()
{
}
}
Calling another project inside Appdelegate
file.
import myFramework
myFramework().login(secret : "234234234234")
but i want to use `myframework without ()
must be;
myFramework.login(secret : "234234234234")
1- How can i do it?
(My all framework codes inside myFramework.swift)
2- When my framework using another project says me app App Transport Security warning , how can i fix it in my framework ? Warning message under below.
App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file
Thank you !