我想把已写好的项目文件放到cocoapods上供他人使用,我的项目文件包含一个由第三方开发的静态库,libEZOpenSDK.a,这个静态库只支持真机架构,不支持模拟器架构,所以在进行podliblint进行本地验证的时候会出现错误:Undefinedsymbolsforarchitecturei386:"_OBJC_CLASS_$_EZDeviceInfo",referencedfrom:objc-class-refinCamera_TZYOPHomePageViewController.o"_OBJC_CLASS_$_EZOpenSDK",referencedfrom:objc-class-refinCamera_TZYHistoryRecordViewController.oobjc-class-refinCamera_TZYOPFunctionsSDK.oobjc-class-refinCamera_TZYOPHomePageViewController.oobjc-class-refinCamera_TZYSettingViewController.old:symbol(s)notfoundforarchitecturei386clang:error:linkercommandfailedwithexitcode1(use-vtoseeinvocation)BUILDFAILEDThefollowingbuildcommandsfailed:Ld/Users/yuancong/Library/Developer/Xcode/DerivedData/App-fmvnjejbnyymigeawgsdeaxjbfki/Build/Intermediates/Pods.build/Release-iphonesimulator/Cameara_TZYEZFunctions.build/Objects-normal/x86_64/Cameara_TZYEZFunctionsnormalx86_64Ld/Users/yuancong/Library/Developer/Xcode/DerivedData/App-fmvnjejbnyymigeawgsdeaxjbfki/Build/Intermediates/Pods.build/Release-iphonesimulator/Cameara_TZYEZFunctions.build/Objects-normal/i386/Cameara_TZYEZFunctionsnormali386(2failures)所以我想问,有什么办法可以通过这个验证吗?比如,我是否需要在对应的podspec文件里面设置什么?或者有什么办法可以修改这个静态库支持的架构?注意:我没有这个静态库的源码最好是有什么方法可以修改静态库支持的架构,求大神解答,谢谢。通过lipo-info查看的静态库的信息:yuancongdeiMac:~yuancong$lipo-info/Users/yuancong/Desktop/iOS_v4.4.0.build20170320/SDK/libEZOpenSDK.aArchitecturesinthefatfile:/Users/yuancong/Desktop/iOS_v4.4.0.build20170320/SDK/libEZOpenSDK.aare:armv7arm64yuancongdeiMac:~yuancong$下面是我的podspec文件里的配置:Pod::Spec.newdo|s|s.name='Cameara_TZYEZFunctions's.version='0.1.0's.summary='Cameara_TZYEZFunctions.'s.description='LICENSE'}s.author={'tencheer2017'=>'stevenzhu@tencheer.com.cn'}s.source={:git=>'https://github.com/tencheer20...',:tag=>s.version.to_s}s.ios.deployment_target='8.0's.source_files='Cameara_TZYEZFunctions/Classes/*/','Cameara_TZYEZFunctions/sdk/openssl/include/openssl/.h','Cameara_TZYEZFunctions/sdk/SDK/include/TestLib/.h's.resources=['Cameara_TZYEZFunctions/Camera_TZYResources/images//.png','Cameara_TZYEZFunctions/Camera_TZYResources/xib/.xib','Cameara_TZYEZFunctions/Camera_TZYResources/storyboard/.storyboard','Cameara_TZYEZFunctions/Camera_TZYResources/other//.strings']s.public_header_files='Cameara_TZYEZFunctions/Classes/*/.h','Cameara_TZYEZFunctions/sdk/openssl/include/openssl/.h','Cameara_TZYEZFunctions/sdk/SDK/include/TestLib/.h's.frameworks='CoreMedia','AudioToolbox','VideoToolbox','GLKit','OpenAL','MobileCoreServices','SystemConfiguration','CoreTelephony','AVFoundation's.libraries='stdc++.6.0.9','c++','iconv.2.4.0's.vendored_libraries='Cameara_TZYEZFunctions/sdk/SDK/libEZOpenSDK.a','Cameara_TZYEZFunctions/sdk/openssl/lib/libssl.a','Cameara_TZYEZFunctions/sdk/openssl/lib/libcrypto.a's.dependency'AFNetworking's.dependency'Toast's.dependency'ZASwitch'end
2 回答

HUWWW
TA贡献1874条经验 获得超12个赞
只回答第一个问题吧。。。你没有源码的话,你引用的第三方库是没办法修改成支持模拟器的,源码编译的时候,需要针对不同的architecture单独编译不同的库,最终合成一个.a文件,并不是修改某个值就可以的,具体的你可以搜一下“Mach-OFileFormat”这个官方文档,有具体的.a文件格式介绍
添加回答
举报
0/150
提交
取消