小编Kev*_*ara的帖子

Git,如何为Storyboards和.xib文件设置.gitattributes

背景:git - 或任何其他SCM - 可以"成功"合并Storyboard,xib和pbxproj文件,因为它们只是xml.有时可以通过通常的冲突解决策略来解决冲突.但是xib和Storyboard是一些非常复杂的数据结构的序列化格式,所以开始有趣.

与其他源代码一样,成功合并并不能保证所有合并的更改一起正常工作.对于有问题的文件,git可以成功合并,但是当您尝试打开它时,Xcode有时会显示"无法读取存档"错误 - 即合并损坏了xib.

我已经看到有关git忽略.xibs(不实用)的建议,或者.gitattributes通过设置禁用diff

*.xib -crlf -diff
Run Code Online (Sandbox Code Playgroud)

从技术上讲,这可以修复合并冲突/损坏的xib问题 - 但现在有人的更改会丢失吗?

同样,我在项目文件中看到的最佳建议是.gitattributes中的merge = union:

*.pbxproj merge=union
Run Code Online (Sandbox Code Playgroud)

问题:我搜索了很多,似乎没有一个好的解决方案.有经验的人能告诉我在一些用例中会发生什么吗?

  1. 在项目中,我将文件从x重命名为y,并删除fileA.同时,另一位程序员提交了更改以添加fileC并删除fileD.合并的结果是什么?我确定实际的文件系统更改是正确的,但在Xcode导航器面板中:

    • 我会看到x和Y吗?
    • fileA会重新出现,因为它还在其他程序员的.pbxproj中吗?
    • fileD仍然存在,因为它仍然在我的.pbxproj中吗?
  2. 如果git忽略.xib文件 - 我是否至少会收到一个警告:文件已更改且未被处理?

git xcode xib ios uistoryboard

8
推荐指数
1
解决办法
1901
查看次数

Bootstrap方法返回null-启动时Android立即崩溃

React Native和react-native-navigation的新手。该应用在iOS上可以正常运行,但是在启动时会很快抛出以下异常:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.engagereact, PID: 8105
    java.lang.BootstrapMethodError: Exception from call site #3 bootstrap method
        at com.reactnativenavigation.react.JsDevReloadHandler.<init>(JsDevReloadHandler.java:29)
        at com.reactnativenavigation.react.ReactGateway.<init>(ReactGateway.java:29)
        at com.engagereact.MainApplication.createReactGateway(MainApplication.java:29)
        at com.reactnativenavigation.NavigationApplication.onCreate(NavigationApplication.java:28)
        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1154)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5871)
        at android.app.ActivityThread.access$1100(ActivityThread.java:199)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6669)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
     Caused by: java.lang.ClassCastException: Bootstrap method returned null
        at com.reactnativenavigation.react.JsDevReloadHandler.<init>(JsDevReloadHandler.java:29) 
        at com.reactnativenavigation.react.ReactGateway.<init>(ReactGateway.java:29) 
        at com.engagereact.MainApplication.createReactGateway(MainApplication.java:29) 
        at com.reactnativenavigation.NavigationApplication.onCreate(NavigationApplication.java:28) 
        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1154) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5871) 
        at android.app.ActivityThread.access$1100(ActivityThread.java:199) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:193) 
        at android.app.ActivityThread.main(ActivityThread.java:6669) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at …
Run Code Online (Sandbox Code Playgroud)

android react-native react-native-navigation

2
推荐指数
1
解决办法
1189
查看次数