[SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad] [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
iPhone, iPod touch用アプリケーションの開発を始めたばかりの初心者向け質問スレ。
■質問する前に■
1. 質問は日本語もしくはObjective-C/Swiftで
質問に質問で返されても逆切れしない。それは質問の仕方が悪いってことだってばよ。
2. どういう内容であれレスをもらったら報告とお礼の言葉を忘れずに。
回答者は自分の時間を使って親切で回答してくれています。
3. 回答者は自分も初心者であった事を忘れずに。
4. マルチポスト(複数のスレに同じ質問を書込むこと)は厳禁!
5. 質問は可能な限り具体的に。
ただ「エラーが出ます」ではエスパーかスタンド使いでなければ答えられません。
エラー内容をちゃんと書きましょう。
6. わからない部分のコードをコピペすると手っ取り早いです。
7. このスレは無料プログラミング教室ではありません。
「○○の仕方を教えてください」という質問はなるべく避けてください。
「自分で調べたけどわからなかった事」を質問するというスタンスを忘れずに。
8. バグを安易にOSや開発環境のせいにしない。
自分の知識の無さを棚に上げて人のせいにするなんて百年早い。
9. 質問する前にもう一度よく考えてから質問しよう。 iPad向けに特化ということなら今はPro向けの高付加価値コンテンツぐらいしか見向きもされない
そういうのはもう体力のある大手に占められている
ユニバーサルということならやはり相当のクオリティと安定性がないと見向きもされない
そういうのはもう体力のある大手に占められている >>96
レスありがとう。
mainTextView.contentSize.height
これが、テキスト読み込んだとき、一番下へボタン押した時、途中まで移動した時、で値が違うこと発見した。
text property に値入れても、テキストが長いとcontentSize がきちんと計算されて確定してない気がする。
シミュレータのバグなのか、仕様のような気もする。
textview のクラスリファレンスにもちゃんと書いてない。
原因はよくわからないので、nsrange 使うメソッドで一番下へ移動させることにします。 iBooks のswift プログラミングガイド。
これgoodreaderに移せないんだね。
pdf版はなくなったのかな? object-cのUITextviewについて質問です。
画面長押しによるテキスト選択の変化を検知するdelegateメソッドとして,
- (void)textViewDidChangeSelection:(MyUitextView *)textView;
がありますが、テキスト選択の終了を検知するにはどのようにすればいいでしょうか。
目的は、テキスト選択終了後に独自デザインのメニューを実装することです。
UIMenuControllerのデフォルトメニューはcanPerformActionのオーバーライドで非表示にしています。 >>104
UITextViewのタップで選択の終了をする事にすれば、UITextViewのselectedRangeプロパティーに選択したテキストが入ってる。
違ってたらすまそ。 >>104
>textViewDidChangeSelection
がまさに、選択終了時に呼ばれるのでは? メールについて質問です
var bar = "111111\n22222";
bar = bar.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.alphanumericCharacterSet());
NSURL(string: "googlegmail:///co?to=\(hoge)&subject=\(foo)&body=\(bar)");
GmailのURLスキームなのですが、改行が認識されない状態となっています
改行部分を%0Dでも%0Aでも有効になりません
Gmail自体がこういう仕様なのでしようか?
ご存知の方がいましたらよろしくお願いします >>108
>\を\に変えてみれば!
同じ文字に見えますw >>109
Yen markをbackslashに変えてみれば!
おかしいなぁ、BathyScapheだとどちらもYen mark(¥)が表示される。
投稿用エディタ内@BathyScapheではbackslashが表示されるんだが! >>110
1111と2222の間に書いてあるのは円マークnではなく
バックシュラッシュnとなっています
標準のメールアプリでは改行は反映されています メールそのものは改行は\r\nと決められてるけどそれとは別の話? GmailのデフォルトのContent-Typeが違うとか? ちょっとGMail入れて試したけど、、、 <br> で改行されるね
試しただけなんで詳しくは調べてないが 【質問】
非エンジニアの全くの素人です。
できるのはCSSとHTMLのみです。
Xcodeつかってチャットアプリを開発したいと考えています。
チャットアプリは、
掲示板と掲示板からの個人チャットができるようにしたいです。
イメージとしては出会い系の掲示板に近いです。
こういった掲示板を制作する場合どうやれば良いのかが全く解りません。
http://qiita.com/ryotakodaira/items/b234d1d51ae6b1110e8b
こういったモノを使えば創れそうな気がしているのですが、
この場合object-cとサーバー側は何の言語を勉強すれば良いのでしょうか? サーバー側はなんでもいいよ、自分が慣れてるやつで
それの選定もこれから始めるなら、、、、
やっぱなんでもいいよ、本屋にでも行って一通り眺めてみ 返信ありがとうございます。
Wordpressは使えるのでphpは少し解るんですか、サーバー側いじるとなるの完全に初心者なので、
どの言語が候補になってそれぞれのメリットデメリットも解らないんですよね。
rubyでもバックエンド側がいじれるならtubyがいいかなーって考えています。 >>116
言語よりもまずWebアプリの仕組みとか作り方のの基礎を勉強したほうがいいよ
自分が作りたいものをどういうアーキテクチャで作るのがいいのか判断できないうちはまともなものは作れないから
チャットって一口に言ってもいろんな実現方法がある Firebase使いなよ! 使ってる人、もういる? >>119,120
ありがとうございます!これ参考になりそうです!!
>>121
そうですね、確かにウェブアプリの知識内ので勉強しますね
これは書籍とか購入して勉強した方が良いですかね?
>>122
実際創る時はFirebaseを元に創ろうと考えています、ググれば情報が落ちているので
ボクにはゼロから始めるより良さそうです! そういう考えならサーバー側はFirebaseのみで
クライアントアプリだけ作ればいいよ >>124
アドバイスありがとうございます。
なるほど、Firebaseをベースにして創るなら学ぶのはobject-cだけで大丈夫ですかね? なんでFirebase使う人すぐチャット作りたがるん? >>125
Apple Script と AppleScriptobjc も必須。 質問させてください。(Swift)
CoreDataの.sqliteファイルを上書きしても、一度アプリを再起動しないとデータが反映されません。
再起動せずにデータを反映させるにはどうすれば良いのでしょうか? RxSwiftのことで質問さてください。
textField.rx.text.orEmpty.changed.subscribe(onNext: { print($0) }).addDisposableTo(disposeBag)
このコードなのですが、テキストフィールドにフォーカスが当たった時や、フォーカスが外れたときもonNextが呼ばれてしまい困っています。
テキストが変更されたときのみonNextが呼ばれるようにするにはどうすれば良いのでしょうか?
よろしくお願い致します。 >>126
かしこまりました、ありがとうございます。
>>127
チュートリアルもある!ありがとうございます!!
>>128
チャットを創るためにFirebaseに行き着きました。
>>129
Apple scriptも必要なんですね、ありがとうございます。 >>131
scanして前後の値を受け取るかcontrolEventを使うか distinctUntilChangedみたいのが実装されてたらそれ使えばいい >>134
scanを使う場合はこんな感じでしょうか?
textField.rx.text.orEmpty.changed.scan(("", ""), accumulator: { ($0.1, $1) }).filter { $0.0 != $0.1 }.subscribe(onNext: { print($0) }).addDisposableTo(disposeBag)
controlEventを使ってみたのですがonNextに渡ってくる引数がVoidになってしまいうまくいきませんでした(やり方が悪い?)
textField.rx.controlEvent([.editingChanged]).subscribe(onNext: { print($0) }).addDisposableTo(disposeBag)
>>135
distinctUntilChangedを使ったらフォーカスが外れた時などにonNextが呼ばれなくなりました!ありがとうございます!
textField.rx.text.orEmpty.distinctUntilChanged().subscribe(onNext: { print($0) }).addDisposableTo(disposeBag) scanはちょっと面倒くさかったね
controlEventはそのEventが発生したってことしか教えてくれないからonNextの中で自分でテキストを見に行く必要がある
(循環参照の対応が必要かも) >>137
なるほど!自分で見に行く必要があるんですね!
ありがとうございます! xcodeにでswiftでmBaaSを使いたいのですが
no such ncmb
とエラーが出てしまいます。
原因がまったく分からないのですが何か初心者が間違えやすいポイントとかありますか?
framework形式、cocoapod形式両方やったのですがそれもまたエラーの原因になりえますか? >>139
エラーメッセージでまずググろうね
そのFrameworkを置いた場所をBuild Settingの
Framework Search Pathに追加してあげるといいと思うけど
その前に置き場所を間違えてないか確認したほうがいいかもね ありがとうございます。
いただいたURLを参考に
NSFetchedResultsController.deleteCacheWithName
_fetchedResultsController!.performFetch(&error)
と処理することで再起動なしに反映することができていました。
ただ、環境によっては
CoreData: error: (6922) I/O error for database at /var/mobile/Containers/Data/Application/F33FD3D8-328C-482A-A47E-177515FB6CD3/Documents/iCloudTest.sqlite. SQLite error code:6922, 'disk I/O error'
CoreData: error: -executeRequest: encountered exception = I/O error for database at /var/mobile/Containers/Data/Application/F33FD3D8-328C-482A-A47E-177515FB6CD3/Documents/iCloudTest.sqlite. SQLite error code:6922, 'disk I/O error' with userInfo = {
NSFilePath = "/var/mobile/Containers/Data/Application/F33FD3D8-328C-482A-A47E-177515FB6CD3/Documents/iCloudTest.sqlite";
NSSQLiteErrorDomain = 6922;
}
とエラー(iPhone6Plus)を吐き出したり、
エラーは出ませんが、データが反映されないデバイス(iPad2)もありました。
上記のことから、アラート等で利用者に再起動を促す方向を検討しているのですが、
リジェクト対象にはならないのでしょうか? リジェクトされるかどうかはわからないけどそのエラーはちょっと危なそうだよ
Core Dataに新しく追加されたエラーだってさ
SQLite now uses dispatch sources to track illegal file operations
API calls after illegal operations will return SQLITE_IOERR_VNODE
SQLite error code:6922 => (SQLITE_IOERR_VNODE 27, SQLITE_IOERR 10)
https://www.sqlite.org/rescode.html#ioerr >>139です
自分なりにググってはみたのですが解決策が見出せない状況です。
後出しで申し訳ないのですが、
file:///Users/?/Documents/?/NCMB.2.1.0.zip: warning: Missing file: /Users/?/Documents/?/NCMB.2.1.0.zip is missing from working copy
このエラーログも出ていましたので、心当たりとしては当初zipファイルのままで設定していたのを後で気づき解凍したNCMBフォルダに設定し直したのですがこのエラーログが消えません。
一通り見直しても解凍したNCMBフォルダに各種設定のパスはなっていますので当初の誤ったパス設定のせいでどこか不都合が起きてるのかと思うのですが見当がつきません。
ちなみにgitなどは使っていません。 >>143
いろいろあれだからプロジェクト一から作りなおしたら?
SDK、Pod、Carthageはそれぞれ別プロジェクトにして試してね
ちなみにworking copyはソース管理の用語だからgitかなにか使ってると思うんだけどね
XcodeのSource Controlメニュー見てCommitとかがグレーアウトされてなければソース管理使ってる >>144
commitなどはグレーアウトされていなかったです。
gitのアカウント設定などしていないのですがデフォルトでソース管理されているんですかね?
おっしゃる通りプロジェクト1から作り直した方が早そうなのでやってみます! プロジェクトの保存先を選ぶ時に”Options”って中に
Gitのリポジトリを作るかどうかの設定があってデフォルトはオンだったかもね こちらのページを参考に1からプロジェクトを作りなおし、NCMBフォルダも新しいプロジェクトにコピーしてやってみたのですがimport NCMBの部分のno such NCMBのエラー文が相変わらず出てきますのでworking copyのエラー文は特に関係なかったみたいです
http://qiita.com/natsumo/items/26b64121121ea2029f8d >>142
ありがとうございます。
試行錯誤の結果、
(NSData).writeToFile(path: String, atomically: Bool)
のatomicallyをfalseにすることで解決しました。
同じような方のために残しておきます。 >>116
udemy で動画買えば?
1800円とかで、基礎からfirebase使って
チャット作るとかごまんとあるでしょ
映画だけど
間違っても日本語の初心者向けは
買っちゃいけないと思う
おまじないなんできにしないで、今はこれで
でそのままコース終わるから https://github.com/NIFTYCloud-mbaas/ncmb_ios/
こちらのサンプルコードを試してみてもno such module ncmbとなってしまうのですが、解決策はありますでしょうか?
xcode8でやっています。 >>151
だめもとでエラー無視してビルド実行したらエラーが消えました
バグなんですかね。 質問です。
SFSafariViewControllerの左上の完了ボタンは消す事はできないのですか? 前にSFSafariViewControllerについて質問してた人と別人かもしれないけど
単に特定のWebページを表示するだけのアプリはリジェクト対象だからね
https://developer.apple.com/app-store/review/guidelines/#minimum-functionality >>155
そうなんですかm(_ _)m
ネットショップのアプリでプッシュ通知とwebviewにてスマホサイト表示だけのアプリなんですがリジェクト対象って事になりそうですね。
なにか回避策があるか探してみます。 .
.
.
.
.ダース・ベ◯ダーがスマホにかじりついていたら間抜けかな。
.
.
.
. >>149
遅レスで申し訳ないです。
ありがとうございます、英語はで問題ないのでudemyの購入も検討します! swiftを使ってandroidアプリを作れる時代は来ますか? iPhone買ってきたぞ!おすすめアプリ教えろ!使い方わかんね!買ったけどクソだろ!
これ変換してみろ!脱獄の仕方教えろ!脱獄自慢するぞ!ホーム画面晒せ!ケース何使ってる?
……もう、いいかげんにしろよマジで。
iPhone買って嬉しいのはわかるけど、その度にいちいちスレ立てやがってiPhonerの品位に関わるだろ。
そんなんだから、今や持ってる事自体が恥ずかしい情弱専用機なんてレッテル貼られんだよ。
俺自身3Gの頃から溺愛していた生粋のiPhonerとして、本当にガッカリしてる。
頼むからiPhonerは節度と慎みのある対応をして、
「あ、iPhonerは紳士的なんだな」「カッコいい!」
「iPhoneを持つという事は、立派なことなんだな……」
って思われるようにして行こうぜ……?
みんなで、変えて行こうぜ……? 生粋ではないが、やはりiPhoneはバカに優しい、白痴仕様と思う。それでもわからんとか言う奴は、そもそも文明機械に触ってはいけない。 何年も前のコピペが使えるとはよくできたコピペやのう 周辺機器作りたくて調べたら
イヤホンジャックがお手軽だと出てきたが、
イヤホンジャック廃止になったんだよな・・・。
次にお手軽なのがBLE。
でもあれ10バイトずつしか送受信できないんだよな。
周辺機器作るのにお手軽な通信ってもうBLEしかない? >>166
BLEが現実解。最適解ではないけれど。 質問させてください。Swift
iCloud Documentsにアップロードしたファイルが、iCloudを一度サインアウトしてログインし直すと、
ファイルの一覧が取得できません。
(設定→iCloud→ストレージを管理→書類およびデータには一覧が表示されています)
原因がお分かりになる方はおられませんでしょうか >>167
サンクス。
BLEでLチカだけならやったことあるから、
BLEで進めてみるわ。 Twitter、インスタグラム、swarmなどのタイムラインを一括で表示出来ますか?
例えばそれぞれのSNSのある特定ユーザーを紐付けて、一つのタイムラインで表示したりとか。 macを買い替えた場合、秘密鍵は新しく作るか古いマシンからエクスポートするのかどちらが正しいんでしょうか?
マシンの買い替えなので追加ではないです。 秘密鍵変えたら証明書やプロビジョニングファイルも作り変えなきゃいけないんじゃなかったっけ? やべえ、よくよく考えたら鍵のバックアップとかとったことないぞ。
MacのHDDクラッシュしたら終わりだ。
これどうやってバックアップとるの? ~/Library/KeychainsがTimeMachineとか使ってればバックアップされてるんじゃね
個別に書き出しといてもいいかもだけど >>178
大丈夫だ、お前のマックにゃHDDはない!キリッ どなたかわかる方がいらっしゃったらご教授願います。
swiftを使用しアプリの開発を行っております。
realmを使い、端末内にデータを保存しておりますが、機能追加などによりクラスに定義する変数を追加する場合を想定しております。
しかし、それまでに保存されたデータにはそのような変数がないため、参照しようとするとクラッシュしてしまいます。
ですので、変数そのものが存在するかどうか判定する、若しくはrealmのデータに一斉に変数を定義し代入する等の方法がないか調べているのですが中々見つかりません。
どなたかご存知ではないでしょうか。
よろしくお願いします >>181
Objectクラスのインスタンスobjectにどんなプロパティー、メソッドが存在するか?は、
Mirrorのインスタンスmirrorから得られるよ!
let object = Object()
let mirror = Mirror(reflecting: object) >>182
なるほど、ありがとうございます。
参考にさせていただきます。
また何かつまづいた時にはぜひよろしくお願いいたします。 >>181
respondsToSelector ? universallinksで詰まってる
SWIFTで単一ページのアプリを作っているんだけど
ボタン押してuniversallinksで指定してある外部アプリのURLをUIApplication.shared.openで開こうとすると
必ず確認ダイアログが出る。なぜだろう?
逆に自分のアプリを外部のWEBページから開こうとして確認ダイアログがでる・・・
テスト環境だから? これは本当なの?
普通にショックだね・・
https://goo.gl/qP1Azu httpsですねー。
サーバーの問題だとしたら、
nginxでリバースプロキシ欠けた後ろに実際のサーバーぶら下げてるからか・・・
それにしてもわからん >>179-180
サンクス。
中で何かかすかに回転してる音がするから、たぶんHDDだと思う。
タイムマシン使ってないからよく分からない。
個別に書き出すのなら何とかなりそう。
キーチェーンアクセスで対象ファイルを右クリックして書き出すを選べばいいんだよね? 質問させてください。
今、本を読みながら写経というか掲載されているのを打ち込みながら勉強しているのですが、
if let soundUrl = NSBundle.mainBundle().URLForResource(“hogehoge”,withExtension: "mp3") {
という部分でエラーが出て
‘NSBundle’ has been renamed to ‘Bundle’
という表示が出ます。何度も読み返して打ち間違いとか調べましたが本の通りで間違いありません。
どうすれば解決できるでしょうか?
よろしくお願いいたします。 >>190
>‘NSBundle’ has been renamed to ‘Bundle’
そのまんまやん
メクラか? renamedとは
renameの過去形、または過去分詞。(…を)新たに命名する、 (…に)つけ替える バージョンが上がってそのままじゃ通らなくなったソースの書籍は
使えなくなるというより移植の練習台になる みなさん、これのエラーは分かりますか?
@IBAction func buttonTapped(_ sender : AnyObject) {
if ( audioPlayer.isPlaying ){
audioPlayer.stop()
button.setTitle("Stop", for: UIControlState())
}
else{
audioPlayer.play()
button.setTitle("Play", for: UIControlState())
}
エラーは use of unresolved identifier 'button' です。
ストップとプレイのところ2箇所にエラー出てます。
先ほどのNSBundleは無事解決しました。ありがとうございました。
新たに今度はネットブログ記事のソースを参考に写経しているのですが
エラーになってしまいます。ぐぐってみたところ、宣言がされていないので無効であるとのことですが、
どうのように宣言を書けば良いのか分かりません。
よろしくお願いいたします。
多分 var なんとかですよね? >>195
var button: UIButton! = UIButton()
を追加!
しかし、すげーヤツ現るって感じ。 みなさんありがとうございます!
197さんのアドバイスをそのままコピペしたところ
ソフトの方でvar じゃなくてletにしろ!と指示があり
そのように変更したら無事エラーが消えました!
やった!と思って早速シュミレータで確認したらボタンが表示さてない…
で、ボタンを消してやり直したりしてるうちに他にもエラーが出たりして意味不明な状態に…
自分が写経していたブログはこちらですが
ttps://i-app-tec.com/ios/avaudioplayer.html
どうにもこうにもわからないので一度みなさん原本見ていただけませんか? ブログ見るほど暇じゃない
いいかげん、>>1 を読め
> 7. このスレは無料プログラミング教室ではありません。
これからもたくさん壁に突き当たるだろうが、この先、ずっとそんな感じで人に聞くつもりか
自分で解決できないのならアプリ開発は諦めろ >>198
ブログ見て見ました。
めちゃくちゃ、親切なblogっすね。
書いてある通りだと思うけど。
これからも、どんな壁にぶち当たってるか、都度報告してね。 ■ このスレッドは過去ログ倉庫に格納されています