2015-03-13 2 views
3

У меня отличная проблема с нашим частным podspec, все отлично работало, пока мы не обновили до cocoapods 0.35.Podspec с зависимостями от Google Analytics Cocoapods 0.36

Спецификация не очень сложен, но зависит от GoogleAnalytics-iOS-SDK Это наш стручок спецификация:

{ 
    "name": "RKTagManager", 
    "version": "0.0.1", 
    "summary": "Google TagManager wrapper.", 
    "license": { 
    "type" : "Closed Source", 
    "text" : "This library is as is, not warrenty of any kind." 
    } 
    "platforms": { 
    "ios": "5.1.1" 
    }, 
    "requires_arc" : true, 
    "source": { 
    "hg": "<snip", 
    "revision" : "RKTagManager-0.0.1" 
    }, 
    "dependencies": { 
    "GoogleAnalytics-iOS-SDK": [] 
    }, 
    "source_files": [ 
     "Source/RKTagManager/*.{h,m}" 
    ] 
} 

Когда я пытаюсь проверить его составитель не удался со следующим сообщением:

Ld /var/folders/9r/y21mxssd6rgf6gbrlhqsqv5m0000gp/T/CocoaPods/Lint/build/Pods.build/Release-iphonesimulator/Pods-RKTagManager.build/Objects-normal/i386/RKTagManager normal i386 
    cd /var/folders/9r/y21mxssd6rgf6gbrlhqsqv5m0000gp/T/CocoaPods/Lint/Pods 
    export IPHONEOS_DEPLOYMENT_TARGET=5.1.1 
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Users/<snip>/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/texbin" 
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -dynamiclib -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.2.sdk -L/var/folders/9r/y21mxssd6rgf6gbrlhqsqv5m0000gp/T/CocoaPods/Lint/build/Release-iphonesimulator/Pods -F/var/folders/9r/y21mxssd6rgf6gbrlhqsqv5m0000gp/T/CocoaPods/Lint/build/Release-iphonesimulator/Pods -filelist /var/folders/9r/y21mxssd6rgf6gbrlhqsqv5m0000gp/T/CocoaPods/Lint/build/Pods.build/Release-iphonesimulator/Pods-RKTagManager.build/Objects-normal/i386/RKTagManager.LinkFileList -install_name @rpath/RKTagManager.framework/RKTagManager -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -Xlinker -objc_abi_version -Xlinker 2 -ObjC -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=5.1.1 -framework Foundation -framework GoogleAnalytics_iOS_SDK -framework OIFoundation -single_module -compatibility_version 1 -current_version 1 -Xlinker -dependency_info -Xlinker /var/folders/9r/y21mxssd6rgf6gbrlhqsqv5m0000gp/T/CocoaPods/Lint/build/Pods.build/Release-iphonesimulator/Pods-RKTagManager.build/Objects-normal/i386/RKTagManager_dependency_info.dat -o /var/folders/9r/y21mxssd6rgf6gbrlhqsqv5m0000gp/T/CocoaPods/Lint/build/Pods.build/Release-iphonesimulator/Pods-RKTagManager.build/Objects-normal/i386/RKTagManager 
ld: warning: embedded dylibs/frameworks only run on iOS 8 or later 
Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_TAGManager", referenced from: 
     objc-class-ref in RKTagManager.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Я просто не понимаю, почему он больше не может найти вызовы TAGManager. Я использую Xcode 6.2, а RKTagManager - это приложение для iOS.

+0

Привет, Можете ли вы предоставить информацию для версии Xcode и поддерживаемой архитектуры. Спасибо –

+0

Я добавил к информации. – rckoenes

+0

Я думаю, что проблема заключается в том, что ссылки 'GoogleAnalytics-iOS-SDK' ссылаются на URL-адрес google, но старой« библиотеки »там больше нет. Там вы можете найти только новую структуру, которую они используют. – Moxy

ответ

3

Решение состоит в том, чтобы заставить CocoaPods построить спецификацию pod как библиотеку. Начиная с 0.36, стручки строят каркас и не имеют равных в качестве рамки.

Используйте команду --use-libraries для компиляции в спецификацию pod как библиотечный момент рамки.

Вы можете сделать это, как:

pod repo push OIPods RKTagManager.podspec.json --use-libraries 
+0

Отличное решение получило проблему, в которой мой pod не удалось - ОШИБКА | [MKDKit/MKDUIKit, MKDKit/MKDAnalytics] Вернул неудачный код выхода. - ПРИМЕЧАНИЕ | [MKDKit/MKDUIKit, MKDKit/MKDAnalytics] clang: ошибка: команда компоновщика не удалась с кодом выхода 1 (используйте -v, чтобы увидеть вызов) – StackRunner