zoukankan      html  css  js  c++  java
  • 【ios】Settings 设置项

    成果展示

    1、创建Setttings.Bundle

    2、修改Root.plist

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    	<key>PreferenceSpecifiers</key>
    	<array>
    		<dict>
    			<key>DefaultValue</key>
    			<string>1.0</string>
    			<key>Key</key>
    			<string>app_version</string>
    			<key>Title</key>
    			<string>版本</string>
    			<key>Type</key>
    			<string>PSTitleValueSpecifier</string>
    		</dict>
    		<dict>
    			<key>Title</key>
    			<string></string>
    			<key>Type</key>
    			<string>PSGroupSpecifier</string>
    		</dict>
    		<dict>
    			<key>File</key>
    			<string>UserProtocol</string>
    			<key>Key</key>
    			<string></string>
    			<key>Title</key>
    			<string>用户协议</string>
    			<key>Type</key>
    			<string>PSChildPaneSpecifier</string>
    		</dict>
    		<dict>
    			<key>File</key>
    			<string>PravacyProtocol</string>
    			<key>Key</key>
    			<string></string>
    			<key>Title</key>
    			<string>隐私协议</string>
    			<key>Type</key>
    			<string>PSChildPaneSpecifier</string>
    		</dict>
    	</array>
    	<key>StringsTable</key>
    	<string>Root</string>
    </dict>
    </plist>
    

      

    3、创建Root.plist中的两个子面板中,file对应的plist文件:

    UserProtocol.plist

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    	<key>New item</key>
    	<string></string>
    	<key>StringsTable</key>
    	<string>Root</string>
    	<key>PreferenceSpecifiers</key>
    	<array>
            <dict>
                <key>Type</key>
                <string>PSGroupSpecifier</string>
                <key>Title</key>
                <string>用户啊用户</string>
            </dict>
    	</array>
    </dict>
    </plist>
    

      

    PravacyProtocol.plist

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>StringsTable</key>
        <string>Root</string>
        <key>PreferenceSpecifiers</key>
        <array>
            <dict>
                <key>Type</key>
                <string>PSGroupSpecifier</string>
                <key>Title</key>
                <string>隐私啊隐私</string>
            </dict>
        </array>
    </dict>
    </plist>
    

      

    4、保证Root.plist   UserProtocol.plist   PravacyProtocol.plist 都在Settings.Bundle包中

     

     

    5、脚本读取版本号

    Build Phase,“+”icon

     

    6、添加脚本

    version=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" $SRCROOT/SLLiveChild/Info.plist`
    /usr/libexec/PlistBuddy "$SRCROOT/SLLiveChild/Settings.bundle/Root.plist" -c "set PreferenceSpecifiers:0:DefaultValue $version"
    

      注释:

    PreferenceSpecifiers:0:DefaultValue的意思是在PreferenceSpecifiers这个array下的第0个item的DefaultValue


    最后
    参考:

    http://blog.rocketmade.com/post/60213039759/how-to-automatically-add-version-and-build-number

    http://stackoverflow.com/questions/6851660/version-vs-build-in-xcode
  • 相关阅读:
    java两个栈实现一个队列&&两个队列实现一个栈
    Java HashSet和ArrayList的查找Contains()时间复杂度
    Java KMP算法代码
    利用集合求取字符串里每个字符的个数
    快速失败and安全失败
    Java 巴什博弈(取石子报数问题)
    [知识点][施工中] 1.1 部分IDE介绍
    [知识点] 4.4 动态规划进阶模型——树形/DAG/数位DP
    [知识点] 4.3 动态规划基础模型——区间DP/LIS/LCS
    [课堂小笔记] 数字电子技术
  • 原文地址:https://www.cnblogs.com/kaysun/p/5481079.html
Copyright © 2011-2022 走看看