重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
iOS模擬器是蘋果Xcode IDE的一部分,主要用來為Mac,iPhone和iPad創建應用程序,為了給iOS模擬器打包應用程序,利用–package 在命令行上執行ADT并使用–target來指定其中一個目標。比如,對于檢測注釋目標你可以執行下面的: adt -package -target ipa-test-interpreter-simulator -storetype pkcs12 -keystore Certificates.p12 -storepass password Sample_ipa_name sample_ipa-app.xml sample_ipa.swf -platformsdk path to iOS Simulator SDK 一個通向iOS模擬器SDK的示例路徑是 /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk對于調試注釋目標,你可以執行以下命令: adt -package -target ipa-debug-interpreter-simulator -connect -storetype pkcs12 -keystore Certificate.p12 -storepass password Sample_ipa_name sample_ipa-app.xml sample_ipa.swf -platformsdk path to iOS Simulator SDK請注意,這個調試目標的命令沒有指定IP地址。這是因為模擬器總是在本地機器上啟動,因此就不需要IP地址。一、安裝和啟動應用程序打包好應用程序后,你就可以利用ADT和–installApp將它安裝到iOS模擬器中,比如: adt -installApp -platform ios -platformsdk path to iOS Simulator SDK -device ios-simulator -package sample_ipa_name.ipa安裝之后,你可以利用ADT和–launchApp在iOS模擬器上啟動并運行它,比如: adt -launchApp -platform ios -platformsdk path to iOS Simulator SDK -device ios-simulator -appid Sample_ipa_name這個appid值被指定在應用程序描述文件(app.xml)的 標簽中。Flash Builder將appid作為應用程序的默認名。這個應用程序可以直接通過UI來卸載?;蛘撸憧梢栽诿钚兄惺褂猫CuninstallApp來卸載: adt -uninstallApp -platform ios -platformsdk path to iOS Simulator SDK -device ios-simulator -appid Sample_ipa_name注意:如果你使用ADT卸載了一個程序,它的圖標仍然會保留在iOS模擬器中,直到你重新啟動模擬器。
創新互聯專業為企業提供湘陰網站建設、湘陰做網站、湘陰網站設計、湘陰網站制作等企業網站建設、網頁設計與制作、湘陰企業網站模板建站服務,10年湘陰做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。
6月1日起所有iOS應用必須支持IPv6-only網絡
“在WWDC 2015上,我們宣布iOS 9開始向IPv6-only網絡服務過渡。自2016年6月1日起,開發者所有提交至App Store的應用必須支持IPv6-only網絡。由于大部分現有應用程序已經通過NSURLSession和CFNetwork APIs兼容該協議,因此這些應用無需做出調整。如果你依然使用IPv4 API的或者硬件編碼IP地址,那么你需要手動調整應用代碼來適應新變化。”
另外蘋果還提供了相關資料,幫助開發者開始向添加對IPv6-only網絡的支持過渡,其中包括了WWDC 2015大會期間的開發者文檔。
值得一提的是,蘋果日前還宣布6月1日起所有提交至應用商店的watchOS應用都必須要是原生應用,即不再依靠iPhone運行。今年6月份的WWDC 2016看來是有大動作,大家拭目以待吧。
企 鵝
48五五五3030
之前我們曾對iOS應用審核被拒的主要原因以及比重進行過一番統計,其結果顯示:因IPv6問題而被拒的應用約占樣本總數的15.1%,且該問題也占據了“近期iOS應用十大被拒原因榜”的第2名。
近一段時間以來,因IPv6問題而被拒的情況有增無減,個別應用嘗試多種方法仍未過審,部分CP叫苦不迭。故心疼他們的我將IPv6詳細內容整理了出來,以供參考。
一、IPv6常見被拒理由
據統計結果顯示,因IPv6問題導致被拒的主要原因有以下幾種:存在網絡連接問題、無法加載任何內容、無法訪問App......部分被拒理由原文如下↓↓↓
1.被拒理由原文:
Performance-2.1WediscoveredoneormorebugsinyourappwhenreviewedoniPadiPhonerunningiOS10.2onWi-FiconnectedtoanIPv6network.Specifically,therewasnetworkconnectingissuewithinyourapp.…
翻譯:
在與連接到IPv6網絡的Wi-Fi上運行iOS10.2的iPad和iPhone上進行審查時,我們在應用中發現了一個或多個錯誤。
具體來說,您的應用中存在網絡連接問題。
……
2.被拒理由原文:
Performance–2.1WediscoveredoneormorebugsinyourappwhenreviewedoniPadiPhonerunningiOS10.3.1onWi-FiconnectedtoanIPv6network.Specifically,wewereunabletoloadanycontent.…
當在連接到IPv6網絡的Wi-Fi上運行iOS10.3.1的iPad和iPhone上查看時,我們在應用中發現了一個或多個錯誤。
具體來說,我們無法加載任何內容。
3.被拒理由原文:
Performance–2.1WediscoveredoneormorebugsinyourappwhenreviewedoniPadiPhonerunningiOS10.3.1onWi-FiconnectedtoanIPv6network.Specifically,wewerestillunableaccessyourapp……
當在連接到IPv6網絡的Wi-Fi上運行iOS10.2的iPad和iPhone上進行審查時,我們在應用中發現了一個或多個錯誤。
具體來說,我們仍然無法訪問您的應用。
二、蘋果針對IPv6的審核機制流程
從去年6月1日開始,蘋果規定所有提交至AppStore的應用必須要兼容面向硬件識別和網絡路由的最新互聯網協議--IPv6-only標準。
不過很多開發者反應即使嚴格按照蘋果提供的方法來測試,也依然被拒。其實這和對蘋果的審核機制不甚了解有很大關系,下面我為大家科普下蘋果針對IPv6的審核機制和流程:
()
圖示展示了蘋果審核時的簡單原理:
蘋果AppStore審核人員在美國的IPv6-Only環境下對APP進行訪問(審核),提交App后,
如果AppServer支持IPv6,則可直接訪問;
如果AppServer不支持IPv6,則通過DNS64+NAT64進行訪問。
據統計,大部分開發者的App服務器都是不支持IPv6直接訪問的。也就是說,AppStore審核人員審核時,基本都是用NAT64+DNS64進行訪問的。那么接下來我們重點了解一下NAT64+DNS64的訪問機制,如下圖示:
從上圖可以看出審核的關鍵在于能不能獲取一個有效的ServerIPv6地址。
蘋果公司的App審核人員進行審核時,由于國內大部分開發者的服務器不支持IPv6-Only訪問,因此只能通過蘋果公司自己的NAT64+DNS64服務器進行測試,如果蘋果的服務器不能有效的給AppServer返回一個IPv6地址,就會導致無法訪問等問題。其結果便是審核失敗,App被拒。
三、被拒原因解決方式詳解
通過綜合被拒理由原文、IPv6的審核機制和流程等,其實我們可以很容易地總結出iOS應用因IPv6審核被拒的大體原因:
1、國內大部分App服務器不支持IPv6-only;
2、蘋果公司的審核環境不能自動將國內服務器地址轉成IPv6地址,導致訪問失??;(據樣本統計,絕大多數App是因為這個原因木有過審......)
當然,除了這兩點之外,國際線路帶寬嚴重擁堵等原因也會造成訪問的不穩定或訪問失敗。
而對于因IPv6問題審核被拒后所能采取的方法,我也進行了一番整理,大家可以根據實際情況來采取相應的措施:
四、結語
從蘋果實施這一規定起,到現在已經有10個多月的時間了。但是因IPv6被拒的App數量一直居高不下。希望各位開發者們看到以上內容能夠擺脫審核時因IPv6被拒的情況,順利通過審核。
兒童節到來之前,所有iOS應用開發們都在折騰這個策略,所以為了保障應用上架不受影響,需要通過完善的測試來'保駕護航',那么自己搭建一個本地虛擬的IPv6-only網絡環境是必要的,接下來介紹下如何在自己的Mac上搭建測試網絡。
下面是搭建本地IPv6網絡的步驟:
1. 首先確保Mac已經連入因特網,但不是通過Wi-Fi連入的;
2. 通過Dock或LaunchPad或蘋果菜單中開啟“系統偏好設置”;
3. 按住'Option'按鍵的同時點選“共享”圖標,注意:不要放開'Option'按鍵,一直按住不放哦;
4. 打開“共享”窗口后在共享服務列表中選擇‘互聯網共享’,點選后同時放開‘Option’按鍵;
5. 此時在窗口底部就可以看到一個帶有Checkbox的選項 “創建 NAT64 網絡”,進行選中;
6. 在窗口右側提供的“共享以下來源的鏈接”列表中選擇一個網絡端口,例如Thunderbolt網橋;
7. 在“用以下端口共享給電腦”列表中再選擇“Wi-Fi”選項;
8. 接著點擊“Wi-Fi選項”按鈕并在新窗口中配置網絡名稱和一些安全選項;
9. 配置好"Wi-Fi選項"后點擊"OK"確認關閉后,在窗口左側列表中勾選“互聯網共享”開啟本地網絡,驗證是否開啟在右側上方會有綠色按鈕展現;
10. 選中的同時會出現二次確認框,選擇“開始”;
一旦分享被激活,在頂欄中會看到一個綠色狀態和網絡分享已經開啟的提示。 同時在 Wi-Fi 菜單中將會看到一個很小的指向上方的箭頭標志代表網絡分享已開啟。那么現在已經搭建好了NAT64網絡,可以使用其它的設備來連接并測試你的app了。?
其實蘋果電腦自帶這個功能,只是平時大家一般都使用ipv4。
1.提到IPV6相關。 那這個直接就聯想到就是關于我們App中網絡部的一些內容,是否要進行相應的改變。
首先,解釋下什么是ipv6?
IPv6是下一代互聯網的協議,它的提出最初是因為隨著互聯網的迅速發展,IPv4定義的有限地址空間將被耗盡,地址空間的不足必將妨礙互聯網的進一步發展。通俗的說就是,我們的網絡ip地址不夠用了, 我們每臺電腦上internet都需要一個身份證明,就是說的IP地址, ipv4的可使用地址為 2的32次方個地址,而ipv6可使用的ip地址為 2的128次方, 哈哈,媽媽再也不用擔心我們ip地址不夠用啦,當然ipv6的好處遠不止只是地址的增加。還有以下好處:
IPv6的地址分配一開始就遵循聚類(Aggregation)的原則,這使得路由器能在路由表中用一條記錄(Entry)表示一片子網,大大減小了路由器中路由表的長度,提高了路由器轉發數據包的速度。
這使得網絡上的多媒體應用有了長足發展的機會,為服務質量(QoS)控制提供了良好的網絡平臺。
這是對DHCP協議的改進和擴展,使得網絡(尤其是局域網)的管理更加方便和快捷。
在使用IPv6網絡中用戶可以對網絡層的數據進行加密并對IP報文進行校驗,這極大的增強了網絡安全
通過上面的了解,大家肯定明白蘋果為什么要求我們的app要支持ipv6了把,并且態度強硬。 蘋果這是為了以后發展上不受ipv的影響,所以提前快刀斬亂麻。
參考 蘋果官方文檔
最后我們來搭一個IPv6的測試環境吧,你所需要的就是一臺用非Wi-Fi的方式上網的Mac電腦。
我們的要做的其實就是用Mac做一個熱點,然后用iPhone連接這個Wi-Fi,聽起來很容易,我相信大家在公司就是這么干的吧。
區別是這次我們產生的是一個本地的 IPv6 DNS64/NAT64 網絡,這項功能是 OS X 10.11 新加的。和我們以前開啟熱點方式不一樣的地方在于,我們在 系統偏好設置 界面選中 分享 的同時,要按住 Option 鍵。
之后就是按照正常的創建熱點的流程走完就行了。
現在我們用iPhone連接上這個剛創建好的熱點就可以測試了,注意此時要把iPhone設成飛行模式,以保證只用Wi-Fi上網。
選中連接的WiFi,進入無線網絡設置。配置DN為IPV6DNS,8.8.8.8和2001:4860:4860::8888, 點擊存儲即可,詳細步驟:
工具/原料:
iPhone 7
ios 13.6
1、點擊手機桌面設置,進入設置界面。
2、點擊選中連接的WiFi,點擊后面的嘆號,進入無線網絡設置。
3、點擊配置DNS。
4、配置DNS中,選擇“手動”。
5、點擊添加服務器。
6、手機鍵盤英文狀態下,輸入IPV6DNS,比如8.8.8.8和2001:4860:4860::8888,點擊存儲即可。