[SWIFT] I stumbled upon the development and publication of my first iPhone app

Overview of the created app

It is a peripheral application of the PC online game "League of Legends" that is played all over the world.

The content is that you can read the background story of the characters (hereinafter, champions) displayed in here. Since we have the data locally, we can read the stories of the champions even in places where the radio waves are not stable.

As you can see from the Legal Jibber Jabber Policy, it says that you can do anything as long as you provide it for free ** (exaggeration) **. The development company RIOT GAMES is too hungry. That will revitalize the community.

In making this article

Swift history is about studying Swift for the first time in this application development (about 4 months). I couldn't read special English, so I had a hard time reading Reference.

There is a saying, "The wise man learns from history, and the fool learns from experience." I'm the latter, and I feel like I tried to release it with a spirit.

When it comes to the files that are created when you create a Swift project, Without studying what role it has, how it is referenced, how it is reflected, etc. I was continuing to develop apps in an atmosphere where this might have an effect. (In the next app, I'll investigate these files in detail and use them! Mochiron!)

Needless to say, if you continue to develop in such a situation, you will get moss at key points ...

If you're a Swift beginner and don't know anything, from the release to the release, share your stumbling blocks instead of notes.

App development

** Launch app in dark mode ** Info.plist file Added Appearance column (plus button on the right side of the value in the Key column) → Change Value to Dark. I think it can also be in light mode.

** Name to display under the app icon ** Info.plist file Bundle display name → Enter the name you want to display in Value 64424495ba63eba738b4317c425e4869.jpg

I think there were many other things, but I forgot. I regret that if I do not develop while opening Qiita, it will not be a memo.

App release

Until the release, I proceeded with reference to the following article. There were some differences, but the flow was almost the same, so I was able to proceed smoothly. Personally released iOS app by @prunzfrfx

** I want to release it only on iPhone ** It was impossible. It seems that iPad compatibility is a must because the iPad is equipped with iPhone compatibility mode.

It was pointed out that the display that I had no problem with on the iPhone was covered by the UI on the iPad. When I changed the Launch Screen File to UIViewController (returned to the default), everything was solved. I didn't make such a file, so why was it solved ... I don't know.

** Do not use proprietary encryption in the app ** App development beginners should not know the original encryption method ... When I checked "Not in use", Apple told me as follows.

Info from the beginning if you are not using your own encryption method.To split
App Uses Non-Exempt Encryption : No
Add it

Yes. I'm sorry.

** Error when uploading Xcode app ** Since it was rejected in the first review, I got the following error when it should have been uploaded for the second time after correcting it.

ERROR ITMS-4238: 
"Redundant Binary Upload. There already exists a binary upload with build version '1' for train '1.0'" at SoftwareAssets/PreReleaseSoftwareAsset

When I was looking for a solution, I found the following wording.

Error message that duplicate binaries with the same "Build" version have been uploaded.

So, like the image below, It's OK if you change the numbering of General → Identity → Build. I changed it from "1.0" to "1.1". 2394af8e5cef0a8edcdcb36182dbaa28.png

About the future

I honestly feel that I am glad that I was able to experience the development and publication of the application for the time being.

Now that we have created a LoL peripheral app, we have to automate it so that we can respond immediately if there is an update on the LoL side. I hope it will be easier to manage.

If such a foundation can be created, it seems that other LoL peripheral apps can also be created. I'm looking forward.

I wrote it as it was. that's all.

(If you have any problems with the content of the article, please contact me ...)

Recommended Posts

I stumbled upon the development and publication of my first iPhone app
I tried to summarize the key points of gRPC design and development
Fat Can, Docker and I look back on the quotes of First Gundam
I saw the list view of Android development collectively
I want to know the answer of the rock-paper-scissors app
Android app development points that old-fashioned programmers stumbled upon
Note that I stumbled upon building the Rails environment
I summarized the types and basics of Java exceptions
iOS app development: Timer app (5. Implementation of alarm and vibration)
What I stumbled upon in the ActiveModel :: Serializer test
I will explain the difference between Android application development and iOS application development from the perspective of iOS engineers
I didn't understand the behavior of Java Scanner and .nextLine ().
I tried to summarize the basics of kotlin and java
I tried JAX-RS and made a note of the procedure
[Java] I thought about the merits and uses of "interface"
Technical causes and countermeasures for the points I was addicted to with the first Android app & Kotlin
A note of what I stumbled upon and noticed in catching up with Laravel from Rails
NoCode Glide's first app development
The story of the first Rails app refactored with a self-made helper
I thought about the strategy of introducing Combine in iOS development
Read the first 4 bytes of the Java class file and output CAFEBABE
I tried to summarize the methods of Java String and StringBuilder
Released the No Todo app instead of Todo. .. (And notes on ridgepole)
Which class should I use to get the date and time in my Rails app (Time, DateTime, TimeWithZone)