質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

878閲覧

Root.plistの修正方法に関しまして

退会済みユーザー

退会済みユーザー

総合スコア0

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2018/06/12 08:18

編集2018/06/12 08:20

前提・実現したいこと

初めまして。 当方iOSはあまり馴染みがないため、説明で不十分なところがあるかもしれませんが、目を通して頂ければ幸いです。 現在Swift3でアプリ開発を行っているのですが、iOS標準の設定アプリから現在作成しているアプリの各設定値に対して任意にデフォルト値を変更できるようにしたいと考えています。 例)設定アプリからハンドルネームを入力、アプリ起動時はそのハンドルネームをユーザデフォルトとして保持して、各機能で使用 すでにアプリのバージョン情報やライセンスの表記については実装されており、Xcode上からもSettings.bundleやAcknowledgements.plistなどのファイルは確認できています。 そのため今回はRoot.plistに対し、新規にグループとテキストボックスを配置しビルドを行えばいいのかと考えていたのですが、ビルドすると後述のエラーが発生いたしました。 エラーの発生原因や対応方法など教えていただけると助かります。

発生している問題・エラーメッセージ

Set: Entry, ":PreferenceSpecifiers:2:DefaultValue", Does Not Exist Command /bin/sh failed with exit code 1 Set: Entry, ":PreferenceSpecifiers:2:DefaultValue", Does Not Exist

該当のソースコード

Swift3

<?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>User Info.</string> </dict> <dict> <key>Type</key> <string>PSTextFieldSpecifier</string> <key>Title</key> <string>Handle Name</string> <key>Key</key> <string>idName</string> <key>DefaultValue</key> <string>xxxxx</string> </dict> /*** ここまで新規追加 ***/ <dict> <key>Type</key> <string>PSGroupSpecifier</string> <key>Title</key> <string>Application Info.</string> </dict> <dict> <key>Type</key> <string>PSTitleValueSpecifier</string> <key>Title</key> <string>Version</string> <key>Key</key> <string>idAppVersion</string> <key>DefaultValue</key> <string>1.0</string> </dict> <dict> <key>Type</key> <string>PSTitleValueSpecifier</string> <key>Title</key> <string>Build</string> <key>Key</key> <string>idAppBuild</string> <key>DefaultValue</key> <string>1.0</string> </dict> <dict> <key>Type</key> <string>PSChildPaneSpecifier</string> <key>Title</key> <string>Acknowledgements</string> <key>File</key> <string>Acknowledgements</string> </dict> </array> </dict> </plist>

補足情報(FW/ツールのバージョンなど)

以下、使用しているFWです。
・RealmSwift
・RxSwift
・RxCocoa
・SwiftyJSON
・ObjectMapper
・Alamofire

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

以下で試して見てください

Root.plist

xml

1 2<?xml version="1.0" encoding="UTF-8"?> 3<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 4<plist version="1.0"> 5 <dict> 6 <key>StringsTable</key> 7 <string>Root</string> 8 <key>PreferenceSpecifiers</key> 9 <array> 10 <dict> 11 <key>Type</key> 12 <string>PSTextFieldSpecifier</string> 13 <key>Title</key> 14 <string>Text Field</string> 15 <key>Key</key> 16 <string>textfieldID001</string> 17 </dict> 18 <dict> 19 <key>Type</key> 20 <string>PSGroupSpecifier</string> 21 <key>Title</key> 22 <string>Application Info.</string> 23 </dict> 24 <dict> 25 <key>Type</key> 26 <string>PSTitleValueSpecifier</string> 27 <key>Title</key> 28 <string>Version</string> 29 <key>Key</key> 30 <string>idAppVersion</string> 31 <key>DefaultValue</key> 32 <string>1.0</string> 33 </dict> 34 <dict> 35 <key>Type</key> 36 <string>PSTitleValueSpecifier</string> 37 <key>Title</key> 38 <string>Build</string> 39 <key>Key</key> 40 <string>idAppBuild</string> 41 <key>DefaultValue</key> 42 <string>1.0</string> 43 </dict> 44 <dict> 45 <key>Type</key> 46 <string>PSChildPaneSpecifier</string> 47 <key>Title</key> 48 <string>Acknowledgements</string> 49 <key>File</key> 50 <string>Acknowledgements</string> 51 </dict> 52 </array> 53 </dict> 54</plist> 55

アプリ側

swift

1 2import UIKit 3 4@UIApplicationMain 5class AppDelegate: UIResponder, UIApplicationDelegate { 6 7 var window: UIWindow? 8 9 10 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 11 return true 12 } 13 14 func applicationDidBecomeActive(_ application: UIApplication) { 15 16 let settingsText = UserDefaults.standard.string(forKey: "textfieldID001") 17 //=> settingsText(設定で入力した値) 18 } 19} 20

投稿2018/06/12 12:10

_Kentarou

総合スコア8490

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/06/13 01:29

エラーになることなく無事に実装できました! 既存ソースを見てグループは必須だと思っていたので勘違いしていたのですね。。 アプリ側まで配慮していただき非常に助かりました。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問