我正在将框架升级到最新版本。早期的集成(> 2岁)将框架直接复制到项目中;现在获得cocoapod(0.39.0),使用xcode(7.2.1)和objective-c项目将框架与项目集成。
运行时会产生以下错误:
dyld: Library not loaded: @rpath/name.framework/name
Referenced from:
/Users/xyz_xyz/Library/Developer/CoreSimulator/Devices/xxxxxxx/data/Containers/Bundle/Application/xxxxxxx/appname.app/appname
Reason: image not found
“Pod”xcode-project具有正确的引用,框架存在于相应的文件夹中
发现nameFramework未在任何构建阶段中链接(添加)。我不熟悉使用cocoapods并且不确定在Xcode构建设置中需要进行哪些更改才能从直接嵌入式框架转换到基于cocoapods的集成。
[更新]使用cocoapods进行集成在使用样本或新项目时工作正常。这是当前项目设置中导致问题的原因。
Podfile:
platform :ios, '8.0'
# use_framework for swift based pod integration. requires cocoapod 0.39.0
#use_frameworks!
pod 'GTMOAuth2'
pod 'Typhoon'
pod 'Alamofire'
# Issue with name
pod 'name', podspec:'https://customers.pspdfkit.com/cocoapods/.../latest.podspec'
target :ABC do
pod '...', '~>1'
end
target :XYZ do
pod '...', :path => 'submodules/...'
end
[更新] - 升级到CocoaPods 1.0.1&修改Podfile以取消注释use_frameworks !,并进行0.39.0到1.0.1迁移所需的其他更改。这是更新的Podfile。
platform :ios, '8.0'
# use_framework is required for dynamic links (swift) based pod integration.
use_frameworks!
target 'XYZ' do
pod 'GTMOAuth2'
pod 'Alamofire'
pod 'name', podspec:'https://customers.name.com/cocoapods/.../latest.podspec'
target :XYZ-A do
pod 'XYZ-iOS-SDK', :path => 'submodules/xyz-ios-sdk'
end
end
通过添加$(继承)标志(如果适用)修复了以下错误
XYZ-v2 [Release]
目标会覆盖在...中定义的OTHER_LDFLAGS
构建设置。上述更改后的进度,Pods / Target支持的文件/ XYZ-v2 /具有Pods-XYZ-v2-frameworks.sh和resources.sh;早期的frameworks.sh丢失了。以下是framworks.sh的部分内容,它确实包含复制说明。
if [[ "$CONFIGURATION" == "Debug" ]]; then
install_framework "$BUILT_PRODUCTS_DIR/GTMOAuth2/GTMOAuth2.framework"
install_framework "$BUILT_PRODUCTS_DIR/GTMSessionFetcher/GTMSessionFetcher.framework"
install_framework "$BUILT_PRODUCTS_DIR/GoogleAPIClient/GoogleAPIClient.framework"
install_framework "$BUILT_PRODUCTS_DIR/Mantle/Mantle.framework"
install_framework "${PODS_ROOT}/PSPDFKit/PSPDFKit.framework"
install_framework "$BUILT_PRODUCTS_DIR/SSKeychain/SSKeychain.framework"
fi
// and for "Release" & "Distribution" as well..
现在我正在尝试解决构建时的编译错误,这些错误与静态与动态库包含有关。
[更新]发布了一个新问题:CocoaPods 1.0.1 Redefinition of 'XYZ', Redefinition of enumerator 'ABC', Duplicate interface definition for 'MNO'
相关:
答案 0 :(得分:4)
尝试使用use_frameworks!
(目前已注释掉)。 PSPDFKit是一个动态框架,因此您需要启用此选项。
还可以使用最新的Xcode和CocoaPods> = 1.0.0进行尝试。旧版本可能无法正常运行。
您可以在此处找到有关通过CocoaPods进行PSPDFKit集成的更多信息:https://pspdfkit.com/guides/ios/current/getting-started/using-cocoapods
如果所有这些都没有帮助,您可以直接通过https://pspdfkit.com/support/request
与PSPDFKit开发人员联系答案 1 :(得分:-1)
dyld上的同样问题:未加载库:@rpath / TwilioAccessManager.framework / TwilioAccessManager 原因:未找到图像
我遇到了同样的问题,这为我解决了。我将Framework状态更改为可选。