Проблемы с установкой SwiftyJSON


#1

Здравствуйте. Возникли проблемы с установкой SwiftyJSON. Делаю все строго по инструкции: http://swiftbook.ru/content/koposhilka/swiftyJSON. Но в проекте файл Pods_SwiftJSONProject.framework подсвечивается красным, и не происходит import SwiftyJSON в проект. Прошу помочь.


Помогите, пожалуйста, скомпилировать проект. Проблема с cocoapods
#2

Сбросьте проект - так будет быстрее чем гадать что вы не так сделали.


#3


Вот проект, после pod install, для наглядного отображения ошибки


#4

У вас был пустой Framework Search Path

Вот как должно быть, чтобы работало:


#5

Без изменений. Пробовал и пустое оставлять, и ($inherited), и путь, который у Вас указан вписывать, все равно в терминале выдается ошибка:
[!] The SwftJSON [Debug] target overrides the FRAMEWORK_SEARCH_PATHS build setting defined in Pods/Target Support Files/Pods-SwftJSON/Pods-SwftJSON.debug.xcconfig'. This can lead to problems with the CocoaPods installation - Use the$(inherited)` flag, or
- Remove the build settings from the target.

[!] The SwftJSON [Release] target overrides the FRAMEWORK_SEARCH_PATHS build setting defined in Pods/Target Support Files/Pods-SwftJSON/Pods-SwftJSON.release.xcconfig'. This can lead to problems with the CocoaPods installation - Use the$(inherited)` flag, or
- Remove the build settings from the target.


#6

Вы прописывали ($inherited) или $(inherited)?


#7

($inherited). или нужно второй вариант? со вторым вариантом то же самое


#8

Второй вариант.

Значит вы что-то делаете не так


#9

Содержание Вашего Podfile скинете, если с нуля делаете?


#10

Использовал ваш, не менял. Единственное что поменял в проекте - добавил в Framework Search Path строку $(inherited).


#11


#12

Билдили после этого проект?


#13

Да, большое спасибо, помогло. Только теперь другая проблема, видимо связанная с адаптацией кода к Swift 3. Позвольте, продолжу тему, которая раскрыта в видеоуроке по ссылке выше. Есть ли вариант функции GetJSONData для Swift 3? Чувствую, мой код неправильный.

func getJSON() {
        let file: String = Bundle.main.path(forResource: "JSONData", ofType: "bundle")!       
        let data = Data(base64Encoded: file)     
        let clearJSON = JSON(data: data!)      
        let nubmerOfCities = clearJSON["Europe"].count       
        for i in 0..<nubmerOfCities {
            weather.append(clearJSON["Europe"][cities[i]]["weather"].string!)            
        }       
    }

#14

for i in 0..<nubmerOfCities {

тут разве не ошибка? не number?


#15

К сожалению, проблема не в этом. Имя переменной написано неверно, но в цикле такое же имя.
Сам догадался до некоторых исправлений. Привожу пример правильного варианта функции, вдруг кому понадобится:

func getJSON() {
        let file: String = Bundle.main.path(forResource: "JSONData", ofType: "json")!        
        let data = NSData(contentsOfFile: file) as NSData!  
        let clearJSON = JSON(data: data as! Data)      
        let numberOfCities = clearJSON["Europe"].count        
        for i in 0..<numberOfCities {
            weather.append(clearJSON["Europe"][cities[i]]["weather"].string!)        
        }      
    }