2017-11-10 64 views
1

我正在構建一個應該可以在Android模擬器和iOS模擬器中工作的反應原生應用程序。我一直在我的Windows機器上進行開發,我會使用命令提示符react-native run-android在Android模擬器中查看我的更改。有一段時間,我會去我的Mac mini,做一個git pull origin master,然後運行react-native run-ios來查看我在iOS模擬器中的更改。react-native無法將最新版本的ios代碼推送到模擬器

一切都一直工作得很好,直到前幾天。現在,當我在我的Mac mini,會發生以下情況:

  • 如果我從終端運行react-native run-android,我看到在Android模擬器,這是完美
  • 如果我的最新反應母語的變化我從我的終端運行react-native run-ios,我看到了ios模擬器反應原生變化的早/舊版本。這不是我想要的。我希望我的ios模擬器按照開發人員的期望展示我的最新變化。我嘗試在我的react-native項目中輸入垃圾,語法錯誤,刪除文件以查看編譯器是否會尊重這些錯誤並失敗,但事實並非如此。 react-native run-ios命令忽略了我明顯打破的項目,並繼續構建我的react-native項目的早期版本,並將其放入ios模擬器中。我嘗試刪除該項目,並做一個新的新的Git拉,但仍然發生相同的問題,模擬器顯示我的項目相同的早期版本。

爲什麼我的react-native run-ios命令不會構建我的react-native代碼的最新版本並將其放入ios模擬器中?

回答

0

好吧,我找到了一個解決方法。

我用react-native init <sameprojectnameasmybrokenproject>開始了一個全新的反應原生項目。然後我將我所有的反應組件和項目文件(我創建的那些文件,而不是反應的東西創建了鍋爐模板)以及我的破損項目中的package.json文件複製到我的新項目中。然後我跑了react-native run-ios以確保這個新項目正常工作。


編輯

我也複製了我的新項目這四個文件到我破碎的項目,它得到了破碎的項目再次顯示最新版本的版本。

  • IOS/nutriag.xcodeproj/project.pbxproj
  • IOS/nutriag.xcodeproj/xcshareddata/xcschema/nutriag.xcscheme
  • IOS/nutriag/AppDelegate.m
  • IOS/nutriag /信息。 plist

因此,有關這四個文件的信息在我破碎的項目中被破壞了。