J'ai créé mon propre framework dans swift en dessous du code de mon framework. quand je passe la valeur ApiID, ApiKey et ApiSecret dans la structure cela fonctionne bien mais je veux passer des valeurs dans mon projet swift mais quand je le fais cela ne fonctionne pas.comment faire passer la valeur dans le projet swift et accéder à la fonction du cadre créé dans swift
public class PushNotification: NSObject {
var ApiID:Int?
var ApiKey:String?
var ApiSecret:String?
public func didRegisterForRemoteNotificationsWithDeviceToken(deviceToken: Data,apiKey:String,apiSecret:String,apiId:Int)
{
// Convert Device Token into String
let deviceTokenString = deviceToken.reduce("", {$0 + String(format: "%02X", $1)})
print(deviceTokenString)
ApiKey = apiKey
ApiSecret = apiSecret
ApiID = apiId
let AppId = Bundle.main.bundleIdentifier!
// Get Unique Device ID
let oNSUUID: UUID = UIDevice.current.identifierForVendor!
let post: String = "appid=\(AppId)&deviceid=\(deviceTokenString)&ApiID=\(ApiID)&ApiKey=\(ApiKey)&ApiSecret=\(ApiSecret)&os=\("ios")®Id=\(oNSUUID.uuidString)"
let postData:Data = post.data(using: String.Encoding.ascii)!
let postLength:NSString = String(postData.count) as NSString
let urlstring = "https://www.abc.php"
let url = URL(string: urlstring)
var request = URLRequest(url: url!)
request.httpMethod = "POST"
request.httpBody = postData
request.setValue(postLength as String, forHTTPHeaderField: "Content-Length")
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
let connection: NSURLConnection = NSURLConnection(request: request as URLRequest, delegate: self)!
connection.start()
}
Et ci-dessous est mon code de projet j'ai passé des valeurs dans la classe de délégué de l'application et l'accès dans la fonction ci-dessous.
var APIKEY = "00000"
var APISECRET = "000000"
var APIID = 40
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
print("Device Token \(deviceToken)")
let appdetails = PushNotification.init()
appdetails.didRegisterForRemoteNotificationsWithDeviceToken(deviceToken: deviceToken, apiKey: APIKEY , apiSecret: APISECRET, apiId: APIID)
}
essayer 'var utilisation tou publique ...' – PiterPan
J'ai essayé var public, mais sa ne fonctionne pas @ PiterPan –