iOS做新浪微博sso授權登錄遇到的一些坑

来源:http://www.cnblogs.com/yajunLi/archive/2016/04/06/5359946.html
-Advertisement-
Play Games

新浪微博sso授權第三方登錄,這裡沒有藉助第三方框架,如shareSKD和友盟等,直接參考新浪官方SDK和文檔。 過程中遇到幾個坑,找了很久,好歹最後解決了,記錄如下 問題1: _NSInlineData base64EncodedString - unrecognized selector sen ...


 

新浪微博sso授權第三方登錄,這裡沒有藉助第三方框架,如shareSKD和友盟等,直接參考新浪官方SDK和文檔。

 

過程中遇到幾個坑,找了很久,好歹最後解決了,記錄如下

問題1:

_NSInlineData base64EncodedString - unrecognized selector sent to instance 報錯

這個坑編譯是看不出來的,可以通過,運行時,直接閃退了,蹦~

解答:

這裡我之前也試過第三方框架做新浪授權登錄,也會遇到此問題,所以這個還是新浪自己SDK的坑,與第三方框架無關。

最後解決:在build settings ->other linker flags  ->添加-all_load

吐槽下,官方文檔上,讓家-objc,沒卵用啊。。。

這裡要註意下,如果還不行,最好嚴格按照官方文檔把相應framework加全了,具體參考《微博iOS平臺SDK文檔V3.1.4》https://github.com/sinaweibosdk/weibo_ios_sdk

 

問題2:

好了,這個坑糾結很久,終於可以運行了,打開都正常,點擊新浪登錄,理論上直接彈出提示:應用想打開微博,下麵可以選取取消、確定

但實際上是跳刀了網頁登錄,並沒有sso打開微博APP,並且列印一大堆日誌,錯誤如下:

-canOpenURL: failed for URL: "sinaweibo" - error:"This app is not allowed to query for scheme xx

-canOpenURL: failed for URL: "weibosdk" - error:"This app is not allowed to query for scheme xx

總共好幾行,解決辦法是:在info.plist里添加一個屬性:LSApplicationQueriesSchemes,並設置內容

添加完,就可以正常授權了。

 

授權後回得到uid和accessToken,再自己去新浪調取用戶介面就可以得到用戶信息了,昵稱、城市、頭像什麼的。。。

 

 

結束。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • <script>標簽的位置 一般,所有的<script>元素都應該放在頁面的<head>元素中。這樣就意味著=必須要等到全部的javascript代碼被下載解析和執行完以後,才能呈現頁面的內容。 瀏覽器在遇到<body>標簽才會顯示內容。 對於需要很多javascript代碼的頁面來說,這回導致瀏覽 ...
  • 轉自:http://www.cnblogs.com/springsnow/archive/2010/06/03/1750832.html 例一:添加對象的靜態屬性 聲明一個對象$.problemWo,添加一個b的靜態屬性和myclick的靜態方法。 (function ($) { $.problem ...
  • 這幾天工作在智能手機上已經變得非常普遍,每個組織都有自己的工作在智能手機或平板電腦上,開源社區在移動應用的成長中起著關鍵的作用。這裡有一些應用程式來提高你的工作熱情和創造力。 1.Convertigo 這是用於開發各種應用程式在一個非常便宜的軟體。隨著發展,人們也可以部署應用程式。convertig ...
  • 一.Socket: Socket又稱”套接字" 網路上的兩個程式通過一個雙向的通信鏈接實現數據的交換,這個連接的一端成為一個socket 應用程式通常通過”套接字”向網路發出請求或者應答網路請求 二.網路通信的要素 網路上的請求就是通過socket來建立鏈接然後互相通信 ip地址(網路上主機設備的唯 ...
  • android簽名打包apk文件 1.在要打包的項目上右擊打開Android Tools,然後打開Export Android Application並且輸入項目名稱 2.選擇Create new keystore,寫入簽名的位置和密碼,並且確認密碼(如果已經有簽名的話可以選擇ues existin ...
  • contentOffset是哪個點??? 首先從字面理解:內容偏移 我可是查了詞典的!!! 對於contentOffset有的時候我們會產生錯誤理解。 我不想在這裡介紹錯誤的理解避免不必要的混淆。 我們什麼時候會遇到contentOffset??? 更多的時候是在滾動試圖中,我們可以通過它結合代理實 ...
  • 我是小搬運工,今天講解流的壓縮傳輸 在我們安卓開發中,通常伴隨著大量的數據傳輸,在此,樓主給出一個簡單的壓縮流的數據進行操作。 public void GZIPCpf(String path) { /* * 描述 * 壓縮測試 * 通過壓縮的方式實現對java數據流的讀取 * java壓縮類屬於in ...
  • android簽名後報錯的問題 Duplicate id @+id/imageView, already defined earlier in this layout,android生成報錯 這個是項目重覆id報錯,解決方案如下: 1.點擊Window-Preferences 2.點擊android ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...