iOS9適配常見問題

2021-07-06 02:02:44 字數 3792 閱讀 6373

1.http傳輸安全

以ios9 sdk

編譯的工程會預設以

ssl安全協議進行網路傳輸,即

,如果依然使用

協議請求網路會報系統異常並中斷請求

你可以在

info.plist

配置中改用下面的

xml原始碼:

nsallowsarbitraryloads

如果使用上面的方法禁用ats,但還是無法聯網。仍然提示要使用https

遇到此問題,基本出現乙個project多target,所以要注意你的target所屬的info.plist,本人就犯過這低階錯誤。

如下圖:

2.應用跳轉(sso等)

如果你的應用使用了如

sso授權登入或跳轉分享功能,在

ios9

下就需要增加乙個可跳轉的白名單,指定對應跳轉

的url scheme

,否則將在第三方平台判斷是否跳轉時用到的

canopenurl

時返回no

,進而只進行

webview

授權或授權

/分享失敗。

同樣在info.plist

增加:

wechat

weixin

sinaweibohd

sinaweibo

sinaweibosso

weibosdk

weibosdk2.5

mqqapi

mqqmqqopensdkssologin

mqqconnect

mqqopensdkdataline

mqqopensdkgrouptribeshare

mqqopensdkfriend

mqqopensdkapi

mqqopensdkapiv2

mqqopensdkapiv3

mqzoneopensdk

wtloginmqq

wtloginmqq2

mqqwpa

mqzone

mqzonev2

mqzoneshare

wtloginqzone

mqzonewx

mqzoneopensdkapiv2

mqzoneopensdkapi19

mqzoneopensdkapi

mqzoneopensdk

renrenios

renrenapi

renren

renreniphone

yixin

instagram

白名單-->

line

fbapi

fb-messenger-api

fbauth2

fbshareextension

3.第三方網路框架受影響 比如afnetworking

現在的afnetworking

的afhttprequestoperationmanager

實現是使用的

nsurlconnection 。

但afnetworking

也有更新計畫,移除

nsurlconnection

相關api

,遷移到

,但還未執行,詳情見:

4.bitcode

用xcode 7 beta 3

在真機(ios 8.3)

上執行一下工程,結果發現工程編譯不過。看了下問題,報的是以下錯誤:

ld: 『/users/**/framework/sdks/polymerpay/library/mobstat/lib**sdk.a(**forsdk.o)』 does not contain bitcode. you must rebuild it with bitcode enabled (xcode setting enable_bitcode), obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64

得到的資訊是引入的乙個第三方庫不包含

bitcode。

對於ios

,bitcode

是可選的;對於

watchos

,bitcode

是必須的;而

mac os

是不支援

bitcode。

所以,如果我們的工程需要支援

bitcode

,則必要要求所有引入的第三方庫都支援

bitcode。

如果只是

ios平台,

我們可以在

」build settings」->」enable bitcode」

選項中看到這個設定,然後進行設定成no 5.

ios9下使用masonry會引起崩潰的一種情況

我們在使用時候一直將

leading

與left

劃為等號,這樣做在

ios8

(及以前)上是正常的,但在

ios9

上這樣的觀念可能會引起崩潰,比如: 1

make.left.equalto(self.mas_leading).offset(15);

應該為: 1

make.left.equalto(self.mas_left).offset(15);

同理mas_training

也需要改為

right 5.

xcode7模擬器報錯

liblaunch_sim.dylib try reinstalling xcode or the simulator runtime.

解決辦法解決辦法

一、找到目標檔案

到目標位址一和目標位址二。

目標位址一

/library/developer/coresimulator/profiles/runtimes/ios

8.1.simruntime/contents/resources/runtimeroot/usr/lib/system/host/liblaunch_sim.dylib

目標位址二

圖中紅色部分是原檔案名字進行了修改,為了以後備份使用,liblaunch_sim.dylib為拷貝過來的檔案

iOS 9適配須知

昨天更新了xcode 7,準備ios 9的適配,查閱了相關文件,還是遇到不少坑,特整理下。1 編譯執行發現錯誤,類似如下錯誤 ld users framework sdks polymerpay library mobstat lib sdk.a forsdk.o does not contain ...

解決適配iOS9

1 在ios9下,系統缺省會攔截對http協議介面的訪問,因此無法獲取http協議介面的資料。解決 暫時退回到http協議。具體方法 然後給它新增乙個key nsallowsarbitraryloads,型別為boolean型別,值為yes 2 ios 9新建專案預設需要支援bitcode,而不支援...

適配iOS 9系統

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