2017-06-05 154 views
0

嘗試使用http移植基於一堆節點模塊的應用程序。React Native的http'polyfill

有沒有解決方案,除了重寫庫fetch

+0

什麼是'http'? –

+0

@ChaseDeAnda用於http請求的標準節點庫 – RadiantHex

+1

如果您確切知道正在使用http模塊的哪些功能,那麼您可以探索製作一個使用抓取引擎的http polyfill來查看您是否正在使用可以抓取的東西,不要做,或者如果某些組合的提取和/或XMLHttpRequest可以作爲你使用http模塊包裝器完成的所有事情的底層引擎。 – jfriend00

回答

0

http只是iOS 9+上的一個問題。你可以只允許http這樣的 - React Native fetch() Network Request Failed

這裏是它在文檔中被提及 - http://facebook.github.io/react-native/releases/0.44/docs/running-on-device.html#app-transport-security

轉到您的Info.plist文件中的位置:/Users/Noitidart/Documents/YOUR_PROJECT_NAME/ios/YOUR_PROJ_NAME/Info.plist

然後找到NSExceptionDomains。你會看到localhost已經在那裏。您可以在此處添加其他域。這是什麼樣子,讓冰爲http:

<key>NSAppTransportSecurity</key> 
<!--See http://ste.vn/2015/06/10/configuring-app-transport-security-ios-9-osx-10-11/ --> 
<dict> 
    <key>NSExceptionDomains</key> 
    <dict> 
     <key>localhost</key> 
     <dict> 
      <key>NSExceptionAllowsInsecureHTTPLoads</key> 
      <true/> 
     </dict> 
     <key>bing.com</key> 
     <dict> 
      <key>NSExceptionAllowsInsecureHTTPLoads</key> 
      <true/> 
     </dict> 
    </dict> 
</dict> 

您可以允許所有的HTTP設置:

<key>NSAllowsArbitraryLoads</key> 
<true/> 

每 - https://stackoverflow.com/a/38427829/1828637

在Android上,http是沒有問題的。