Вставить версию приложения в строку, используя Swift?

У меня есть некоторый код в Swift, и я хотел бы вставить свойство приложения (версия). Это возможно?

var parameters: [String : AnyObject] = [
    "offerSef" : url,
    "userGuid" : user.userGuid,
    "bottlesQty" : quantityIndex + 1,
    "appId" : "iOS" + /* WANT TO INSERT APP VERSION HERE */,
    "creditCardId" : payment.paymentID,
    "billingAddressId" : payment.billingAddressId,
    ]

Примечание. Это не дубликат приложения для iOS, программная версия сборки, потому что у меня вопрос о том, как сделать это правильно с помощью Swift (в отличие от Objective-C)

1 ответ

Решение

Это ответ, который я собрал из другого вопроса здесь, но мне также интересно, есть ли у кого-то комментарии или знает лучший / более чистый способ сделать это.

    //First get the nsObject by defining as an optional anyObject
    if let nsObject: AnyObject? = NSBundle.mainBundle().infoDictionary["CFBundleShortVersionString"] {

        //Then just cast the object as a String, but be careful, you may want to double check for nil
        if let version = nsObject as String {
            appId = appId + "-" + version
        }
    }

    var parameters: [String : AnyObject] = [
        "offerSef" : url,
        "userGuid" : user.userGuid,
        "bottlesQty" : quantityIndex + 1,
        "appId" : appId,
        "isMobile" : true,
        "creditCardId" : payment.paymentID,
        "billingAddressId" : payment.billingAddressId,
    ]
Другие вопросы по тегам