第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

怎么修改第三方靜態(tài)庫支持的架構(gòu)?沒有源碼

怎么修改第三方靜態(tài)庫支持的架構(gòu)?沒有源碼

慕田峪4524236 2019-05-25 16:57:31
我想把已寫好的項目文件放到cocoapods上供他人使用,我的項目文件包含一個由第三方開發(fā)的靜態(tài)庫,libEZOpenSDK.a,這個靜態(tài)庫只支持真機架構(gòu),不支持模擬器架構(gòu),所以在進行podliblint進行本地驗證的時候會出現(xiàn)錯誤: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)所以我想問,有什么辦法可以通過這個驗證嗎?比如,我是否需要在對應(yīng)的podspec文件里面設(shè)置什么?或者有什么辦法可以修改這個靜態(tài)庫支持的架構(gòu)?注意:我沒有這個靜態(tài)庫的源碼最好是有什么方法可以修改靜態(tài)庫支持的架構(gòu),求大神解答,謝謝。通過lipo-info查看的靜態(tài)庫的信息: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 回答

?
神不在的星期二

TA貢獻1963條經(jīng)驗 獲得超6個贊

我前幾天集成支付寶SDK的幫助類的時候,遇到了集成.a文件的問題,不知道是不是樓主遇到的情況。寫下我遇到的情況,希望能幫到你。
支付寶SDK官方?jīng)]有iOS的githubrepo,因此只能手動導入到工程里,還要解決各種依賴庫。然后我就想要把它集成到github里。
然后主要有2個難點:
如何集成SDK里的AlipaySDK.framework到CocoaPods里
如何集成.a和依賴它的.h文件到CocoaPods里。這里我也沒拿到.m源碼,只有.a和.h文件。
然后,google和stackoverflow,再有就是CocoaPods里的issue,最終把上面的問題解決了。先放一個我集成好的AlipaySDK幫助類repo,鏈接在這.
針對問題1:
找了各種方法,最后發(fā)現(xiàn)無法集成到一個repo里。所以單獨將AlipaySDK.framework和AlipaySDK.bundle抽取出來,放到一個repo里。這樣,其他庫想用的話,直接依賴這個repo就好了。
針對問題2:
首先,將.a和.h放到subspec里進行管理,然后主要用vendored_libraries索引.a文件,用libraries標定這個子模塊作為庫使用。
其次,需要修改Example里Podfile的內(nèi)容,在最后添加:
pre_installdo|installer|
#workaroundforhttps://github.com/CocoaPods/CocoaPods/issues/3289
definstaller.verify_no_static_framework_transitive_dependencies;end
end
解決targethastransitivedependenciesthatincludestaticbinaries的問題
最后,在驗證的時候要加上podliblint--use_libraries修飾,告訴pods這里用到了靜態(tài)庫。
至此,上面的問題被解決掉。
                            
查看完整回答
反對 回復(fù) 2019-05-25
?
婷婷同學_

TA貢獻1844條經(jīng)驗 獲得超8個贊

只回答第一個問題吧。。。你沒有源碼的話,你引用的第三方庫是沒辦法修改成支持模擬器的,源碼編譯的時候,需要針對不同的architecture單獨編譯不同的庫,最終合成一個.a文件,并不是修改某個值就可以的,具體的你可以搜一下“Mach-OFileFormat”這個官方文檔,有具體的.a文件格式介紹
                            
查看完整回答
反對 回復(fù) 2019-05-25
  • 2 回答
  • 0 關(guān)注
  • 389 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號