使用 Network Link Conditioner 在 iOS 實機與模擬器模擬伺服器無回應逾時或網路極慢的狀況

在製作一個需要連網的 App 時,常常會需要打 API 取得資料,所以我們一定會針對伺服器回傳的資料處理,但要是伺服器根本就無回應呢?這時我們就需要使用 Network Link Conditioner 這項工具模擬出不同的網路環境做處理。

 


實機設定

先從 設定 → 開發者 → Network Link Conditioner 進去。
選擇 profile ,這裡因為要模擬 timedout 的情況所以選擇 100% Loss 。
並且 Enable 設定為開啟,這樣整台 iOS 裝置都會受到影響。

Network Link Conditioner iOS

 


模擬器設定

由於模擬器的設定裡沒有 Network Link Conditioner ,必須透過電腦設定才行。
請依照 Xcode 版本下載對應的檔案,不然會沒有效果。
Xcode 8 以上請從這下載安裝。
Xcode 7 以下請從這下載安裝。

掛載 dmg 尋找 Network Link Conditioner.prefPane 並點兩下安裝重開機。
路徑是 Additional Tools/Hardware/Network Link Conditioner.prefPane 。
安裝成功會在系統偏好設定裡出現 Network Link Conditioner。

Network Link Conditioner Mac 1

Network Link Conditioner Mac 2

使用方法跟實機一樣就不多說了,也可用用 Very Bad Network 這個 profile 模擬網路超慢的情況,這個會影響到整台電腦與模擬器請小心使用。

 

在 UITableViewCell 中取得 UITableView 或 UIViewController

在 iOS 7 ~ iOS 10 , UITableViewCell 與 UITableView 中間多了一層 UITableViewWrapperView ,直到 iOS 11 又移除...

將以下兩段複製到繼承 UITableViewCell 的自定義 class 裡

    weak var tableView: UITableView? {
        // 在 iOS 7 ~ 10 中 ,UITableViewCell 的 superview 為 UITableViewWrapperView 而不是 UITableView
        if #available(iOS 11, *) {
            return self.superview as? UITableView
        }else {
            return self.superview?.superview as? UITableView
        }
    }
    weak var viewController: UIViewController? {
        return self.tableView?.delegate as? UIViewController
    }

啟用 HiNet 中華電信 IPv6 上網服務

本教學主要適用於 HiNet 光世代用戶啟用 IPv6

從很久之前就有聽過 IPv6 這個詞,在電腦展時也有一直在宣導,那時我以為這是只要 ISP 那邊設定就好,所以沒去特別理解它。過了很久後才知道這是用戶端這邊也要設定,而且還需要自己向 ISP 申請才行, ISP 他們也沒特別推動。難怪 IPv6 出來這麼久,大部分用戶都還是只支援 IPv4 ,只有政府機關、學術機構以及架站的人早早就同時支援 IPv4 與 IPv6 了。

關於 IPv6 ,網路上有很多解釋了,最主要就是解決 IP 不夠分配的問題,加上現在又進入物聯網的時代 ,問題只會更加嚴重。根據 Google 的統計資訊,全世界只有 12.49 % 的用戶是 IPv6 ,台灣甚至只有 0.57% ...

IPv6 有以下優點:
1. 更多的 IP
2. 優化網路效能 (不需要 NAT 以及封包改善)
3. 更好的安全性

 


首先 IPv6 需要 ISP 以及軟硬體都支援
ISP:跟 HiNet 線上申請即可 (目前只有光世代用戶可以申請)
硬體:數據機及網路分享器 (若數據機太舊會派人來更換,網路分享器只要登入管理介面看看有沒有 IPv6 相關設定就可確認)
軟體:作業系統本身支援或第三方軟體 (本教學不用安裝任何軟體)

先用這兩個網站測試 IPv6 的支援度如何
http://test-ipv6.com/
http://ipv6-test.com/

 


檢測完後會列出得分及需要改善的項目,截圖是啟用 IPv6 後的得分啦,如果很低分就跟著教學做設定吧。若第一個網站測出來結果是 9/10 ,只要設定作業系統內的 DNS 就會變成滿分囉!

 


ISP部分

先到中華電信網路客服中心的頁面提出申請

點選 "申請 IPv6"

 

填入電話號碼,如果真的不知道要填甚麼請看下一步的連結

 

連線資訊查詢
登入後此頁面右下方有一項叫做 "附掛號碼"
請複製填到上圖的"電(信)話號碼"欄位中

把基本資料填一填並送出

 

之後你會收到一封告知申請已完成的電子郵件
大約要2~3個工作日才會完成整個申請內容 (視情況可能會派人來換機器)

可以到這個頁面查看進度

點選 "網路客服中心申請紀錄"

 

點選"申請IPv6"
再點選"查詢聯單明細"

 

確定收到第二封說明完工的電子郵件再繼續下面的步驟

 


網路分享器部分

我是用硬體撥接,這樣系統就不用撥號了。

 

跟 IPv4 幾乎一樣的設定

 

IPv6 主要、次要 DNS 分別設定
2001:b000:168::1
2001:b000:168::2

 

IPv4 主要、次要 DNS 分別設定
168.95.1.1
168.95.192.1

 


作業系統部分

這邊是以 Windows 10 為例,但其實不同版本的界面都差不多,可以參考看看。

 

IPv6 主要、次要 DNS 分別設定
2001:b000:168::1
2001:b000:168::2

 

IPv4 主要、次要 DNS 分別設定
168.95.1.1
168.95.192.1

 

設定皆正常後你會看到 IPv4 與 IPv6 都連上網際網路了

 


最後再試試那兩個測試網站看看分數是否有提升吧~
有看到有人說某些網站的速度有變快、Youtube 緩衝時間變短、P2P下載更快之類的
可能就是該服務有多一條線給 IPv6 來跑
每個 IPv6 用戶少所以分得的頻寬比較多就好比當初 4G 剛開台的情況

使用 Interop Tools 將不支援 W10M 的機型升級到紅石

我從 10586.494 成功升到 14393.5
機型是台版 Nokia Lumia 920

請注意
目前微軟已經關閉不支援 W10M 的機型加入 Windows Insider 使用 Insider Release Preview 升級的方法
而且 RS1 正式上市後 Insider Release Preview 也會變成給 RS 用
也就是說 10586.X 將會變成絕響 到時候你只有三種選擇
1. 降級成 WP8.1
2. 硬上 W10M RS1
3. 留在 10586.X

本教學是使用第二種,一但升到 RS1 ,可能就沒辦法回到 10586.X 囉
與之前網路上的教學不一樣 這次是使用 Interop Tools
不用下載 WP8 SDK 步驟可能相較簡單


  1. 打開手機上的 開發人員模式

    設定 更新與安全性 開發人員專用 開發人員模式

  2. 下載 Interop Tools

    http://bit.ly/InteropTools
    作者 https://twitter.com/gus33000
    用電腦下載後解壓縮
    將 Dependencies 資料夾下的 appx 檔案 以及 InteropToolsApp_beta_1.7_0.0.157.0_arm.appxbundle 夾帶檔案寄給自己
    用手機開啟信箱下載安裝4個必要的 appx 檔案 最後再來安裝 appxbundle
    等待10秒後應用程式列表會出現 Interop Tools 我們要用它來修改機碼

  3. 設定 Interop Tools

    開啟 Interop Tools
    點選 INTEROP UNLOCK
    打開 Restore NDTK Svc (第4項 別選到x50) 重開機
    再打開 Interop/Cap Unlock (第1項) 以及 New Capability Engine unlock (第2項)

  4. 改機碼

    開啟 Interop Tools
    點選 REGISTRY BROWSER
    移動到以下路徑
    [HKEY_LOCAL_MACHINE\System\Platform\DeviceTargetingInfo]
    更改以下的值 大小寫有分別
    有兩項值的 前者為單卡 後者為雙卡

    PhoneManufacturer
    MicrosoftMDG

    PhoneManufacturerModelName
    RM-1085_11302
    RM-1116_11258

    PhoneModelName
    Lumia 950 XL
    Lumia 950 XL Dual SIM

    PhoneHardwareVariant
    RM-1085

    這時去 設定 系統 關於 看看 成功偽裝了~

  5. 下載安裝紅石版更新

    打開 Windows 測試人員
    設定為 快速通道
    重開機後檢查更新吧
    安裝後進到桌面這時背景可能還在安裝 APP 所以會頓以及發熱



後記

如果安裝後有選擇 恢復原廠設定 的朋友會發現以上的動作需要重做 而且系統也退出 Windows 測試人員計畫 了
Windows 測試人員 已經內建在系統中了 所以 App 可以刪除了
不知道是不是有 恢復原廠設定 的關係 掃視畫面 打不開 重新安裝 App 也一樣

若是上面的機碼無效 也可以試試以下的

Lumia 830

PhoneManufacturer: MicrosoftMDG
PhoneManufacturerModelName: RM-984_15184
PhoneModelName: Lumia 830
PhoneHardwareVariant: RM-984
BSPRelease: 0000
ConfigurationID: 1001_0253A1

Lumia 635

PhoneModelName: Lumia 635
PhoneManufacturer: MicrosoftMDG
PhoneManufacturerModelName: RM-974_1193
PhoneHardwareVariant: RM-974

解決 Steam 客戶端中文亂碼

只有靜態的 UI 文字及收藏庫是正常顯示
所有內嵌網頁含有中文就會亂碼
如何分辨是不是網頁 滑鼠右鍵有"檢視原始碼"這選項就是網頁了
收藏庫可能是串 API 而非網頁所以一切正常

如果用瀏覽器直接看 Steam 網頁也是正常顯示中文
只有 Steam 客戶端會顯示方塊字
最後發現真的是 Steam 客戶端網頁快取的問題

 

商店首頁

收藏庫

遊戲介紹頁

 


 

解決方法:

 

完全關閉 Steam 客戶端

 

按下 Win + R 鍵 ("執行"的快速鍵) 並輸入

C:\Users\%UserName%\AppData\Local\Steam

按下 Enter 鍵後刪除名為 "htmlcache" 的資料夾

 

再次按下 Win + R 鍵 並輸入

steam://flushconfig

按下 Enter 鍵後會詢問你是否要重置 Steam 的設定到預設值

按下"確定"並重新登入帳號應該就能解決了

儲存 Windows 焦點的鎖定畫面作為桌布用

Windows Spotlight 其實就是 Dashboard 的概念
Windows Spotlight 其實就是 Dashboard 的概念

目前 Windows 焦點 ( Windows Spotlight ) 還沒出在 Windows 10 Mobile 上
Windows 10 Mobile 與 Windows Phone 8.1 的使用者可以先用 Bing 桌布

打開 "本機" 並在上方網址列打上

C:\Users\%UserName%\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets

按下 Enter 鍵後你會看到一堆沒有副檔名的檔案

切換成大圖示模式成功找出我在鎖定畫面看到的那張圖
切換成大圖示模式成功找出我在鎖定畫面看到的那張圖

如果切換後還是沒辦法看出是哪張圖,只好先全選複製到其他資料夾,然後依照日期排列推測出可能的時間點。

把檔案複製到其他地方並加上.jpg 這樣才能看到影像的資訊
把檔案複製到其他地方並加上.jpg 這樣才能看到影像的資訊

為什麼在未加上副檔名前只有一張有預覽縮圖,推測可能只是快取
每張圖都有橫式與直式,解析度都是 1080p,目前不像 Bing 有網站收集整理這些圖
曾經出現過古墓奇兵:崛起及小小兵,可能是和緩、低調、美觀、不帶名稱的廣告,你只能選擇開啟或關閉該功能

目前微軟已經有出了自家軟體 Bing Wallpaper ,不用再手動操作了,詳情可以參考這篇文章

在 Windows 10 啟用 Telnet

從 Windows Vista 後就不再自動安裝 Telnet ,但你仍可以手動安裝。
有兩種方式可以做到,使用圖形化介面或是命令提示字元,擇一即可。
雖然本文是以 Windows 10 來舉例,但前幾個版本的操作模式差不多,依然可以試試。

 


圖形化介面

對左下的開始按鈕點擊滑鼠右鍵,並選擇 "程式和功能"
對左下的開始按鈕點擊滑鼠右鍵,並選擇 "程式和功能"

 

點擊左邊的 "開啟或關閉 Windows 功能"
點擊左邊的 "開啟或關閉 Windows 功能"

 

勾選 "Telnet 用戶端" ,按 "確定" 等待安裝
勾選 "Telnet 用戶端" ,按 "確定" 等待安裝

 

 


命令提示字元

對左下的開始按鈕點擊滑鼠右鍵,並選擇 "命令提示字元(系統管理員)"
對左下的開始按鈕點擊滑鼠右鍵,並選擇 "命令提示字元(系統管理員)"

 

輸入 dism /online /Enable-Feature /FeatureName:TelnetClient
輸入
dism /online /Enable-Feature /FeatureName:TelnetClient

 

Dropbox 同步指定資料夾外的檔案 ( Mac / Windows )

Dropbox 預設只能同步指定資料夾內的檔案與子資料夾,若要同步以外的地方,需要將捷徑或替身放進該資料夾內才行,可惜的是直接用滑鼠右鍵建立的捷徑或替身無法達到,只能靠以下指令完成。

若要將桌面上的 AAA 資料夾放進指定資料夾同步了話
請注意使用者帳號名稱、資料夾名稱以及來源資料夾目的資料夾的順序

 

Mac

終端機

ln -s /Users/Twister/Desktop/AAA /Users/Twister/Dropbox/AAA

來源資料夾 目的資料夾

 

Windows

命令提示字元 → 以系統管理員身分執行

mklink /d "C:\Users\Twister\Dropbox\AAA" "C:\Users\Twister\Desktop\AAA"

目的資料夾 來源資料夾

 

國際掛號郵件追蹤

在網路上購買價值較高的東西都會提供追蹤碼來查詢貨物到哪了,這次就以新加坡郵政為例來講解國際掛號郵件追蹤的流程:

Singapore Post

網頁上輸入以 R 開頭的號碼後,會顯示各個狀態及日期

Despatched to overseas (Country code: TW)
貨物已寄出

Arrival at Processing Center (Country code: TW)
已抵達當地處理中心(郵局),台灣了話就是中華郵政,接下來請至中華郵政網站來追蹤

Product Delivered (Country code: TW)
貨物已送達

Attempted/Failed Delivery (Country code: TW)
貨物遞送失敗,多半是收件人不在家,請至收件者當地郵局網站查詢

 


 

中華郵政國際掛號郵件查詢(中文版)
中華郵政國際掛號郵件查詢(英文版)


輸入跟剛才一樣 R 開頭的號碼後,就會顯示非常詳細的資料,全中文的我就不解釋了。如果連續兩次都投遞失敗了話,就會變成暫存招領,隔天就會在信箱收到掛號郵件招領通知單,依照上面的指示去領取。