分类目录归档:ios

XCode11中使用StoryBoard创建Scroll View无需任何代码

在XCode11中,跟”XCode8中使用StoryBoard创建Scroll View”有所区别。
虽然,也可以手动编辑 Main.stroyboard, 删除 Safe Area之后,采用跟XCode8一样的方法。

在 XCode11, Object Library默认隐藏, 可以用 Command + Shift + L 快捷键打开
或者 View / ShowLibrary打开

  1. 创建 Scroll View, 并添加约束
  2. 添加View到Scroll View 上
  3. 在树形图中,选中View, 按住Ctrl键盘, 拖向 Content Layout Guide

  4. 在弹出的约束菜单里,按住Shift, 同时选中leading / top / trailing / bottom 4个约束

  5. 选中View, 拖向 Frame Layout Guide, 在弹出的菜单里,选择Equal Width

  6. 为ContentView 设置高度
  7. 为Scroll View和Content View 检查约束常量  Constant 是否为0, Multiplier是否为1

XCode8中使用StoryBoard创建Scroll View

  1. XCode创建一个 Single View Application
  2. 在左侧的Project navigator中选中 Main.storyboard, 中间会出现 View Controller Scene的树型列表, 选中 View
  3. 在右下侧的 object libary 筛选出 Scroll View, 拖到预览图中的View上面, 或者 拖到 树型图的 View 下面。
  4. 在树形图中选中 Scroll View, 为其添加约束(Add New Constraints)
  5. 上下左右,都为0, 共4个

  6. 然后在 Object Libaray中筛选uiview,  将View拖到预览图的ScrollView之上(也就是树形图的ScrollView之下)
  7. 树形图中选中 新建立的View, 右侧选 Identity inspector, 在Document里为新View设置Label ,名为 ContentView.
  8. (这一步可以不要)

  9. 然后为新的ContentView,添加约束
  10. 在树形图中选中ContentView,  按住Ctrl键, 拖向  Scroll View. 同时松开鼠标左键和键盘Ctrl键, 出现菜单,选 Equal Widths
  11. 所有的Constraints 如下图
  12. 再在ContentView上添加的东西,就可以滚动了

从ipsw中提取iPhone的动态连接库

  • 下载 ipsw
  • ipsw iphone XR 有完整iPhone XR软件恢复包的下载地址
    选择下载了 http://updates-http.cdn-apple.com/2018FallFCS/fullrestores/041-19415/F69DC39C-DEBF-11E8-BA95-89533F25C8D2/iPhone11,8_12.1_16B94_Restore.ipsw

    iOS 12.1版本

  • 从dmg中提取文件
  •  
    unzip iPhone11,8_12.1_16B94_Restore.ipsw
    dmg2img  048-32857-105.dmg system.img
    mount -t hfsplus system.img /mnt  (mount -o loop -t hfsplus system.img /mnt)
    

    如果没有dmg2img,需要先安装

    apt install dmg2img
    

    用 P7ZIP 也可提取

  • 提取 动态链接库
  • /System/Library/Caches/com.apple.dyld/dyld_shared_cache_arm64e

    https://github.com/macmade/dyld_cache_extract

    参考资料:
    https://iphonedevwiki.net/index.php/Dyld_shared_cache

    https://github.com/malus-security/iExtractor
    https://github.com/malus-security/iExtractor/tree/master/tools/dyld

    对于 iOS 10之后的img, 用的是APFS