美文网首页
使用Realm数据库遇到的一些坑

使用Realm数据库遇到的一些坑

作者: 想不到的世界 | 来源:发表于2018-05-29 16:35 被阅读404次

    最近一个项目用swift开发的,需要用到数据库,查了一下,看到realm评价很高,就想试试,没想到各种踩坑,下面将这些坑记录下来,希望对大家有帮助。

    1.集成realm后,第一次编译可以通过,但运行的时候,报下面这个错误:

    解决方法:TARGETS -> Build Phases 点击坐上角+,add copy Files Phase,然后将你引入的framework添加进去,就可以运行通过了。

    2.在打包上架的时候,进行到最后一步,会出现下面一系列错误:

    解决办法 :TARGETS -> Build Phases ->点击加号选择 New Run Script Phase ,然后粘贴下面的代码,就可以了

    APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"

    # This script loops through the frameworks embedded in the application and

    # removes unused architectures.

    find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK

    do

    FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)

    FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"

    echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"

    EXTRACTED_ARCHS=()

    for ARCH in $ARCHS

    do

    echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"

    lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"

    EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")

    done

    echo "Merging extracted architectures: ${ARCHS}"

    lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"

    rm "${EXTRACTED_ARCHS[@]}"

    echo "Replacing original executable with thinned version"

    rm "$FRAMEWORK_EXECUTABLE_PATH"

    mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"

    done

    3.如果未加入上一步的操作,在打包测试的时候,会遇到下面的错误

    我当时在TARGETS->Build Settings中将Enable Bitcode改为No就可以了,后面加入第二个错误的解决代码,发现改回YES,也可以正常运行通过,并且打包成功。

    Realm数据库是很好用,比我以前自己写sql语句方便多了,但是坑也不少,一不小心就踩坑了,需要学习的地方还有很多。

    相关文章

      网友评论

          本文标题:使用Realm数据库遇到的一些坑

          本文链接:https://www.haomeiwen.com/subject/ltlajftx.html