[SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad] [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
iPhone, iPod touch用アプリケーションの開発を始めたばかりの初心者向け質問スレ。
■質問する前に■
1. 質問は日本語もしくはObjective-C/Swiftで
質問に質問で返されても逆切れしない。それは質問の仕方が悪いってことだってばよ。
2. どういう内容であれレスをもらったら報告とお礼の言葉を忘れずに。
回答者は自分の時間を使って親切で回答してくれています。
3. 回答者は自分も初心者であった事を忘れずに。
4. マルチポスト(複数のスレに同じ質問を書込むこと)は厳禁!
5. 質問は可能な限り具体的に。
ただ「エラーが出ます」ではエスパーかスタンド使いでなければ答えられません。
エラー内容をちゃんと書きましょう。
6. わからない部分のコードをコピペすると手っ取り早いです。
7. このスレは無料プログラミング教室ではありません。
「○○の仕方を教えてください」という質問はなるべく避けてください。
「自分で調べたけどわからなかった事」を質問するというスタンスを忘れずに。
8. バグを安易にOSや開発環境のせいにしない。
自分の知識の無さを棚に上げて人のせいにするなんて百年早い。
9. 質問する前にもう一度よく考えてから質問しよう。 いい加減スレタイを
iOSアプリ開発初心者質問箱48
にしないか? 前スレ>>987
ありがとうございます。
見てみます。 iOSアプリ開発者に最高の仕事が紹介される
http://www.city.osaka.lg.jp/kyoiku/page/0000386948.html
仕事なんか今すぐやめて、この仕事に応募しよう!
経営者ならこの事業に全財産を注ぎ込もう!
くだらないガチャや広告で金稼ぐより、本当にやりたいことをやれよ。 iosをtcpサーバーにしたくてswift3で書いてるんですが
どうもうまくいきません。
クライアント側はちゃんと機能しています。
検索しても参考になるやつが出てこなくて困っています。
厚かましいんですが、ほんと簡単なやつでいいんで誰か例みたいな感じで書いてくれませんか? こんにちは
サウンド出力について質問があります
Bluetoothでスピーカーに接続すると
コントロールセンターで本体スピーカーまたはBluetooth接続スピーカーと
いずれかの出力先を選択可能ですが
iPodはBluetoothのまま、アプリは本体スピーカーから…
上記のようなアプリは開発可能なのでしょうか?
よろしくお願いします >>5
tcpサーバーって何?
何番をListenするの?
githubでswift http serverで検索してヒットするやつじゃ?だめかい? ストアに公開しないで自分用に作ることは可能ですか? >>7
回答ありがとうございます。
テストアプリでandroidとiosのスマホ端末のみでつながれる簡単なチャットアプリを作ろうとしてました。
なんだかんだ2日くらいいじってたら出来るようになりました。
ios端末のtcpサーバー化の情報は見つけられなかったのですが、ネット上のswiftで書いたtcpクライアント側の情報をヒントになんとかtcpサーバーに置き換えて書きました。 横画面で使うアプリってホームボタンが右にくるように作ったほうがいいですよね? >>6
Bluetooth接続時に
音楽はそのままBTで接続されたスピーカーへ
しかしアプリで発声したいものはそれを無視してiPhoneのスピーカーから出力したいということです。
例えばAndroidだとサウンドの出力チャンネルにアラームを指定すれば
イヤホンを差したままでもスピーカー利用してユーザーに知らせる事ができるようになります。
iOSは厳格なのでそのようなことは不可能でしょうか? >>15
知ってるけどお前の態度が気に入らない(AA略
楽して聞き出せると思うな >>17
どんなアプリを完成させようとしているのかな? 人工知能が人類を滅ぼす。
これはもうSFの中だけの話ではなくなった。
人工知能の暴走を阻止するために iOSアプリ開発者にキルスイッチの設置を義務づけるべきだ。
iOSアプリ開発者の頭と心臓とキンタマに爆弾毒薬などを設置し、人工知能(しり含む)を稼働可能なiOSデバイス向けのアプリをビルドしたら、キルスイッチが発動する仕組みをもうけよう。
できるだけ長い時間苦しんで死ぬようなキルスイッチの実装がいいと思う。 センター試験落ちた。defer 文氏ね!
defer文センター試験
下記の if文の(条件)が true のときと false のとき defer文の出力順序を答えなさい。
if (条件) {
defer { print("defer if") }
}
else {
defer { print("defer else") }
}
defer { print("defer 外") }
defer文は実行順序を複雑にして、バグを発生させるワナ。
分かりにくい defer文書く奴には脳にキルスイッチをつけろ! カスタムビュー内のUIViewのサブクラスを@IBInspectableで設定可能にする方法ってないですか?
例えばlabelをいくつか持っているカスタムビューをstoryboard上で設定したいときにlabelの設定項目がそのまま出てくる感じにしたいです
やはりlabelの設定項目と同期するgetter、setter作ってそれを@IBInspectableにするしかないですか? カードゲームのようなほぼ動きがないゲームを作りたいんですが、マルチプラットフォームだけを目当てにしたUnityでの開発ってどう思いますか?
Xamarinは難易度が高そうなので敬遠したいんですが >>26
Xamarinは開発環境整えるだけでも大変なのでは?
XcodeのSingle View Applicationの雛形を動かすだけでも、すごい手間って聞いているけど、最近は様子が変わったのかな? MySpeed(http://www.enounce.jp/)のような
ネット上の動画の再生速度を変えられるアプリを作りたいのですが、
どういうアルゴリズム?で書けばいいのでしょうか?
教えてください。 >>28
AVAudioPlayerクラスのrateプロパティー >>29
ネット上の動画を指定するにはどうすればいいですか? >>30
Alamofireで少しづつdownloadしながら、再生すればよろし downloadするだけなら、こんな感じ
let url = NSURL(string: "http://hoge.com/video.m4v")!
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(url, completionHandler: {
(data:NSData!, res:NSURLResponse!, err:NSError!) -> Void in
data.writeToFile("/path/to/download.m4v", atomically: false)
})
task.resume() 結局atsってどう対処するのが最新情報なんですか?
簡単なwebviewアプリを作ってて、uiwebviewでhttps非対応のサイトを表示したいだけなんですが、ググって出てくる情報がatsをオフにする方法ばかりでその通りにしてwebviewが真っ白なまま表示されない
2017年からはats無効にするだけじゃダメだとどこかで見たんですがそれのせいですか? >>35
分かりやすいページありがとうございます! アプリデータベースをどこかリモートに置きたいけど
無料な場所ならどこが良いでしょう?
推奨ってどこなのか アプリ開発初心者です。
Swiftでの開発の全体像を把握しやすいオススメ本を教えてください。
もたもたしてるうちに世界がどんどん変わってく。
本当はHTML5+JavaScriptで済ませたいけど。 >>39
About iOS App Architecture 別で書き込んだのですが、アドバイスを頂けなかったので、こちらでお聞きしたいのですが
itunes connectをの税金ページの登録をしてるのですが、tax infomationの入力方法をご存知ないですか?
ネットを調べても古い情報がしか出てこず、なんのこっちゃ分からない。。
U.S. taxpayer identification numberとか他、何か情報をご存知ないですか?
Appleに電話しても、こちらでは答えられないとか・・・ >>39
App Programming Guide for iOS. 下記は文字列を受け取って、整形した文字列を返すメソットの一部です。
配列 words になぜかカラの要素が出来てしまいます。
バグは修正したのですが、なんでカラのアイテムができるのか分かりません。
// let words = tripStr.components(separatedBy: [",", "."," ", " "])
let words = tripStr.components(separatedBy: separators)
// カラのアイテムを除去
let noEmptyWords = words.filter { (x) -> Bool in
!x.isEmpty
}
return noEmptyWords.joined(separator: " ") 仕様通りじゃないの?例えば
1,,2
という文字列を,で分割すると次の3つの要素を持つ配列が返ってくる
"1"
"" (空文字)
"2" 1, 2
みたいにカンマの後にスペースが入っててもなりそうだな >>44
レスありがとうございます。
区切り文字と区切り文字の間に何もないから、カラの要素ができる感じですね。
だから、連続して区切り文字があると、カラの要素ができる。
区切り文字が3つ続くと、から要素は2つできる?
デフォルトの挙動だから一手間かけて、カラの要素はどうにかするしかない。 // myDictionary : [String: Int]
// ↑ これを引数として受け取ってる
let kvArray = Array(myDictionary).sorted { $0.value > $1.value }
print("kvArray : \(kvArray)")
// [("sections", 4), ("bridge", 4), ("car", 3), ("this", 3), ("type", 2)]
辞書の値をソートして、表示するとこのコードです。
クロージャ内で $0.value $0.key を使いソート方法を指定するときちんと動くのですが、なんでこの指定が有効なのか分かりません。
kvArray の中身はタプルだから、辞書のように .key .value とかは使えないように思えるのですが... >>47
myDictionaryを初期化してる部分のコードを見せてくれ! >>47
中身がnamed tupleだからだと思うよ
(key: “sections”, value: 4)
あと通常は明示的にArrayにcastしなくてもいいんでないかな
myDictionary.sorted { $0.value > $1.value }
myDictionary.sorted(by: >) //keyでsort DictionaryのElementの定義
/// The element type of a dictionary: a tuple containing an individual
/// key-value pair.
public typealias Element = (key: Key, value: Value) 単に聞くことがもはやなくなったか
聞いてもまともに回答が来ないからかと
stackoverflowとか使った方が早い HTMLファイルの取得をするにはNSURLSessionを使えば良い事が判りました。
UIWebView WKWebView SFSafariViewControllerを使っても、URLを与えて、HTMLファイルをNSDataへ保存するってことができますか? UIWebViewやWKWebViewなら
JavaScript使って必要な部分をStringで返してもらえば保存できるよ
http://qiita.com/_tid_/items/8705275813e740d693ef
あと単にHTMLファイルを取得したいだけならStringのinit(contentOf:)系でもいけるよ
let url = "http://potato.2ch.net/test/read.cgi/mac/1484217623/53"
let html = try! String(contentsOf: URL(string: url)!, encoding: .shiftJIS)
print(html) みんなswiftなの?
俺はobjectivecから変える気が全く起こらんのだけど 特定のウェブサイトを表示するだけなのですが、前のページに戻る、進む、リロードなどの挙動をスワイプなりボタンなりで標準実装してるwebviewってありませんか? >>57
この方法で表示した場合、戻る、進む、リロードができないんです=͟͟͞͞(꒪ỏ꒪) >>59
3レス前ってのは>>53のことね
SafariServicesをimportして
let url = URL(string: "https://www.google.com/")!
let browser = SFSafariViewController(url: url)
present(browser, animated: true, completion: nil) >>60
ご丁寧に手順まで書いて頂きありがとうございます!! >>60
これをやってみたのですが、真っ白な画面のままなのですが何がいけないのでしょうか・・・ >>62
その3行をbuttonのイベントハンドラ内に書いてボタンをタップするか
viewDidAppearにでも書いて >>55
Objective-Cだよ。
新しい言語覚えるの面倒だし、多少枯れてるほうが安心。
Appleに移行を強制されるまではObjective-Cを使い続ける予定。 質問です。
Swift3で今アプリのお勉強をしているのですが、
AVCaptureSessionに、カメラとマイクを追加して、
最後、音声つきの動画(mp4)と音声(wav)を同時に出力したいのですが、
可能でしょうか?
AVCaptureSessionのaddOutputにAVCaptureMovieFileOutputを入れると、動画が出力されますが、
追加で、音声ファイル保存のインスタンスを入れたいのですが、適切なクラスが見当たりません。 >>63
viewDidLoadからviewDidAppearに処理を書き写した所無事表示されました!
ありがとうございます!
調べてみるとviewDidAppearだと画面が表示されてから処理されるみたいなので若干のタイムラグが気になります=͟͟͞͞(꒪ỏ꒪)
viewDidLoadではなぜうまくいかないのか宜ければ教えて頂きたいです・・・
ちなみにアプリを開いてボタン操作せずにいきなりwebの画面を表示したいです >>66
titleLable = UILabel(…)
titleLabel.text = “OK”
browser = SFSafariViewController(url: url)
present(browser, animated: true, completion: nil)
self.view.addSubview(titleLabel)
なんてコードを書いたとする。@viewDidLoad
ここは、
You usually override this method to perform additional initialization on views that were loaded from nib files.
なので、
titleLabel.text = “OK”
なんてコード(managing the view)を書くところで、
present(browser, animated: true, completion: nil)
なんていう(presenting the viewcontroller)コードを書いても無視される。 >>66
class A: SFSafariViewController {
}
ってファイルを作って、storyboard上のViewControllerをAに変更すれば、起動開始からSFSafariViewControllerが表示されます。
変更は、XcodeのUtility Area, Identitiy inspectorのCustom Classの所で行います。 >>68
>>69
ご丁寧にありがとうございます! 一つ質問。
Segmented Control なり Button なりを使って、ボタンを押したら繁体字中国語の手書きキーボードただ一つを入力デバイスと処理するコマンド(そのとき必然的にキーボード下部の地球儀マークは消える)がさっぱり分からない。
いくらググっても繁体字中国語の言語名はXcode上で zh-Hant または zh-TW である事しか掴めず、手書きキーボードの読み出し方も分からないし、そもそも手書きキーボードのXcode上での名称も分からない。
Apple Developer Suppotに何度尋ねても「分からない」の一点張り。完全に道が塞がれている。
Swiftでのご回答、お願いします。 >>71
手書きキーボードってのは何?
一体どんなものなの?
脳内にしか存在しないのなら、自分で実装するしかないんじゃない? こちらのページを参考に
http://dev.classmethod.jp/smartphone/run-on-devices-without-apple-developer-program-license/
xcodeにて実機テストをしたいのですが、添付させて頂いた画像の1番のiOS Development右のCreateボタンがありません。
原因が分かる方いらっしゃりますか?
xcodeのバージョンはVersion 8.2.1になります。 >>73
添付画像?
Createボタンなんかなくても実機テストできるっしょ。
俺のはResetボタンだった。 >>75
ちゃんと動くアプリができてからと思い、まだデベロッパープログラムに参加していないのでこの方法で証明書を作成しないと実機テストできないみたいなのです。 よく考えたらみなさんデベロッパープログラムに登録されてて当たりまえですよね。
けちくさい考えは捨てて登録してきます! >>69
Aというクラスファイルを作って以下を打ち込んだのですが
class A: SFSafariViewController {
let url = URL(string: "https://www.google.com/")!
let browser = SFSafariViewController(url: url)
present(browser, animated: true, completion: nil)
}
画像の部分がエラーとなってしまうのですが、書き方が悪いのでしょうか?
http://www.dotup.org/uploda/www.dotup.org1145091.jpg >>82
そのエラーの意味はclass Aのself(インスタンス)が利用可能になる前に
そのインスタンスのメンバ(ここではurl)を別のプロパティの初期化に利用することはできませんって意味
コピペだけで動かそうとするんじゃなくクラスとかイニシャライザとかの言語の基本をまず学んだほうがいいよ アプリ開発講座かなんかと勘違いしてるな
本でも買って基本から勉強すべき >>82
これでやってみて!
class A: SFSafariViewController {
let url = URL(string: "https://www.google.com/")!
init(url: url) {
}
} >>82
あと、参考までにどの程度のProgramming経験があるのでしょうか?
iOSアプリに興味があると言うのなら、大学生位なのかな?
よろしければ、教えてください。 >>86
import Foundation
let task = NSTask()
task.launchPath = "/usr/bin/osascript"
task.arguments = ["~/Desktop/testscript.scpt"]
task.launch() >>87
Opps!
wrong placeholder! >>82です
回答頂いた方ありがとうございます!
基本を学んで出直してきます。
>>86
javaを半年ほどやっていた経験があるだけです。 >>89
Javaかぁ、ホンのちょっとしかかじった事無いんだよねぇ。
今、Androidアプリの本を読んでるけど、必要に迫られて無いせいか、
まったく、ページが進まない。
もう一つ、Javaではどんな事を?半年ってことは、ホンのチョット触った感じなのかな?情報処理技術者試験の試験対策とか? 収益はadmobクリックからappleアフィ内課金コンバージョンへ移行している
アップルとの直受けで中抜きなし。内課金によるトラッキング 内課金のたびに収益が発生する
好きなアプリをオリジナルバナーを作ってユーザーに勧められる。
マリオランとか勧めたいんだよ。渋谷のクソーシャルゲームではなくて
渋谷のクソーシャルなんて売れんよ。クリックもされない。つまらんから youTubeに任天堂公認のマリオのプロモーション動画が上がっている。これをyouTubeSearchApiで取得する。
iTunesAPIからmarioRunの情報を取得する。この2つを組み合わせて動画広告を作る。アプリ起動時にプロモーション動画が流れ、
クリックするとアプリストアに飛ぶ仕組みを作る。
動画広告はクリック率が高い。毎日平均5%前後クリックされる(admobのアナリティクスを参照) 加えてマリオのゲームだ
クリック率はさらに高い。有名なゲーム会社は大抵youtubeにtrailer動画が上がっている。これを使って別の動画広告も作る。 テキストビューの一番下へ移動する処理について。
setContentOffset を使うと途中で止まるのはなぜでしょうか。
テキストは260行ほど。
一回手動で一番下までスクロールさせた後は、一番下までスクロールできるようになる。
// 初回に一番下まで移動しない。
// let bottomOffset = CGPoint(x: 0, y: mainTextView.contentSize.height - mainTextView.bounds.size.height + mainTextView.contentInset.bottom)
// mainTextView.setContentOffset(bottomOffset, animated: true)
// こっちはうまくいく
let bottomRange:NSRange = NSMakeRange(mainTextView.text.characters.count - 1, 1)
mainTextView.scrollRangeToVisible(bottomRange) おいプロビジョニングプロファイルの期限が近いって理由でアーカイブ化失敗したぞ
ギリギリまでやらせろよ何のための期限だよ
失敗させるなら失敗させる時点を期限にすればいいだろハゲ
あとプロビジョニングプロファイルって毎回打つの面倒なんだけど、
一般的な略称ないの? >>93
勘と妄想で答えるけど、
テキストの描画が終わってない段階だと
内部で高さが正確に求まってないんじゃない?
参照してる高さが、改行か何かで暫定的なものとか。
Swift触ったことないから知らないけど、Objective-CのUILabelのsizetofit的なものはないのかね。
sizetofitみたいなやつで描画後の正確な高さが分かってからスクロールするとか。
とりあえずスクロールしようとしてるとの高さと、最終的な実際の高さをログに出してみなよ。
その高さが違えば上記問題の可能性が高い。 iOS アプリ開発ヤクザたちのしのぎ
1. 電子麻薬(iOSアプリ)
暗号化された通信を行うオンライン闇マーケットで供給
2. iOS オンライン闇ガチャ賭博
3. 詐欺
実体の無い電子データ(課金アイテム)を売って、金銭詐取
1. 〜 3. のしのぎで稼いだ金で人工知能を開発し、人類を滅ぼそうとしてるのがiOSアプリ開発ヤクザだ。
山口組では薬は御法度だし、山口組は人類を滅ぼそうとしたりはしない。
このことから判断すると iOS アプリ開発ヤクザたちの反社会性は山口組より高い。
iOS アプリ開発マフィアはフィリピンのように裁判なしで即射殺することが、ベストプラクティスだ。
共謀罪を人類絶滅を目指す史上最悪のテロリストでもあるiOSアプリ開発者に厳格に適用すべき。
iOSアプリ開発を計画した段階で逮捕することが必要だ。
書店でiOSアプリ開発の本を手にとったり、xcode をダウンロードしたらテロを計画したとみなして逮捕するのが妥当だ。 iPad向けアプリっていまどうなんでしょう? 持ってる人少ないから作っても面白くないかな iPad専用は層が薄いだろうけど、、ユニバーサルならカテゴリによっては競争力になるかもね ■ このスレッドは過去ログ倉庫に格納されています