Objective-c から Swift



//Call From Objective-C To swift

#import "MyApp-Swift.h"


import Foundation

class SharedInfos: NSObject {
    static let shared: SharedInfos = SharedInfos()
    func someFlag() -> Bool {
            return true

Parse.com + Heroku + mongoDB Atlas




The mLab team has chosen to discontinue this add-on. The mLab MongoDB add-on will be removed from all Heroku apps on November 10, 2020. We advise you to remove the mLab MongoDB add-on yourself before September 1, 2020 via the Dashboard or the CLI.


Heroku はシャットダウン予告のメールの中で別の MongoDB Add-on の「ObjectRocket」への移行を提案していますが費用が発生してしまいます。

収益はAppleのせい(笑)で少ない為、費用を抑えたい!ですから今回は無料 Sandbox があるAtlas にします。






Error: invalid schema, expected mongodb at module.exports

調べてみるとparse serverのバージョンを最低でも2.8.4に上げなければいけないとのこと。






そしてconfig varにDATABASE_URIを使用するためにgithub上のコード(index.js)とherokuのconfig varを編集。MONGODB_URIは移行が完了して確認したら削除する。







Slack アプリの作成


起動したフォームに値を入力してCreate Appから登録します。


メニューからOAuth & Permissionsを選択します。


今回は最低限必要な以下の2つの権限をAdd an OAuth Scopeから設定します。

メニューからInstall Appを選択し、Install App to Workspaceをクリックします。
















<div class="comment-form">
<h3>Contact us</h3>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<input type="text" id="name" class="form-control" placeholder="NAME" aria-label="Name">
<div class="col-md-6">
<div class="form-group">
<input type="email" id="mail" class="form-control" placeholder="E-MAIL">
<div class="col-md-12">
<div class="form-group">
<textarea class="form-control" id="text" placeholder="Message"></textarea>
<div class="col-md-12">

<input class="originalButton" type="button" style="background:#00c0f0;color:#ffffff;" value="Submit Now" onclick="send(document.getElementById('name').value,document.getElementById('mail').value,document.getElementById('text').value)">
const send = (name,mail,text) => {
// console.log("POSTtext---"+text);
// console.log("POSTmail---"+mail);
// console.log("POSTname---"+name);
if(name == "" || mail == "" || text == ""){

return alert("必須項目を入力して下さい。");

const express = require("express");
const router = express.Router();
router.get('/sendSlack',async function(req,res){

var request = require("request")
var text = req.query.text;
var name = req.query.name;
var mail = req.query.mail;

// slack連携
request.post('https://slack.com/api/chat.postMessage', {
form: {
token: 'xoxbXXXXXXXXXXXXXXXXXXX', // slackのトークン
channel: 'test-1', // slackのチャンネル名
username: name, // slackに投稿される名前
text: 'mailto:'+mail+`
`+ text,
}, function (error, response, body) {


module.exports = router




Fatal Exception: NSInternalInconsistencyException Modifications to the layout engine must not be performed from a background thread after it has been accessed from the main thread.



Appdelegate.m obj-c

FilterNewShowViewController *shopViewC = [[FilterNewShowViewController alloc] initWithNibName:@"FilterNewShowViewController" bundle:[NSBundle mainBundle]];

>>>>shopViewC.modalPresentationStyle =  UIModalPresentationFullScreen;  

>>>>shopViewC.modalInPopover = YES;  //スワイプで消えなくなる。

self.window.rootViewController = shopViewC;

[self.window makeKeyAndVisible];
Viewcontroller.m obj-c
FilterNewShowViewController *shopViewC = [[FilterNewShowViewController alloc] initWithNibName:@"FilterNewShowViewController" bundle:[NSBundle mainBundle]];
>>>>shopViewC.modalPresentationStyle = UIModalPresentationFullScreen; //表示形式の選択
>>>>shopViewC.modalInPopover = YES; //スワイプで消えなくなる。
[self presentViewController:shopViewC animated:YES completion:nil];
let vc = UIViewController()
>>>>vc.modalPresentationStyle = .fullScreen;
>>>>vc.isModalInPresentation = true;
present(vc, animated: false, completion: nil)

Apple リジェクト3 Guideline 3.1.2 – Business – Payments – Subscriptions after Guideline 4.3 – Design [reject]

2018年12月7日 14:06
差出人: Apple
Guideline 3.1.2 – Business – Payments – Subscriptions

We noticed that your app’s metadata did not fully meet the terms and conditions for auto-renewing subscriptions, as specified in Schedule 2, section 3.8(b) of the Paid Applications agreement.

App Store Information
We were unable to find the following App Store Information items in App Store Connect.

– Information about the auto-renewable nature of the subscription in your app’s description:
• Title of publication or service
• Length of subscription (time period and content or services provided during each subscription period)
• Payment will be charged to iTunes Account at confirmation of purchase
• Subscription automatically renews unless auto-renew is turned off at least 24-hours before the end of the current period
• Account will be charged for renewal within 24-hours prior to the end of the current period, and identify the cost of the renewal
• Subscriptions may be managed by the user and auto-renewal may be turned off by going to the user’s Account Settings after purchase
• Any unused portion of a free trial period, if offered, will be forfeited when the user purchases a subscription to that publication, where applicable
– A link to the terms of use in either the app description or EULA field

Next Steps

To resolve this issue, please revise your app’s metadata to include this missing information. If the above information is in your app, please reply to this message in Resolution Center to provide details on where to locate it.


Hello XXX,

Thank you for providing this information.

Upon further review, we found that your app does not comply with the following guidelines:

Guideline 4.3 – Design

We noticed that your app provides the same feature set as other apps submitted to the App Store; it simply varies in content or language, which is considered a form of spam.

The next submission of this app may require a longer review time, and this app will not be eligible for an expedited review until this issue is resolved.

Next Steps

– Review the Design section of the App Store Review Guidelines.
– Ensure your app is compliant with all sections of the App Store Review Guidelines and the Terms & Conditions of the Apple Developer Program.
– Once your app is fully compliant, resubmit your app for review.

When creating multiple apps where content is the only varying element, you should offer a single app to deliver differing content to customers. If you would like to offer this content for purchase, it would be appropriate to use the in-app purchase API.

Alternatively, you may consider creating a web app, which looks and behaves similar to a native app when the customer adds it to their Home screen. Refer to the Configuring Web Applications section of the Safari Web Content Guide for more information.

Submitting apps designed to mislead or harm customers or evade the review process may result in the termination of your Apple Developer Program account. Review the Terms & Conditions of the Apple Developer Program to learn more about our policies regarding termination.

While your App Store Connect Application State shows as Metadata Rejected, we still require a new binary to correct this issue.

Best regards,

App Store Revie


Apple リジェクト2 Guideline 2.3.7 – Performance – Accurate Metadata [reject]


XXXX年XX月XX日 1:22
差出人: Apple
Guideline 2.3.7 – Performance – Accurate Metadata

Your app name or subtitle to be displayed on the App Store includes keywords or descriptors, which are not appropriate for use in these metadata items.

Specifically, the following words in your app name or subtitle are considered keywords or descriptors:


Next Steps

To resolve this issue, please revise your app name or subtitle to remove any keywords and descriptors from all localizations of your app. Keywords can be entered in the Keywords field in App Store Connect to be used as search terms for your app.

Before submitting your app to the App Store, ensure there are no unnecessary phrases, words, or descriptions in the app’s name, description, icons, preview, or other metadata fields. As a best practice, your app’s metadata should communicate the app’s value in as few words as possible.


For information on how to revise your app name, please review Renaming a Project or App.

For information on changing the app name and other metadata in App Store Connect, please review the View and edit app information page.

For resources on selecting a memorable and unique app name and subtitle, you may want to review the App Store Product Page information available on the Apple Developer website.

Since your App Store Connect status is Metadata Rejected, we do NOT require a new binary. To revise the metadata, visit App Store Connect to select your app and revise the desired metadata values. Once you’ve completed all changes, reply to this message in Resolution Center and we will continue the review.


Apple リジェクト 2. 3 Performance: Accurate Metadata 4. 3 Design: Spam [reject]


XXXX年X月XX日 15:41
差出人: Apple
2. 3 Performance: Accurate Metadata
4. 3 Design: Spam

Thank you again for your response.

If you would prefer to speak about this issue over the phone, we can arrange for an Apple Representative to call you within the next three to five business days to discuss your App Review issue.

To request a call, please reply to this message with the best phone number to reach you.

Best regards,

App Store Review


可能な限り問題解決センターやApp review Boardでやりとりをして文章化して記録に残しましょう。