Iphone 始终获取Crashlytics在执行git状态、目标c、git时被修改

Iphone 始终获取Crashlytics在执行git状态、目标c、git时被修改,iphone,objective-c,git,Iphone,Objective C,Git,我正在使用Crashlytics框架进行崩溃报告。在从xcode运行项目并执行git status之后,我总是得到如下消息 Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) mod

我正在使用Crashlytics框架进行崩溃报告。在从xcode运行项目并执行
git status
之后,我总是得到如下消息

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   Crashlytics.framework/Versions/A/Crashlytics
    modified:   Crashlytics.framework/Versions/A/Resources/Info.plist
    modified:   Crashlytics.framework/run
但它仍然不起作用。

您有两个选择:

  • 检查项目中的更改,这将停止导致错误的原因
  • 将Crashlytics.framework添加到.gitignore文件中,该文件将忽略对该文件的任何更改

  • Crashlytics Mac应用程序用于自动更新项目中其框架的实例,这导致了最初的混乱。在较新的Fabric应用程序中,更新是手动控制的,因此您不应该在工作副本中看到意外的更改

    如果您希望能够随时返回到应用程序源的确切状态,则应将框架文件添加到版本控制系统中,并在框架每次更新时对其进行更新

    或者,如果您希望避免向版本控制系统中添加可能较大的文件,或者节省提交更改所需的时间,那么可以忽略对框架的更改—以牺牲完整的源历史记录为代价。磁盘空间和网络速度正在上升,而被丢弃的历史将永远丢失。要阅读更多信息,请参阅的答案


    第三个选项具有每个选项的一些优点,即使用单独的存储库来跟踪Crashlytics/Fabric框架的更改,并将其添加为主存储库的子模块。例如,请参见。

    我的.gitignore文件中有Crashlytics.framework和Crashlytics.framework/(您会注意到OP也有后者),我仍然会一直在git状态中显示这些文件已修改。有人找到了解决方案吗?对前面的评论:您将Crashlytics.framework添加到了.gitnore,但只是在它已经提交之后。现在您需要删除它并提交更改,忽略将起作用。建议选择哪一个?来自Crashlytics和Fabric团队的Mike。使用Fabric应用程序,您可以完全控制框架何时更新。只需使用右上角的套件选择器来决定何时更新。谢谢迈克。这是一个很大的进步。我已经更新了我的答案。谢谢道格拉斯!非常感谢:)
    .DS_Store
    #backups
    *.swp
    *~.nib
    *~.xib
    *~
    
    *.zip
    *.gz
    
    build
    *.[oa]
    DerivedData
    VERSION-FILE
    Crashlytics.framework/
    #XCode
    *.pbxuser
    *.mode1
    *.mode1v3
    *.mode2v3
    *.perspective
    *.perspectivev3
    project.xcworkspace/
    xcuserdata/