ShareSDK向iOS平台移植時問題及解決辦法

2021-09-03 04:07:32 字數 980 閱讀 5632

問題

此前,我的開發環境是windows7(64bits)+vmware 9.0+mac os 8.5+xcode 4.5,結果在測試遊戲中整合目前最新的sharesdk(sharesdk for ios 2.10.3,而sharesdk for cocos2d-x也是目前最新的)時失敗。出現如下圖所示的編譯錯誤:

而第二個錯誤如下圖:

,此原文基於cocos2d-x 2.2.0版本,我當前使用的是cocos2d-x 2.2.3;但是,很快我也會公升級到cocos2d-x 3.x版本的整合)。

分析

此前,注意到上述錯誤都圍繞objective-c中的新內容blocks(這裡使用了oc與c++混合程式設計技術員)。在仔細地學習了這個新知識點後,我簡單地認為可能sharesdk官方在blocks程式設計時出現了問題(因為搜尋網路上的文章說,從xcode 4.3開始其內建gcc編譯器已經支援blocks了,而我使用的是xcode 4.5+llvm gcc 4.2)。於是,相當然地對上述兩個檔案作了修改:把blocks內普通形式的區域性變數提取出來前面新增以__block。其實,現在看來我還沒有根本理解blocks用法,上述表達沒有問題。

補充

在安裝新環境後,感覺有了不少變化。其中最明顯的一點是,原來情況下,我只要把win7下的資料夾設定為與mac os 10.8共享後即可在xcode 4.5中開啟與操作遊戲工程,但是現在不行了--出現著名的錯誤「clang failed with exit code 254」。無奈,參考網路文章(後,我只好把遊戲工程使用finder從原來共享位置複製到mac os內部的乙個資料夾[文稿]下。再重新編譯執行工程ok!

ShareSDK適配iOS 9系統

問題描述 在ios9下,系統缺省會攔截對http協議介面的訪問,因此無法獲取http協議介面的資料。對sharesdk來說,具體表現可能是,無法授權 分享 獲取使用者資訊等。還可能造成我們的編輯介面裡傳http之類的網路的時候,我們的編輯介面不會顯示截圖,解決的辦法或者全面關閉https,允許使用h...

iOS 開發 介面上移

1.在 void viewdidload 中 註冊通知 監聽鍵盤彈起事件 nsnotificationcenter defaultcenter addobserver selfselector selector keyboardwillshow name uikeyboardwillshownoti...

iOS 向App Store提交應用

1.你的應用已經準備好了嗎?2.預先準備 3.assets 資源包 4.提交準備 step 1 完成基本資訊 step 2 和有效性 step 3 元資料 如果你的應用等級跟內容不符合,蘋果也會拒絕你的應用。step 4 準備上傳二進位制檔案 5.上傳二進位制檔案 為了上傳程式,需要為程式建立乙個a...