要接入微信支付的小伙伴,首先要下載一份官方demo(APP微信支付官方Demo下載),然后打開工程,準(zhǔn)備大干一場(chǎng)。
1、編譯報(bào)錯(cuò)
編譯的時(shí)候居然直接報(bào)錯(cuò)了(orz)
-
錯(cuò)誤提示:
APP微信支付官方Demo報(bào)錯(cuò) 解決方法:添加
CFNetwork.framework庫(kù)
選中項(xiàng)目名稱 -> 選中TARGETS -> 選中Build Phases -> 在Link Binary With Libraries中添加 -> 點(diǎn)擊“+”號(hào),加入CFNetwork.framework。
2、運(yùn)行報(bào)錯(cuò)
修改之后編譯成功,接下來(lái)就可以運(yùn)行了,當(dāng)出來(lái)熟悉的微信啟動(dòng)頁(yè)地球的時(shí)候,你可能頓時(shí)送了一口氣,然而接下來(lái)又有一個(gè)坑在等著你:
- 錯(cuò)誤提示:
2017-03-17 10:23:39.380 SDKSample[53804:1647093] -[__NSArrayM enqueue:]: unrecognized selector sent to instance 0x61000005a190
2017-03-17 10:23:39.383 SDKSample[53804:1647093] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM enqueue:]: unrecognized selector sent to instance 0x61000005a190'
*** First throw call stack:
(
0 CoreFoundation 0x000000010d821d4b __exceptionPreprocess + 171
1 libobjc.A.dylib 0x000000010d1d821e objc_exception_throw + 48
2 CoreFoundation 0x000000010d891f04 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
3 CoreFoundation 0x000000010d7a7005 ___forwarding___ + 1013
4 CoreFoundation 0x000000010d7a6b88 _CF_forwarding_prep_0 + 120
5 SDKSample 0x000000010a87a51c -[WXOMTASocket send:callback:] + 129
6 SDKSample 0x000000010a87a715 -[WXOMTASocket sendEvent:callback:] + 295
7 SDKSample 0x000000010a85bc6a __reportOneEvent_block_invoke_3 + 252
8 SDKSample 0x000000010a85b8ea __reportOneEvent_block_invoke + 1407
9 libdispatch.dylib 0x000000010e2da978 _dispatch_call_block_and_release + 12
10 libdispatch.dylib 0x000000010e3040cd _dispatch_client_callout + 8
11 libdispatch.dylib 0x000000010e2e1e17 _dispatch_queue_serial_drain + 236
12 libdispatch.dylib 0x000000010e2e2b4b _dispatch_queue_invoke + 1073
13 libdispatch.dylib 0x000000010e2e302b _dispatch_queue_override_invoke + 683
14 libdispatch.dylib 0x000000010e2e5385 _dispatch_root_queue_drain + 720
15 libdispatch.dylib 0x000000010e2e5059 _dispatch_worker_thread3 + 123
16 libsystem_pthread.dylib 0x000000010e6b3712 _pthread_wqthread + 1299
17 libsystem_pthread.dylib 0x000000010e6b31ed start_wqthread + 13
)
libc++abi.dylib: terminating with uncaught exception of type NSException
截圖如下:

NSArrayM enqueue 錯(cuò)誤
- 解決方法:
在工程配置中的”O(jiān)ther Linker Flags”中加入”-Objc -all_load”

添加 ”-Objc -all_load” 步驟
接下來(lái)你就可以愉快的運(yùn)行 Demo了,但是下面的總結(jié)一定要看完。
3、總結(jié)
其實(shí)上面的兩個(gè)錯(cuò)誤,在你下載的Demo里面已經(jīng)有提示了,是因?yàn)槟銢]有按照作者的步驟來(lái)進(jìn)行配置:

`README.txt`
- 注意
README.txt文件路徑,因?yàn)镈emo里面還有個(gè)小寫的readme.txt文檔。

官方README路徑
有時(shí)候開發(fā)前閱讀作者的 README 文檔還是很有好處的,可以讓你少走許多彎路。
